|Meeting Time:||Tuesday and Thursday, 10:00 - 11:50, Farmer B6|
|Office Hours:||Monday and Wednesday 11-12, Tuesday and Thursday 9-10, Friday 9-11, or by appointment|
|Required Textbook||Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold|
Late assignments will have a 10% reduction in grade for each day late. Lab exercises are always due at the end of the day after they are assigned. For instance, a lab assigned on Monday is due at midnight Tuesday night. Final grades will not be rounded up, and no extra credit opportunities will be given on an individual basis.
The University provides the opportunity to provide grading feedback midway through the semester. This will take into account your score on the mid-term exam and the programming projects submitted up to that point. Any student receiving less than a 65% on either of these will receive a "U" for their mid-semester grade. If this happens to you, please don't hesitate to talk with me about how we can improve your performance in this class.
Students are expected to conduct themselves in a manner consistent with the letter and spirit of the Honor Constitution.
For labs, collaboration is OK. The goal of the labs is to ensure you understand the concepts we are going over.
For projects, you may discuss the ideas with other students, but all of your work must be your own. You must yourself write and understand everything in each assignment you submit. It is an honor code violation to copy directly from another student either by copy and paste or by transcription, or to copy from the web.
For exams, you can not talk to anyone during the exam, or use any kind of notes.
If you have any questions or need clarification, please don't hesitate to contact me!
|January 16||Course Introduction||1 - 3||No Lab|
|January 18||Introduction to C||String Exercise|
|January 23||Circuits and Transistors||4 - 6||Transistor Exercise|
|January 25||C Programming Continued||Structure Exercise|
|January 30||Bytes and Bits||7 - 9||No Lab|
|February 1||No Lecture||10||Switch Exercise|
|February 6||GBA Programming||GBA Input Exercise|
|February 8||Logic Gates||11||Gate Exercise|
|February 13||No class|
|February 15||Carry Lookahead Adders||12 - 13||Tic-tac-toe Exercise||Game of Life|
|February 20||GBA Graphics Programming||No Lab|
|February 22||No class|
|February 27||Midterm Review||Combinatorial Analysis|
|March 1||Midterm Exam|
|March 6||Spring Break|
|March 13||Using Images||No Lab|
|March 15||Sequential Logic||14||Flip Flop Exercise|
|March 20||GBA Tile Modes||Parallax Exercise|
|March 22||Memory Systems||15 - 16||No Lab||Pong|
|March 27||GBA Hardware Sprites||17||No Lab|
|March 29||Assembly Programming||18 - 19||No Lab|
|April 3||Assembly Programming Branches||Collatz Exercise||Game Description|
|April 5||Memory in Assembly||20 - 21||Uppercase Exercise|
|April 10||Building a CPU||No Lab||CPU Part 1|
|April 12||GBA Sound Programming||22 - 23||No Lab|
|April 17||Pipelining||No Lab|
|April 19||Parallelism||24 - 25|
|April 24||No Class||Game Due|
|April 26||Final Exam Topics|
|May 1||Final Exam, 8:30 - 11:00 / Build a CPU Part 2|
Copyright © 2022 Ian Finlayson | Licensed under a Attribution-NonCommercial 4.0 International License.