Computer Science
Generic Course Syllabus
(For actual course syllabi please consult the schedule of classes, determine the instructor for the courses and consult his or her home page.)


 
Course #: C335
Course Title: Computer Structures
Prerequisites: P: C151, C201. 
Credits: 4
Text Book:
Supplemental Texts: Class notes
Course Information:  Computer architecture and machine language; internal data representation; symbolic coding and assembly systems; macros; program segmentation and linking; I/O devices; serial communication. Projects to illustrate basic machine structure and programming techniques.
Other Information:  
* Introductory digital logic elements, such as AND, OR, EOR, NOT, and their use in components such as adders and memory, as background to more abstract descriptions of computer structures and machine-level instruction representation.

 * Abstract view of computer architecture: memory, cpu, buses, I/O. The
    stored program.  The fetch/execute cycle.

 * Integer, float, and character representations.  Relationship to data
    types in high-level languages.  Loss of precision with floats. Finite ranges with integer.  

 * Logical, arithmetic, shift operations.  Bit operations and masks.  
    Relationship to operations provided in high-level languages.

 * Memory as 1-dim array.  Mapping high-level data structures to 1-dim memory array. 

 * Flow of control operations.  Mapping high-level structured control to 
    assembly-level branches.

 * Registers.  Addressing modes.  

 * Procedures, parameter passing, the runtime stack. [Calling assembly
   language subroutines from a high-level language.]

 * The 2-pass assembly process.  Assembler directives.  Externals,
   linking, loading.

 * Overview of I/O, communication between I/O and CPU.

 * Interrupts and interrupt routines.

 * Exception processing and error handling.

 * Comparison of different architectures and instruction sets.