Lecture: 2 hours/week
Lab: 2 hours/week
The methods of instruction for this course will include lectures, labs, and self-directed learning (programming assignments).
- Data representation in computers
- Number systems
- Signed and unsigned integers
- Bit-level manipulation
- Floating-point numbers
- Machine-level programming
- Central processing unit structure
- 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
- Input/output programming and interfacing
- Parallel computing
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.
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:
* 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).
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.