Introduction to Computer Architecture

Faculty
Science & Technology
Department
Computing Science
Course Code
CMPT 2395
Credits
3.00
Semester Length
15 Weeks
Max Class Size
35
Method Of Instruction
Lecture
Lab
Typically Offered
To be determined

Overview

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
Methods Of Instruction

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:

Labs

5-25%

Assignments      

0-20%

Term tests

25-35%

Final Exam

30-40%

Total

100%

* 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.

Requisites

Prerequisites

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

Corequisites

No corequisite courses.

Equivalencies

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

Institution Transfer Details Effective Dates
There are no applicable transfer credits for this course.

Course Offerings

Fall 2021

CRN
Days
Dates
Start Date
End Date
Instructor
Status
37015
Mon Wed
07-Sep-2021
- 08-Dec-2021
07-Sep-2021
08-Dec-2021
Khosravi
Shahriar
Open
Max
Enrolled
Remaining
Waitlist
35
23
12
0
Days
Building
Room
Time
Mon Wed
New Westminster - North Bldg.
N6111
16:30 - 18:20