Computing Science 220 introduces the student to computer organization and assembly programming. The assembly language programming component considers machine independent data representation, memory addressing and the software components of the operating system such as the assembler, the linker and the loader. A hardware description language is used as a tool to express and work with design concepts. This course considers dynamically allocated structures and continues the study of program and small system design. The linked structures, lists, stacks, queues and trees are considered in a number of realistic applications including simulations, operating systems and databases.
Recursion is used extensively.
This course introduces the student to digital circuit design and construction. VLSI circuits including microprocessors are also considered.