CompSci 330,
Computer Organization

Index and Announcements


Posting Date Item
(start of semester) Welcome to CompSci 330, Computer Organization!
Announcements, updates and grades will be added to this section throughout the semester, as they occur.

Check the links above for specific course materials. Check the Resources link for online versions of slides shown in class.

  • The script that sets up a Hardware Lab computer to connect to a Raspberry Pi:

    Download this script on the host computer, and run it with python Then connect your Raspberry Pi and wait for it to assign an IP address to the host computer.

  • Connect to the Raspberry Pi from Linux or MacOS with the command:
    ssh -X compsci@

  • Connect to the Raspberry Pi from Windows with the PuTTY program: PuTTY for Windows — the Raspberry Pi's IP address is "" ; account "compsci".

  • If you want to open GUI windows (such as the SciTE editor), then also install ; and in PuTTY, go to "connection→SSH→Enable X11 forwarding".

    The "Xming" software is an X Window server. "PuTTY" is an remote-connection tool that opens an SSH session to a host such as the Raspberry Pi. Once you are logged in, you can start a GUI program (such as an editor) that will connect to Xming to display the window.

  • 64-bit Devuan operating system for Raspberry Pi: devuan-mate

    Download this .img file, and burn it onto a 16GB microSD card. Use it for the Raspberry Pi.

2019-03-20 Solutions for assignment 2 (chapter 2): asn2 solution from the instructor's guide.
2019-04-16 Midterm Exam 2 solution:
2019-05-03 Midterm Exam 1 solution:
2018-02-14 Solutions for assignment 1 (chapter 1): asn1.html
2017-02-22 Solutions for assignment 2 (chapter 2): asn2 solutions
2017-02-28 Extra-credit assignment: recursive sort in MIPS assembly

Class Notes

Date Item
2019-01-23 Slides from textbook:
  • chapter 1. Overview; design principles; measuring performance
  • Sorting source code used in class.
  • Thermal image of a Raspberry Pi 3B+:
2019-02-04 Slides from textbook:
  • chapter 2 — Assembly/machine language.
  • LEGv8_Green_Card — Reference card for LEGv8 (ARMv8) assembly language


  • Relationship of high-level language, to assembly, to machine code:


  • Makefile as developed in class.
  • chapter 3 — processor arithmetic; floating point.
2019-04-22 Gray code and FSM — example of a simple Finite State Machine.
2019-04-22 Some informative links about SSDs and Flash memory, and how they impact the traditional memory hierarchy:
  • chapter 6 — parallel processors
  • CERN hardware — excerpt from an article about computer systems at CERN scientific research center. Parallel systems are their big new thing.
2014-04-08 Code from class: From previous years:


SPIM and Linux — MIPS architecture simulator
Virtualbox "appliance" — a Linux virtual machine with QtSpim installed. Also includes mips-gcc cross-compiler.
SciTE — text editor — homepage for the SciTE software
The SciTE programmer's text editor. Cross-platform (Windows, Linux), a good replacement for "Notepad".
Vim — text editor — homepage for the Vim editor
Cross-platform (Windows, Linux, MacOS); an upgrade of the basic editor found on Linux and MacOS. For real "heavy lifting". Very powerful but takes some getting-used-to.