CS 2011: Introduction To Machine Organization And Assembly Language
D20 (Freshman Year, Second Semester)



Course Description

“Cat. I This course introduces students to the structure and behavior of modern digital computers and the way they execute programs. Machine organization topics include the Von Neumann model of execution, functional organization of computer hardware, the memory hierarchy, caching performance, and pipelining. Assembly language topics include representations of numbers in computers, basic instruction sets, addressing modes, stacks and procedures, low-level I/O, and the functions of compilers, assemblers, linkers, and loaders. The course also presents how code and data structures of higher-level languages are mapped into the assembly language and machine representations of a modern processor. Programming projects will be carried out in the C language and the assembly language of a modern processor. Recommended background: CS 2301 or CS 2303, or a significant knowledge of C/C++.”



Languages/Technologies



Concepts Learned



Projects



My Experience

CS 2011 took a deep dive into low-level programming. The course involves writing C code manipulating bits of numbers, along with analyzing assembly language to exploit programs and solve assignment puzzles. The course helped me understand how languages work at a low conceptual level that has aided in understanding future courses and technology as a whole.