CS203 -- Computer Organization

Instructor: Prof Liew
Office: RISC 461
Office Phone: (610)330-5537
Email Address:   liewc AT lafayette.edu
Contact: Use the Scheduling Link to setup a Zoom meeting.
Please try to schedule at least 24 hours in advance. After I receive your request,
I will send you a Zoom meeting ID for the day/time that you requested.
Text Book:
  • Electronic textbook from zybooks: Here are the instructions for signing up for the textbook -
    1. Sign in or create an account at learn.zybooks.com
    2. Enter zyBook code: LAFAYETTECS203LiewFall2020
    3. Subscribe
  • The Practice of Programming by Kernighan & Pike (This textbook is recommended)

Course Objectives

  • ABET/CAC Outcome A -- An ability to apply knowledge of computing and mathematics appropriate to the program’s student outcomes and to the discipline.
  • ABET/CAC Outcome H -- Recognition of the need for and an ability to engage in continuing professional development.

You will learn:

  • how instructions in a high level language (e.g., Java) are translated, interpreted and executed by a computer
  • the main components of a computer (memory, CPU, disk) and their function
  • how computers do arithmetic in both integer and floating point
  • the role/functionality of assembly language and an assembler
  • how to write programs in an assembly language
  • how to write programs in the 'C' language
  • how computers implement the illusion that each program has the entire resources of the computer at its disposal
  • how programs (unknowingly) share the resources of the computer with each other

Grading Policy

The grade will be weighted approximately (subject to change) as follows:

  • team and classroom participation - 10%
  • 2 tests (during the semester) - 30% (15% each)
  • final exam - 20%
  • lab tests/assignments - 40%

Intellectual Honesty:

All students will adhere to the policy of intellectual honesty as described in the Student's Handbook. This policy covers the use of another person's writing, use of reference materials, use of other student's work, working together, and re-use of papers. If any intellectual dishonesty is detected, the suspect materials will be sent to the Dean of Studies for review.

Class Schedule

(subject to change)




Week 1
  • Read Chapter 1.1, 1.2 for this week
  • Read Ch 1.3, 1.4 for next week
Week 2
  • More big picture
  • data representation - char, string, int
  • call stacks, call frames
  • Read Ch 2.1, 2.2 for Thursday 8/27
  • Read Ch 2.3, 2.4 for Tuesday 9/1
Week 3
  • basic instructions
  • Machine Models
  • Registers/Memory
  • Introduction to Assembler
  • Read Ch 2.5, 2.6 for Thursday 9/3
Week 4
  • Calling Conventions - Save/Restore Context
  • Memory Allocation - Heap, Stack, Global
  • Read Ch 2.7, 2.8 for Tuesday 9/8/2020
  • Read Ch 2.9, 2.10 for Thursday 9/10/2020
Week 5
  • Lab Test #1: 9/14/2020
Week 6
  • Exam 1: 9/21/2020
Week 7
  • Memory Hierarchies
Week 8
  • Address Mapping/Translation
Week 9
  • Caching
  • Lab Test #2: 10/12
  • Project 1 Due: 10/17
Week 10
  • Virtual Memory
Week 11
  • Virtual Memory, Address Translation and Caching
Week 12
  • Putting It All Together
  • Exam #2: 11/02/2020
  • Last day to withdraw from classes - 11/02/2020
Week 13
  • Floating Point
  • Lab Test #3: 11/11
Week 14
  • Code Optimization - Assembler
  • Code Optimization - Memory
  • Project 2 Due: 11/21
Week 15
  • Thanksgiving
Week 16
  • Final Exam: TBD

The student work in this course is in full compliance with the federal definition of a four [two or one as appropriate for half and quarter unit courses] credit hour course. Please see the Registrar’s Office web site (http://registrar.lafayette.edu/additional-resources/cep-course-proposal/) for the full policy and practice statement.

Privacy Statement
Moodle contains student information that is protected by the Family Educational Right to Privacy Act (FERPA). Disclosure to unauthorized parties violates federal privacy laws. Courses using Moodle will make student information visible to other students in this class. Please remember that this information is protected by these federal privacy laws and must not be shared with anyone outside the class. Questions can be referred to the Registrar's Office.

Academic Accommodation
In compliance with Lafayette College policy and equal access laws, I am available to discuss appropriate academic accommodations that you may require as a student with a disability. Requests for academic accommodations need to be made during the first two weeks of the semester, except for unusual circumstances, so arrangements can be made. Students must register with the Office of the Dean of Advising and Co-Curricular Programs for disability verification and for determination of reasonable academic accommodations.
Proper Usage of Course Materials
At Lafayette College, all course materials are proprietary and for class purposes only. This includes posted recordings of lectures, worksheets, discussion prompts, and other course items. Such materials should not be reposted. Online discussions should also remain private and not be shared outside of the course. You must request my permission prior to creating your own recordings of class materials, and any recordings are not to be shared or posted online even when permission is granted to record. If you have any questions about proper usage of course materials feel free to ask me. Also, if you have any concerns with being recorded during the course please let me know.