COMP 2131: Introduction to Computer Systems

Students learn the basic concepts of computer systems. Students are introduced to the concepts of computer architecture, the ‘C,’ and assembly programming languages as well as the use of Linux operating system. Students learn about memory organization, data representation, and addressing. Students are introduced to the concepts of machine language, memory, caches, virtual memory, linkage and assembler construction as well as exceptions and processes.

Objectives

After successfully completing this course, students will be able to:

  • Describe the fundamentals of computer architecture
  • Write programs with the powerful C programming language
  • Demonstrate programming through assembly language
  • Explain the critical relationship between programming and computer architecture
  • Demonstrate efficient programming through code optimization

Course outline

  • Basic concepts of digital systems
  • Computer Abstraction and Technology
  • Introduction to Linux OS and C Language
  • Memory Organization, Data representation, and Addressing
  • Basics of Architecture, Machine Code
  • Machine Level Programming
  • Memory and Caches
  • Linking
  • Exceptions and Processes
  • Virtual Memory

Required text and materials

Bryant, R.E., & O’Hallaron, D.R., (2016). Computer Systems: A Programmer’s Perspective (3rd Ed.). Prentice Hall.
Type: Textbook ISBN 10: 013409266X

Kernighan, B.W. & Ritchie, D. (1988). The C Programming Language Prentice Hall.
Type: Textbook ISBN 10: 0-13-110362-8

Assessments

Please be aware that due to COVID-19 safety guidelines all in-person exams have been suspended. As such, all final exams are currently being delivered through ProctorU, which has an approximate fee of $35 involved. There will be more information in your course shell, on how to apply, if your course has a final exam.

To complete this course successfully, students must achieve 50% or higher on the overall course, and 50% or higher on the final mandatory examination.

Quiz 1 6%
Written Assignment 1 7%
Programming Assignment 1 8%
Programming Assignment 2 10%
Quiz 2 6%
Written Assignment 2 8%
Programming Assignment 3 10%
Final Examination * 45%
Total 100%

Open Learning Faculty Member

An Open Learning Faculty Member is available to assist students. Primary communication is through the Learning Environment’s “Mail” tool or by phone. Students will receive the necessary contact information at start of the course.

Search To Top