Skip to main contentSkip to footer

Computer Science 122

Computer Architecture and Assembly Language

Course Syllabus

Course Description: Introduction to computer architecture, assembly language programming, system software and computer applications. Number systems and data representation. Internal organization of a computer. Primitive instructions and operations.

Please check the CS 122 Web Page each week for:

  • Weekly Lecture Slides
  • Weekly Reading Assignments
  • Project Assignments and Deadlines

Required Text:

Grading: Grading will be based on the following breakdown:

  • Quiz 1 10% 20 points
  • Midterm 20% 40 points
  • Quiz 2 10% 20 points
  • Final 30% 60 points
  • Projects (3) 15% 30 points
  • Online Coursework 15% 30 points

Needed Point Totals: A 175 points, B 150 points, C 120 points, D 100 points

NO, NO, NO Laptops, cell phones or Ipod/MP3 players are to be used during class lectures. Laptops may ONLY be used during lab time. Surfing the Internet during class time is reserved for class related web sites. Texting, chat rooms, sports sites and other non class related surfing is strictly prohibited. Violations of these rules may result in a penalty reduction of points.

Important Dates:

Please be sure to avoid scheduling conflicts with these dates.

See Back/Below for more Info

Student Learning Outcomes:

Evaluate the basic concepts of computer architecture and assembly language.

Course Outline

  1. Abstraction, Hardware Overview, Software Overview, Database Overview Reading Assignment - Chapter 1
  2. C++: Variables, Control Flow, Functions, Recursion, Memory Allocation Reading Assignment - Chapter 2
  3. Information Representation: Unsigned Binary, Two's Complement Binary, Binary Operations, Hexadecimal and Character Representations, Floating Point Representation Reading Assignment - Chapter 3
  4. Computer Architecture: Hardware, Direct Addressing, von Neumann Machines Reading Assignment - Chapter 4
  5. Assembly Language: Assemblers, Immediate Addressing, Symbols, Translation Reading Assignment - Chapter 5
  6. Compiling to the Assembly Level: Stacks, Branching, Functions, Parameters, Index Addressing, Memory Allocation Reading Assignment - Chapter 6
  7. Language Translation Principles: Languages Grammars and Parsing, Finite State Machines, Implementing Finite State Machines, Code Generation Reading Assignment - Chapter 7