Introduction to Computer Architecture

Science & Technology
Computing Science
Course Code
CMPT 2395
Semester Length
15 Weeks
Max Class Size
Method(s) Of Instruction
Typically Offered
To be determined


Course Description
This course introduces students to fundamental aspects of computer system architecture and low-level programming. Topics include data representations, building blocks of computers, central processing unit organization, bus structures, memory management, computer interfacing, assembly programming, and system software. Students will apply principles and concepts learned in this course to improve program efficiency and reliability. Programs will be written in C and x86-64 assembly languages.
Course Content
  • Data representation in computers
  • Number systems
  • Signed and unsigned integers
  • Bit-level manipulation
  • Floating-point numbers
  • Machine-level programming
  • Central processing unit structure
  • Registers
  • Arithmetic and logical operations
  • Bus systems
  • Control unit structures
  • Stack structure
  • Calling conventions: passing control and data
  • Memory organization
  • Memory technology
  • Memory layout
  • Virtual memory and address translation
  • Exceptional control flow
  • Interrupts
  • Input/output programming and interfacing
  • Multi-tasking
  • Parallel computing
Learning Activities

The methods of instruction for this course will include lectures, labs, and self-directed learning (programming assignments).


Means of Assessment

Evaluation will be carried out in accordance with the Douglas College Evaluation Policy. The instructor will present a written course outline with specific evaluation criteria at the beginning of the semester. Evaluation will be based on the following:





Term tests


Final Exam




* In order to pass the course, in addition to receiving an overall course grade of at least 50%, students must achieve a grade of at least 50% on the combined weighted examination components (term tests and final examinations).

Learning Outcomes

Upon completion of this course, successful students will be able to:

  • represent numbers in decimal, binary, and hexadecimal systems and perform arithmetic operations in those systems;
  • define fixed-point and floating-point binary numbers;
  • explain the building blocks of computers;
  • describe how various components of modern computers function;
  • design and implement programs in assembly language;
  • describe the fundamental principles of the central processing unit and control unit design;
  • explain how the central processing unit and other components exchange information;
  • describe the complexity and speed of various architectural components and;
  • describe hardware and system software techniques for input and output device interfacing.
Textbook Materials

Consult the Douglas College Bookstore for the latest required textbooks and materials.

Sample text: “Computer Systems: A programmer’s Perspective” by Randal E. Bryant, David R. O'Halloran, Latest edition, Pearson.



A minimum grade "C" in CMPT 1209 and MATH 1130


No corequisite courses.


No equivalent courses.

Course Guidelines

Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester / year of the course, consider the previous version as the applicable version.

Course Transfers

These are for current course guidelines only. For a full list of archived courses please see

Institution Transfer Details for CMPT 2395
Alexander College (ALEX) ALEX CPSC 250 (3)
Athabasca University (AU) AU COMP 3XX (3)
Coast Mountain College (CMTN) No credit
College of New Caledonia (CNC) CNC CSC 214 (3)
College of the Rockies (COTR) COTR COMP 2XX (3)
Columbia College (COLU) COLU CSCI 250 (3)
Coquitlam College (COQU) COQU CSCI 250 (3)
LaSalle College Vancouver (LCV) LCV VGP 2XX (3)
North Island College (NIC) NIC CPS 2XX (3)
Northern Lights College (NLC) NLC ITEC 1XX (3)
Okanagan College (OC) OC COSC 2XX (3)
Simon Fraser University (SFU) SFU CMPT 295 (3) or SFU CMPT 2XX (3)
Thompson Rivers University (TRU) TRU COMP 2130 (3)
University Canada West (UCW) UCW CPSC 2XX (3)
University of British Columbia - Okanagan (UBCO) UBCO COSC 211 (3)
University of British Columbia - Vancouver (UBCV) UBCV CPSC 2nd (3)
University of Northern BC (UNBC) UNBC CPSC 231 (4)
University of the Fraser Valley (UFV) UFV COMP 2XX (3)
University of Victoria (UVIC) UVIC CSC 230 (1.5)
Vancouver Community College (VCC) VCC CMPT 2295 (3)
Vancouver Island University (VIU) VIU CSCI 261 (3)
Yorkville University (YVU) YVU GES 2XXX (3)

Course Offerings

Summer 2023