Without CS degree

Learn on my own

I don’t have a CS degree so I’ve had to learn on my own. (@RandallKanna) This is the title of a twitter thread which is true for me. I found this thread a world of useful resources that a blog post to document them for later use is a good idea. Below are the original post and the links to the courses/material/videos. Start with a great intro course to get you excited about learning. [Read More]

Nand2tetris W5

Computer architecture

Last week, my wife came to BKK to see me and we had a wonderful short trip to Koh Lan island just 40 minutes away from Pattaya. It had been almost 2 months since we last met when i was in Vietnam back then, so that we did enjoyed our time together. Moreover, we accompanied 2 great friends in Son and Tik and all four of us took photos, shared stories and laughed so hard in that sea food restaurant while playing Tik-guessing game and drinking beers. [Read More]

Nand2tetris W4

Machine Language Programming

Background Every hardware platform is designed to execute commands in a certain machine language, expressed using agreed-upon binary codes. Writing programs directly in binary code is a possible, yet unnecessary. Instead, we can write such programs using a low-level symbolic language, called assembly, and have them translated into binary code by a program called assembler. Machine Language After making the gates and chips in previous 3 weeks, i had a chance to learn more about the machine language which is in binary form. [Read More]

Nand2tetris Week3

Memory & Hello Time

Background The computer’s main memory, also called Random Access Memory, or RAM, is an addressable sequence of n-bit registers, each designed to hold an n-bit value. In this project you will gradually build a RAM unit. This involves two main issues: (i) how to use gate logic to store bits persistently, over time, and (ii) how to use gate logic to locate (“address”) the memory register on which we wish to operate. [Read More]
learn  course  nand  logic  gate  RAM  memory 

Nand2tetris Week2

Boolean Arithmetic - Toughest challenge so far

Background The centerpiece of the computer’s architecture is the CPU, or Central Processing Unit, and the centerpiece of the CPU is the ALU, or Arithmetic-Logic Unit. In this project you will gradually build a set of chips, culminating in the construction of the ALU chip of the Hack computer. All the chips built in this project are standard, except for the ALU itself, which differs from one computer architecture to another. [Read More]
learn  course  nand  logic  gate  ALU  binary 

Nand2tetris Week1

Primitive Nand gate

Background A typical computer architecture is based on a set of elementary logic gates like And, Or, Mux, etc., as well as their bit-wise versions And16, Or16, Mux16, etc. (assuming a 16-bit machine). This project engages you in the construction of a typical set of basic logic gates. These gates form the elementary building blocks from which more complex chips will be later constructed. Here is what i have learnt in this week. [Read More]
learn  course  nand  logic  gate 

My Online Courses

Collection of my self-study things

2020

2019

2018

2017

2016