This course introduces students to computer system design and architecture and low-level programming. This course covers fundamental aspects of computer system design and the relationship between the computer architecture (hardware) and computer programs (software). Topics include number representations, digital systems, building blocks in a computer, CPU organization, bus structures, addressing modes, memory managements, computer interfacing, low-level-programming and system software. Students will be able to apply principles and concepts to improve program efficiency and runtime. Programs will be written in C and x86-64 assembly languages.
Prerequisites
CMPT 1020 with a 'C' and MATH 1120 with a 'C'.
Missing prerequisites?
Learn more about VCC's academic upgrading or English as a Second Language (ESL) courses, or discover which university transfer options are right for you.
What you will learn
- Information Representation in Computers
Number Systems
Signed and Unsigned Integers
Bit Level Manipulation
Floating Point Numbers
Machine Level Programming
CPU Structure
CPU Registers
Arithmetic and Logical Operations
Bus Systems
Control Structures
Stack Structure
Calling Conventions: Passing Control and Data
Memory Organization
Memory Technology
Memory Layout
Virtual Memory and Address Translation
Exceptional control flow
Interrupts
I/O programming and interfacing
Multi-tasking
Parallel Computing
How to register
This course is offered as part of a VCC program only.
Course schedules
Select your program to see the available course schedules.
Contact us
If you have any question, please email at advising@vcc.ca.
† This information is intended as a guideline only. Program and course details are subject to change with the approval of VCC's Board of Governors.