|
Catalog Description: |
Through a series of hardware and software tasks, students are introduced to the lower level design and operation of computers. Topics include computer hardware, computer architecture, assembly language, high-level languages and compiler design. (Offered fall semester only.)
|
| Prerequisites: |
CIS 284 Computer Programming II; programming in a high-level language, such as Pascal.
|
|
Required Course Materials: |
Noam Nisan and Shimon Schocken, The Elements of Computer Systems: Building a Modern Computer from First Principles, 1st edition, MIT Press, 2008 (ISBN: 978026214087)
|
|
Course Coordinator: |
David R. Owen, Associate Professor of Computer Science
|
|
Course Audience: |
Computer and Information Science majors and minors
|
|
Course Objectives: |
|
- To construct a simplified computer processor from lower-level digital electronic devices.
- To write simple programs in that processor architecture’s assembly language.
- To write an assembler that translates from that assembly language to a machine language that can be executed on that processor.
- To write a compiler that translates from a high-level programming language to that assembly language.
- To write simple programs in that high-level language.
- To develop skills in computer programming related to translating from one data representation into another; to describe tradeoffs inherent in different data representations.
|
|
Topics: |
- Boolean logic, binary arithmetic
- Design of combinational and sequential logic circuits
- Computer architecture, machine language
- Assembly language
- Two-step process for translating from high-level to assembly language (stack-based intermediate language)
- Compilation (syntax analysis, code generation)
|
| |