sci-42ver / Discrete_Mathematics_and_Algorithm

CRLS 4th and "Discrete Mathematics and Its Applications" (DMIA) 8th book notes and solutions (Also with mcs_2018.pdf and The Algorithm Design Manual)
0 stars 0 forks source link

:wave: Hi there #1

Closed spamegg1 closed 4 months ago

spamegg1 commented 4 months ago

I noticed you linked to my Math for CS solutions repository. Thanks!

In case you didn't know, I also have full solutions to Susanna Epp's book (5th edition): https://github.com/spamegg1/Epp-Discrete-Math-5th-solutions/

If you are going through Epp's book, feel free to ask me questions on Discord (I'm spamegg1 on Discord).

Also consider enabling "Github Discussions" on your repository. (It's under Settings)

Have fun mathing! :rocket:

sci-42ver commented 4 months ago

Thanks for your solutions for mcs 2019 IN-CLASS QUESTIONS and ASSIGNMENTS although they don't cover all problems in the book.

I have read Discrete Mathematics and Its Applications 8th and is reading spring18 mcs.pdf recommended by teachyourselfcs to fill some possible gaps. (I have a bit allodoxaphobia, so I prefer teachyourselfcs to ossu)


Thanks for your suggestion of enabling "Github Discussions", I will do that. Almost all of my notes are in markdown which may have 10k+ lines although some are in latex to enable graphs / pseudocodes, etc. Due to github search constraints, my markdown may be too big to be searched.


This is the 1st time for me to share notes with others on websites. Maybe they have many errors. Forgive that.

spamegg1 commented 4 months ago

Thanks for your solutions for mcs 2019 IN-CLASS QUESTIONS and ASSIGNMENTS although they don't cover all problems in the book.

Yeah, I considered doing that but... it would take me years to write it all up! Hopefully someone can pick up where I left off and add the missing problems.

Almost all of my notes are in markdown which may have 10k+ lines although some are in latex to enable graphs / pseudocodes, etc. Due to github search constraints, my markdown may be too big to be searched.

Yeah I noticed a big slowdown / unresponsiveness on Github when I was browsing this repository. Of course this is up to you and you don't have to do it, but you might consider breaking them up into smaller files.

sci-42ver commented 4 months ago

Yeah, I considered doing that but... it would take me years to write it all up! Hopefully someone can pick up where I left off and add the missing problems.

Sorry. I don't have much time. My purpose of reading mcs is to read its main contents and reference problems without doing all problems because I have done almost all problems (all even number and asterisk) in Discrete Mathematics and Its Applications. The latter has detailed answers for even number exercises and brief answers for odd ones. The learning process will be more effective IMHO when doing exercises with answers and that saved much time to search for answers to verify whether self answers are right. It took me about 4 months. I have to say it really takes much time to solve with maths calculation and proof than reading one CS introduction book like ostep or "Computer organization and design" which each took me about 2 months.

Yeah I noticed a big slowdown / unresponsiveness on Github when I was browsing this repository. Of course this is up to you and you don't have to do it, but you might consider breaking them up into smaller files.

I noticed this problem until recently. I planned to set up one website with inherent search feature to store all notes of books I read. But currently I need to read the required books to prepare for the future job review. (I am not smart. It has taken me about 1 year to read 4 books.) The website setup is a bit off the point. Forgive me.

spamegg1 commented 4 months ago

Sorry. I don't have much time.

Ah OK no worries, I guess I misunderstood when you said "although they don't cover all problems in the book." I don't advocate for solving all problems in the Math for CS MIT book anyway. Too much overkill. I agree.

Epp's book is much better in that regard, that's why I decided to write full solutions for that, not the MIT book.

Moreover I disagree with the somewhat common view that Epp by itself isn't "enough" and one needs to do both Epp and Math for CS because Math for CS is "the real thing" because "it's MIT". No, Epp is perfectly sufficient by itself. You would have been fine just doing Epp.

I am not smart. It has taken me about 1 year to read 4 books.

Don't sell yourself short! That's already pretty good.

Going slow can actually have many benefits. It's more impressive you went through it slowly despite not having much time. Most people panic and just try to "finish" something.

Also, consider not using "time speed" as measurement of success or smartness. Time is a very poor measurement of most things, but we tend to go towards it instinctively (day/night cycle built into biology).

Many people go through fast without retaining knowledge. Many people claim they went through a book fast, so they are smart. None of these things are signs of actual intelligence.

Cognitive / metacognitive measurements are much more accurate, but much more difficult to do:

and so on.

I planned to set up one website with inherent search feature to store all notes of books I read. ... The website setup is a bit off the point. Forgive me.

I think that's overkill, you can just split your existing files into smaller files. That should be much easier to do than creating a website.

sci-42ver commented 4 months ago

Moreover I disagree with the somewhat common view that Epp by itself isn't "enough" and one needs to do both Epp and Math for CS because Math for CS is "the real thing" because "it's MIT". No, Epp is perfectly sufficient by itself. You would have been fine just doing Epp.

Maybe you misunderstood me. I read Discrete Mathematics and Its Applications instead of Epp because one of my friends says the former is OK and at that time I didn't take much time to choose books.

mcs.pdf has something Discrete Mathematics and Its Applications doesn't have like ZFC, etc. So I will give one brief reading of mcs.pdf to fill possible gaps.

Can I explain it easily to someone else who hasn't studied the subject?

Yes. it is what Ferman recommends.

I think that's overkill, you can just split your existing files into smaller files. That should be much easier to do than creating a website.

I will do that for Discrete_Mathematics_and_Its_Applications/README.md as the simple first step to share notes. When leisure, I may write one simple awk/bash script to transform the other markdown files.

sci-42ver commented 4 months ago

I have splitted Discrete_Mathematics_and_Its_Applications/README.md into 3 files README.md, DMIA_Exercises.md, DMIA_Exercises_2.md in Discrete_Mathematics_and_Its_Applications/ dir. They share the bottom link list for simplicity.

It seems that the bottom link list can't be searched. Github needs some time to index the repo. So only some time after the above change, we can search as expected. Currently it works fine.


Feel free to point out any errors.

sci-42ver commented 4 months ago

Originally I want to use git commit --amend to add the "." to the commit message. But that caused the above duplicate commits referred to in the issue. Then I tried to keep only one.

I haven't deleted commits from Github repo before. I didn't know deleted locally commits can't be reflected on the remote GitHub repo. I have requested "clear cached views". Wait for that to take effects.

spamegg1 commented 4 months ago

I haven't deleted commits from Github repo before. I didn't know deleted locally commits can't be reflected on the remote GitHub repo.

Yes. Deleting is very bad in the Git world. Instead, you want to revert back to an earlier commit, then push. That works.

If command line is too un-intuivite / confusing, you can use a free Git GUI, like Gitkraken: https://www.gitkraken.com/ It shows you the commit timeline visually, so you can right-click on an earlier commit and "revert back to this point".

sci-42ver commented 4 months ago

Thanks for your patient help.

Instead, you want to revert back to an earlier commit, then push. That works.

That seems to only work locally but not remotely. See the detailed problem in my requested ticket. I normally check all my commits using git log --graph --decorate $(git rev-list --all).

spamegg1 commented 4 months ago

That's weird. It sure works for me. Here's an example https://github.com/spamegg1/Math-for-CS-solutions/commit/988a7c50e0a45282d80ebc59ad4442b5f9565044

The ticket link is not available.

sci-42ver commented 4 months ago

I can view the link https://github.com/spamegg1/Math-for-CS-solutions/commit/7d039df5235f7ef4ebaf6e5ed50e9bb23dfe6cef although it is empty.

I want to make the above "referenced this issue" list size from 5 to 1.

My ticket says

Please help clear my repo by removing unnecessary commits which has been deleted from the local repo. This can be checked by git show commit_id locally.

Sorry for issuing many "Clear Cached Views" for each commit.

I want https://github.com/sci-42ver/Discrete_Mathematics_and_Algorithm/issues/1 only have one commit 624d7cc referencing it.

Thanks in advance.

If that can't be achieved, it has no harmful effects but just with the above weird reference list.

spamegg1 commented 4 months ago

Sorry again if there is a misunderstanding. I was simply trying to show that revert works. The particular commit I picked was not a good example I guess, because it's just renaming a file with no changes.

Anyway, if you want to show only 1 commit, you need to squash commits. Do not delete anything ever under any circumstances. Locally or remotely. Deleting is very very bad.

But squashing is also considered bad practice. Having smaller intermediate commits is considered much better. Instead of editing thousands of lines in one commit, it's better to do it in multiple smaller commits, and give each commit some meaningful message. This also has the advantage of being able to revert in a more fine-grained way.

Anyway I think I chatted up too much! Have a good one. :wave: