README.txt

These course materials are licensed under the Apache License, Version 2.0
See the NOTICE.txt file for details.

If you use these materials, please send an email to Christine F. Reilly (creilly@skidmore.edu).


This folder contains the programming assignment materials that are described in:
C.F. Reilly and J.A. Swanson. A case study in constructivist pedagogy in a computer organization course. To appear in FIE 2019: https://fie2019.org/ 

These four assignments are the components of a semester-long project where students build a Java simulation of a simple computer.

For each programming assignment there is a PDF of the assignment handout, and a zip file with the starter code and other materials that are provided to the students.

Note that there is no programming assignment 3 in these materials. In the course, assignment 3 is an assembly language programming assignment that is not part of this multi-part project.

Programming Assignment 1: Create a simulation of an arithmetic and logic unit (ALU), and write methods for working with binary numbers.

Programming Assignment 2: Create an assembler that translates from assembly language (simplified version of A64 assembly language) to ARMv8 machine language.

Programming Assignment 4: (this is assignment 3 in the companion paper) Create a simulation of a CPU.

Programming Assignment 5: (this is assignment 4 in the companion paper) Create a simulation of cache memory and conduct performance tests.
