CSCI 263 — Winter 2025
This course covers basic computer arithmetic, architectures, and instruction sets; in-depth study of the central processing unit, memory and input/output organization; and microprogramming and interfacing.
Professor
Dr. James Hughes
jhughes at stfx.ca
Annex 20B
GitHub Repo
The course content is available on GitHub
Feel free to submit issues, fork the repo, and submit pull requests
Follow the guidelines
In other words, feel free to make contributions to the course content
In fact, I encourage this
Class Times
Tue 9:30 – 10:20 (L1), MULH 4024
Thr 8:30 – 9:20 (L2), MULH 4024
Fri 10:30 – 11:20 (L3), MULH 4024
Labs
Lab Sec 20: Wed 14:30 – 16:20 (B8-C9), MULH 4024
Office Hours
Office Hours Etiquette — Don’t Do This.
Tue 12:30 – 13:20, Annex 20B
Wed 12:30 – 13:20, Annex 20B
Thu 13:30 – 14:20, Annex 20B
Fri 13:30 – 14:20, Annex 20B
Course Notes
- 1. Introduction
- 2. Number Bases
- 3. Boolean Logic
- 4. Transistors
- 5. Logic Gates
- 6. Combinational Logic
- 7. Memory
- 8. Latches and Flip-Flops
- 9. Registers and RAM
- 10. The Bus
- 11. Half & Full Adder
- 12. Two’s Complement
- 13. Arithmetic Logic Unit and the ESAP
- 14. Address Register and RAM
- 15. Seven Segment Displays
- 16. Output Register
- 17. Program Counter
- 18. Instructions and Microcodes
- 19. Control Logic
- 20. Programming with Machine Code
- 21. Conditions
- 22. Conditional Jump Instructions
- 23. Assembly Language
- 24. Programming with Assembly
Labs
Assignments
Getting Started