Daily Learning Notes for January 16, 2016

Time for more computer science studying with NAND2Tetris! Yesterday I read chapter 2 of The Elements of Computing Systems (PDF) and today I watched the video lectures on Coursera and started building the second project.

The video lectures were alright. They helped me review what I had read in the book yesterday. But I did feel a bit lost when they got to the part about converting decimal numbers into binary. How am I supposed to know how to break up any number into factors of 2?! Hmm. Trial and error, I guess. That was a neat trick, actually.

Then I started implementing the chips – first on paper, then in the hardware simulator:

  • Half adder: 6 min
  • Full adder: 8 min
  • 16-bit adder: 6 min
  • Incrementer: 7 min

These were so easy, I wondered if maybe I had actually done this before and forgotten about it! In any case, it was fun! The first project seemed to take an eternity to complete, so this was refreshing.

I still have yet to do the main part of the project, though: the arithmetic logical unit (ALU)! So I have that challenge to look forward to.


  • What’s the best technique for converting decimal into binary?

Learning summary (#TIL)

  • Implemented the half adder, full adder, 16-bit adder and incrementer!
  • Learned a technique for converting decimal numbers into binary.

Next steps

Time breakdown

  • Study time: 1 hour 27 min
    • Watching NAND2Tetris videos: 1 hour
    • Building project 2: 27 min