Skip to main contentSkip Navigation or Skip to Content

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.

Learning outcomes

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 topics

  • 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 should your course have a final exam, you are responsible for the fee to the online proctoring service, ProctorU, or to the in-person approved Testing Centre. Please contact exams@tru.ca with any questions about this.

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 Information

An Open Learning Faculty Member is available to assist students. Students will receive the necessary contact information at the start of the course.

Search To Top