Home CPSC 305

CPSC 305: Computer Systems and Architecture

Meeting Times:Section 1: TR 9:30 am – 11:20 am, JFRM 054
Section 2: TR 12:30 pm – 2:20 pm, JFRM 054
Instructor:Ian Finlayson
Email:ifinlay@umw.edu
Office:Farmer 043
Office Hours:MWF 11:00 – 12:00, TR 11:30 – 12:30, or by appointment
Required TextbookCode: The Hidden Language of Computer Hardware and Software, by Charles Petzold, 2nd Edition
 

Course Description

This course examines the basic operation of computing systems. It takes a bottom-up approach covering each major component of such systems including hardware, logic circuit design, CPU instruction sets, assemblers, and compilers. Students will gain experience programming in assembly language and C.
 

Course Goals & Objectives


 

Student Learning Outcomes

After completing this course, students will be able to:


 

Grading Policy

Your grade will be determined as follows: The grading scale used for this course is as follows:

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 Tuesday is due at midnight Wednesday 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.


 

Student Conduct


 

Honor Policy

Students are expected to conduct themselves in a manner consistent with the letter and spirit of the Honor Constitution and CPSC department honor policy

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 or online AI tool.

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!


 

Accessibility Statement

The Office of Disability Resources has been designated by the university as the primary office to guide, counsel, and assist students with disabilities. If you receive services through the Office of Disability Resources and require accommodations for this class, please provide me a copy of your accommodation letter via email or during a meeting. I encourage you to follow-up with me about your accommodations and needs within this class. I will hold any information you share with me in the strictest confidence unless you give me permission to do otherwise.

If you have not made contact with the Office of Disability Resources and have reasonable accommodation needs, their office is located in Seacobeck 005, phone number is (540) 654-1266 and email is odr@umw.edu. The office will require appropriate documentation of disability.


 

Title IX Statement

University of Mary Washington faculty are committed to supporting students and upholding the University’s Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence. Under Title IX and this Policy, discrimination based upon sex or gender is prohibited. If you experience an incident of sex or gender based discrimination, we encourage you to report it. While you may talk to me, understand that as a “Responsible Employee” of the University, I MUST report to UMW’s Title IX Coordinator what you share. If you wish to speak to someone confidentially, please contact the confidential resources found below. They can connect you with support services and help you explore your options. You may also seek assistance from UMW’s Title IX Coordinator, their contact information can be found below. Please visit http://diversity.umw.edu/title-ix/ to view UMW’s Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence and to find further information on support and resources.


 

Recording Statement

Classroom activities in this course may be recorded by student's enrolled in the course for the personal, educational use of that student or for all students presently enrolled in the class only, and may not be further copied, distributed, published or otherwise used for any other purpose without the express written consent of the course instructor. All students are advised that classroom activities may be taped by students for this purpose. Distribution or sale of class recordings is prohibited without the written permission of the instructor and other students who are recorded. Distribution without permission is a violation of copyright law. This policy is consistent with UMW's Policy on Recording Class and Distribution of Course Materials.


 

Tentative Schedule

Date Class Topic Reading Lab Assignment
August 27 Course Introduction 1 – 3    
August 29 Introduction to C 4 – 5 String Reversal  
September 3 C Programming Continued 6 High Scores  
September 5 Circuits and Switches 9 – 10 Rock-Paper-Scissors  
September 10 Bytes and Bits 7  
September 12 Logic Gates 8 Seven Segment Display  
September 17 No Class 11    
September 19 GBA Programming 12 GBA Input  
September 24 Multiplexers and Decoders 13 Logic Unit  
September 26 GBA Graphics Programming     XOR Encryption and Decryption
October 1 Graphics Programming Continued 14 Tic-Tac-Toe  
October 3 Carry Lookahead Adders 15    
October 8 Using Images 16 Combinatorial Analysis  
October 10 Midterm Exam
October 15 Fall Break
October 17 Sequential Logic 17 Flip Flops  
October 22 GBA Tile Modes 18 Parallax Effect  
October 24 Memory Systems 19 No Lab Pong Game
October 29 GBA Hardware Sprites 20    
October 31 Assembly Programming 21 Average Calculation  
November 5 Election Day
November 7 Assembly Branches 22 Collatz Conjecture Game Description
November 12 Memory in Assembly 23 Uppercase Conversion Build a CPU Part 1
November 14 Building a CPU 24    
November 19 No Class 25    
November 21 Instruction Pipelining 26    
November 26 GBA Sound Programming 27   GBA Game
November 28 Thanksgiving Break
December 3 Caching 28    
December 5 Final Review and Working Time     Build a CPU Part 2
December 10 Section 1 Final Exam, 8:30 – 11:00
Section 2 Final Exam, 12:00 – 2:30

Copyright © 2024 Ian Finlayson | Licensed under a Creative Commons BY-NC-SA 4.0 License.