Skip to content

Add Discrete Math as a prerequisite for nand2tetris course#1409

Open
SeanbReyes wants to merge 1 commit intoossu:masterfrom
SeanbReyes:discrete-math-nand2tetris-prerequisite
Open

Add Discrete Math as a prerequisite for nand2tetris course#1409
SeanbReyes wants to merge 1 commit intoossu:masterfrom
SeanbReyes:discrete-math-nand2tetris-prerequisite

Conversation

@SeanbReyes
Copy link
Copy Markdown

I have found that taking Discrete Math before Nand2Tetris and although I haven't had the experience of other students, the circuit design and gate logic can be very hard and frustrating if you don't have ways around it that helps u implement these things, like Karnaugh maps or Quine-McCluskey methods. It also develops a logic, mathematical thinking that is very valuable when taking Nand2Tetris and computer systems in general. Please consider this request.

@kevintprivett
Copy link
Copy Markdown
Contributor

I'm not in favor of adding prerequisite courses that aren't specifically called out by the course itself. The Nand2Tetris syllabus only has an Intro to CS course as the prerequisite.

I don't follow the comment about Karnaugh maps and Quine-McCluskey algorithms. I don't see either mentioned in the textbook for discrete math, so I'm not sure how it's relevant to this discussion.

The projects in this course can be challenging and they only give you enough to get started, they definitely don't give you the answers on a platter. Many high quality CS courses are challenging in this way. I don't think that requiring discrete math as a prerequisite will change that.

Ref:

Nand2Tetris Syllabus
MCS Textbook (2018)

@PauloDaniel1993
Copy link
Copy Markdown

I think it would be good to have a "nice to have" for a given course. While I agree that this would not be a prerequisite, when I did the Nand2Tetris and when I went to get formal education in CS, while neither of then talked about Karnaugh maps and Quine-McCluskey, I had prior knowledge of these concepts as I did a course in Mechatronics before. It really make easier to develop a logic, mathematical thinking that is very valuable in CS in general.

Not sure if not putting something useful here just because many high quality CS courses do not do it is the right approach. We should remember that many high quality CS courses have people that, technically, are expected to help students. At least, I am in favor of putting it in a place where someone that doesn't know it exists may gain this knowledge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants