22c:16 Assembly Language and Computer Architecture
To develop an understanding of the relationship between programming and
the machines we use to execute programs. This includes an understanding
of the essential features of those machines, with detailed focus on one
example, plus an understanding of the translation process from source
language to machine languag and an understanding of the classical fetch
execute model for execution of programs.
Students coming out of 18 should be able to hand translate all of the
classic control structures and data structures of high level languages
such as C or Pascal to an example assembly language, and they should be
able to translate individual instructions from that assembly language to
10% A) Data Representation
10% B) Computation
30% C) Architecture
30% D) High level constructs
10% E) Advanced Material
Five or six programming assignments
plus programming snippets in homework assignments.
Programming assignments will usually emphasize assembly language, but
higher level languages may also be used to illustrate translation.
course specs list
22C:18, current or most recent offering