Skip to main content
  1. /classes/
  2. Classes, Fall 2026/
  3. CS 4250 Fall 2026: Course Site/

CS 4250 Fall 2026: Syllabus

·1963 words·10 mins·
Computer Architecture (3 credits)

← Back to Course Site

Course Catalog:
Fundamental concepts of computer design using a quantitative, performance-oriented approach. Topics include: measurement of performance instruction sets design; hardwired and micro-coded processor design; pipelining; memory hierarchy; I/O. Assembly language programming is studied through a series of short projects. Falls.
Prereq: CS 2225

Course Info
#

Office Hours, Fall 2026 in D&M 305:

  • To Be Announced.

Student Learning Outcomes
#

Successful students will:

  • Understand how concrete hardware is structured and operates at the transistor, gate, datapath, and system levels.
  • Be able to read and write RISC-V assembly language and understand the relationship between assembly, ISA design, and hardware implementation.
  • Be able to interface a microcontroller with peripherals using protocols such as GPIO and I2C.
  • Understand processor pipelining, instruction-level parallelism, and memory hierarchy design trade-offs.
  • Be able to run and program both a general-purpose OS (Linux) and a real-time OS (FreeRTOS) on embedded hardware.
  • Be able to design, build, and present a working embedded systems project using a RISC-V development board with peripherals.

Texts
#

No required textbook.

Required Materials
#

  • An SG2000-based microcontroller dev board with at least 256MB of RAM (e.g. Milk-V Duo S or Pine64 Oz64)
  • An I2C display
  • An input device or sensor (e.g. microphone, button, potentiometer)

Grading
#

Thing Weight
Homework 20
Labs 20
Exams (2) 20
Semester Project 40

Semester Project

You will build a working project using a RISC-V development board with peripherals plugged in. You will propose a project in week 3 and begin implementation in week 4. The project culminates in a final presentation during finals week.

Labs

Hands-on lab assignments working directly with the SG2000 hardware, including GPIO control, I2C device communication, bit-level register manipulation, and NPU usage.

Homework

Regular written assignments covering background reading and conceptual topics in computer architecture.

Exams

There will be two exams covering material from the first and second thirds of the course. The final third of the course will be exam-free so we can focus on the semester project.

Letter Grades

≥ 93 → A, ≥ 90 → A-,
≥ 87 → B+, ≥ 83 → B, ≥ 80 → B-,
≥ 77 → C+, ≥ 73 → C, ≥ 70 → C-,
≥ 67 → D+, ≥ 63 → D, ≥ 60 → D-,
else (< 60) → F

Tentative Schedule
#

Week Date Topic
1 Sep 03 † Intro to Architecture; Order Your Stuff
2 Sep 08 Electronics: Resistors, Diodes, Transistors Lab: GPIO
3 Sep 15 Linux on the SG2000 Project Proposals
4 Sep 22 Instruction Set Architectures; RISC-V Assembly Lab: Direct Bit Twiddling
5 Sep 29 Review; Exam 1 Exam 1
6 Oct 06 FreeRTOS on the SG2000
7 Oct 13 Device I/O Lab: I2C Display
8 Oct 20 The 8051 on the SG2000
9 Oct 27 Processor Datapath, Pipelining, ILP; Memory Hierarchy Lab: CPU Data & Memory Hierarchy
10 Nov 03 Review; Exam 2 Exam 2
11 Nov 10 † Multiprocessors Lab: SG2000 NPU
12 Nov 17 Final Project Work
13 Nov 24 ‡ Thanksgiving Recess — No Class
14 Dec 01 Bonus Topic
15 Dec 08 Final Project: Polish
- Dec 14-18 Finals Week Final Project Presentations
  • † No class on Monday, Sep 01 (Labor Day) or Wednesday, Nov 11 (Veterans Day)
  • ‡ No class Wednesday, Nov 26 through Friday, Nov 28 (Thanksgiving Recess)

Standard Policies

Attendance

Attendance is required for all class meetings (whether lectures or labs). You must check in to the online attendance tool within 5 minutes of the start of the period to receive full attendance credit.

If you are absent for more than five class meetings, each subsequent missed meeting will subtract 4% from your final grade. Five is a large margin, giving you plenty of space for unavoidable absences that aren't covered by the excused absence policy.

If you are unable to attend class due to a circumstance covered by the university Excused Absence Policy email the professor as soon as possible for an exception. If you reasonably can email before the meeting, you must do so to for the absence to be excused.

Late Work

You are expected to submit your assignments by the deadline. Try to get stuff done and submitted at least an hour before that so you don't miss the deadline due to a browser bug or wifi glitch.

Unless some more specific policy is specified for a specific assignment or type of assignment, late work will not be accepted.

For assignments submitted via Inkfish, the late policy specified on Inkfish applies. Aside from "no late submissions", the other common option is "1% of grade subtracted per hour late".

If you are unable to complete an assignment on time due to circumstances covered by the university Excused Absence Policy email the professor as soon as possible for an extension. If you reasonably can email before the deadline, you must do so to receive an extension.

Submitting Work

Assignemnts will typically be assigned on Inkfish and must be submitted there. Work will *never* be accepted by email unless specifically requested, and any attempt to send work by unsolicited email will result in a 10% grade penalty on that assignment.

