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
- 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
The following materials are required for this course:
- Bryant, R.E., & O’Hallaron, D.R., (2016). Computer Systems: A Programmer’s Perspective (3rd Ed.). Prentice Hall.
ISBN: 9780134092669. Type: Textbook. - Kernighan, B.W. & Ritchie, D. (1988). The C Programming Language (2nd Ed.). Prentice Hall.
ISBN: 978-0-13-110362-7. Type: Textbook.
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 successfully complete this course successfully, students must achieve 50% or higher on the overall course, and 50% or higher on the final mandatory exam.
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% |
Mandatory Final Exam | 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.