CSE 202 Computer Organization and Architecture (3)

Instructor:

Jason Loew, Michael Spear (Spring 2016)

Current Catalog Description:

Interaction between low-level computer architectural properties and high-level program behaviors: instruction set design; digital logics and assembly language; processor organization; the memory hierarchy; multicore and GPU architectures; and processor interrupt/exception models.  Credit will not be given for both CSE 201 and CSE 202.  Prerequisite: CSE 17 or CSE 18.

Textbook:

Randal E. Bryant and David R. O'Hallaron, "Computer Systems: A Programmer's Perspective", 3rd Edition, Pearson, 2015, ISBN 978-0134092669

COURSE OUTCOMES

Student will have

  1. Understand data representations as they are interpreted by the machine
  2. Link high-level programming understanding to low-level logic
  3. Understanding of the different levels of the memory hierarchy and how they influence the machine

RELATIONSHIP BETWEEN COURSE OUTCOMES AND STUDENT ENABLED CHARACTERISTICS

CSE 202 substantially supports the following student enabled characteristics

A. An ability to apply knowledge of computing and mathematics appropriate to the discipline.

J. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.

Prerequisites by Topic

  1. Top-down design
  2. Primitive data types
  3. Repetition and selection
  4. Recursion
  5. Object-oriented programming
  6. Fluency with Java

Major Topics Covered in the Course

  1. Data Representations: Bits/Bytes
  2. Data Representations: Intergers/Floating Point
  3. Data Manipulation: Intergers/Floating Point
  4. Machine Programming: Control Flow
  5. Machine Programming: Procedures and the Stack
  6. Machine Programming: Alignment and Memory
  7. Selected Machine Optimization Topics
  8. The Memory Hierarchy
  9. Linking
  10. Exceptions and Processes
  11. Signals and Nonlocal Jumps
  12. Virtual Memory
  13. Dynamic Memory Allocations
  14. System I/O
  15. Network Programming
© 2014-2016 Computer Science and Engineering, P.C. Rossin College of Engineering & Applied Science, Lehigh University, Bethlehem PA 18015.