Letter Grades

≥ 93 → A, ≥ 90 → A-,
≥ 87 → B+, ≥ 83 → B, ≥ 80 → B-,
≥ 77 → C+, ≥ 73 → C, ≥ 70 → C-,
≥ 67 → D+, ≥ 63 → D, ≥ 60 → D-,
else (< 60) → F

Automated Feedback and Grading

This class may use two different mechanisms for automated feedback and grading: Grading scripts, and AI-assisted feedback.

For assignments with script grades, when you submit your work to Inkfish a script will automatically run and evaluate it. This will produce a grade, which is a portion of the grade you will recieve for this assignmet if this is your final attempt. If you don't like the grade, you should fix the issues so the script gives you more points. Points earned by bypassing the intent of the assignment (e.g. hard-coding outputs to make the script happy when you should be writing a program that computes stuff) will be removed.

For any assignment, you may receive feedback generated with LLM assistance. That analysis will be used to help compute your final score for improved usefulness, accuracy, and consistency. Obviously, if the LLM does anything dumb and I miss it you should let me know so we can fix it. The LLMs will either be run locally or through USNH provided services. Your work will not be shared with external (not local, not USNH) cloud providers for this purpose.

Hopefully this LLM assisted feedback will sometimes include fast feedback, where some feedback is provided before the assignment deadline. This will be slow compared to script grades, but should give an additional opportunity to revise your work before it's graded.

Peer Review

Any work you submit may be shared with other students in the class for peer review and feedback.

Grade Appeals

If you think you received an incorrect grade, send me an email describing why your grade is wrong and how you think it should be corrected.

If the grade isn’t clearly wrong, I will ask you to stop by my office hours so we can discuss the issue in more detail.

For scores automatically and immediately generated by deterministic test scripts on Inkfish, you are expected to review that immediate feedback and resubmit with corrections before the due date. Scores where you could have done that are unlikely to be modified unless there's a clear error in the script.

Academic Integrity

Please carefully read and be familiar with the university Academic Integrity Policy.

Especially don’t do any of the things in the list of examples of academic integrity violations. Make sure to review the penalties for repeated offenses.

The maximum penalty for academic dishonestly is a grade of “AF” in this course. In addition, the student’s name may be sumitted the the appropriate university authorities for further diciplinary action which may result in penalties up to dismissal from the University.

The most likely violation for this course is plagarism, which is when a student submits a solution for an assignment that wasn’t produced by them (or their assigned team in the case of a group assignment). Both submitting work that you didn’t produce and providing solutions to other students are unacceptable in this course and will result in a penalty as described above.

Some assignments in this course allow (or require) the use of generative AI tools. Such tools should not be used to generate assignment solutions except as explicitly described in a given assignment.

Copyright and Attribution

To avoid plagarism, the following are clearly OK:

  • If a you or a member of your team wrote code.
  • If a member of your team generated boilerplate code with a non-AI code generation tool (e.g. mix phx.gen.html in Phoenix)
  • Using external open source libraries through package management tools.

Copying code from other sources is OK if you provide clear attribution and:

  • The code is a documentation sample clearly intended to be adapted and used by developers OR the code is licensed under an open source license compatible with your project license. Make sure to follow the license.
  • Attribution should be identify the author if possible, how to find the resource (e.g. URL, book citation, etc), and any relevant licensing info.
  • The code isn't solving a programming task that you were supposed to solve with your own code.

Using code produced by generative AI is OK as long as:

  • The assignment instructs you to use a code generation tool and you do so according to the assignment instructions.
  • You clearly note in your submission (e.g. comment, README, etc) that you which code generation tools you used and how.
  • The default aider commit comment is sufficient.

Not OK:

  • Copying code you didn't produce yourself into your project without clear attribution.
  • Copyright infringement (including for non-code assets)
  • Getting other people to write code for you, especially non-classmates.

Fair Grading Policy

All grading in this class is subject to the university Fair Grading Policy.

Email and Canvas

Some communication about this class will be done through email to your University address. Please check your email; you are responsible for any email communications you miss.

Other communication - especially to the whole class - will be done through Canvas Annoucements. Check those regularly.

ADA Statement

Plymouth State University is committed to providing students with documented disabilities equal access to all university programs and facilities. If you think you have a disability requiring accommodations, you should contact Campus Accessibility Services (CAS), located in Speare 210 (535-3300) to determine whether you are eligible for such accommodations. Academic accommodations will only be considered for students who have registered with CAS. If you have a Letter of Accommodation for this course from CAS, please provide the instructor with that information privately so that you and the instructor can review those accommodations.

Tutoring

CS&T offers evening tutoring for several classes. Keep an eye out for annoucements. The PASS Office also offers individual tutoring.

Class Cancellations and Inclement Weather

Class cancellations, if nessisary for whatever reason, will be posted as an annoucement on Canvas.

While my goal is to hold class during inclement weather unless the Univesity has closed, that isn't always possible. Definitely check canvas for a cancellation (or short delay) if the weather report mentions freezing rain.

Inclement weather and class cancellations don't change assignment deadlines unless explictly noted.

Late Registration

If you register late for the course please contact the professor to discuss completing any missed assignments as soon as possible.

Nat Tuck
Author
Nat Tuck