CIS 351 Computer Organization and Assembly Language
Fall 2025
- Contact Information:
-
Instructor: Zachary Kurmas Office: MAK C-2-316 Phone: (616)-331-8688 Office Hours: MWF 9:00 - 10:00 Home page: https://KurmasGVSU.github.io
E-mail is the best way to contact me. During the week, expect a reply within 24 hours. Also, feel free to visit my office any time the door is open, even if it isn't officially office hours.
- Course Documents:
- Announcements:
- I will post announcements at Piazza. Please check there regularly.
- Discussion Board:
- Please post questions about homework, projects, etc. to Piazza. Doing so allows everybody to see the question and answer and saves me the time of answering the same question multiple times. Other students can also answer your question, which may help you get a faster response.
- PrairieLearn:
- To access the PrairieLearn module for this course, visit
https://us.prairielearn.com/pl/course_instance/186172
. Choose "Log in with Google" and use your GVSU gmail account credentials. - Grades:
- I will push a grade report into your Lab 1 git repository about once per week.
- Assignments:
-
Due Name Details Wed. 27 Aug. First Day Survey Fri. 29 Aug. Homework 1: Relays Wed. 3 Sep. Homework 2: Introduction to Digital Logic Mon. 8 Sep. Homework 3: JLS Setup Wed. 17 Sep. Project 1: Build an Adder Wed. 24 Sep. Project 2: Build a Subtractor and SLT Wed. 1 Oct. Project 3: Build an ALU Mon. 6 Oct. Homework 4: Sequential Circuits Mon. 13 Oct. Homework 5: Assembly Introduction / Microarchitecture Wed. 29 Oct. Homework 6: Writing Assembly Fri. 7 Nov. Homework 7: Stack and Functions Mon. 17 Nov. Homework 8: Cache Wed. 3 Dec. Homework 9: Pipeline Performance Not due for credit Wed. 3 Dec. Homework 8: Pipeline Implementation - Text:
-
The official textbook for this class is
- Digital Design and Computer Architecture (2nd edition) by David Money Harris and Sarah L. Harris. ISBN: 9780123944245
If you already have a copy of the Patterson and Hennessy text (shown below), you may use that text instead. This book goes into more depth for some of the later course topics. It can be helpful; but, I wouldn't spend more than about $10 on it.
- Computer Organization and Design: The Hardware/Software Interface, 4th Edition by David Patterson and John Hennessy. ISBN: 1558606041
Also, the differences between the 1st and 2nd edition of Harris and Harris are minimal. If you can find a cheap copy of the first version, go ahead and use it.
- Reference:
-
- JLS Web Page (Use this link to download.)
- Mars
- MIPS Reference Card
- Useful YouTube Channels
- My supplemental Videos for CIS 351.
- Computer Science
- Crash Course: Computer Science
- Misc. Videos
- Relays
- Transistors (from Veritasium)
- Pipelining
- Number bases
- Twos complement
- Digital Logic stuff
- Karnaugh Map explanations from
- More about relays.
- Transistors:
- More about transistors.
- An article about how transistors really work.
- Selected transistor-related pictures.
- Entertaining, but informative video
- Nand2Tetris.This course, developed by Noam Nisan and Simon Schocken, is a series of projects in which students build a (simulated) computer from NAND gates; then build a simple assembler, programming language, and operating system; and finally, implement Tetris on the system they created.
- Assembly language resources
- MARS. A MIPS assembly language simulator written in Java.
- SPIM. A MIPS32 assembly language simulator.
- Norman Matloff's Introduction to Linux Intel Assembly Language.
- Notes on MIPS floating point from McGill University.
- Computer architecture resources
- A brief description and history of the MIPS architecture.
- Intel Architecture support page.
- Textbooks (and companion software, slides, practice problems, etc.)
- Companion site for Harris and Harris text (includes lecture slides).
- Computer Organization and Design Fundamentals a free e-book from David Tarnoff.
- Schaum's Outlines on Computer Architecture. Only $20.
- Resource page for the Stallings text.
- Just for fun:
Updated Wednesday, 6 August 2025, 12:40 PM
