CMPT 2295: Introduction to Computer Architecture
Effective date
September 2020
Department
UT Computing Science&Software
Description
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.
Year of study
2nd Year Post-secondary
Prerequisites
CMPT 1020 with a 'C' and MATH 1120 with a 'C'.
Course Learning Outcomes
Upon successful completion of this course, students will be able to:
- Describe numbers of various bases and arithmetic operations
- Define fixed point and floating point numbers
- Explain the building blocks of computers
- Describe how various components of a modern computer function and cooperate
- Evaluate various trade-offs in computer system design
- Design and implement programs in machine and assembly languages
- Describe the fundamental principles of CPU and control unit design
- Demonstrate an understanding of the relationship between the machine language and the computer hardware in the context of functionality and complexity
- Describe how various computer components interact in order to exchange information
- Describe the complexity and speed of various architectural components
- Describe hardware and software techniques for input and output device interfacing
- Describe how I/O systems work
Prior Learning Assessment & Recognition (PLAR)
None
Hours
Lecture, Online, Seminar, Tutorial: 45
Clinical, Lab, Rehearsal, Shop, Kitchen, Simulation, Studio: 15
Total Hours: 60
Instructional Strategies
Lectures and computer labs (and assignments)
Grading System
Letter Grade (A-F)
Evaluation Plan
Type
|
Percentage
|
Assessment activity
|
Assignments
|
20
|
In class and take home assignments
|
Midterm Exam
|
35
|
2 Midterms; 17.5% each
|
Lab Work
|
10
|
|
Final Exam
|
35
|
|
Course topics
- 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
Notes:
- Course contents and descriptions, offerings and schedules are subject to change without notice.
- Students are required to follow all College policies including ones that govern their educational experience at VCC. Policies are available on the VCC website at:
https://www.vcc.ca/about/governance--policies/policies/.
- To find out if there are existing transfer agreements for this course, visit the BC Transfer Guide at https://www.bctransferguide.ca.