CSci 230: Computing Systems Organization
Home Syllabus Readings Assignments Tests

Classroom: MWF 10:10a-11:00a, MCRey 317
Web page www.cburch.com/cs/230/
Instructor: Dr. Carl Burch
E-mail:
Telephone: 450-1377 (office); 548-0036 (home)
Office: MCRey 310
Office hours: MW 9–10, R 10–11, F 1–2
drop-ins, appointments always welcome

Useful links

Sauron submission system (instructions)
C programming: compiling, debugging, and profiling
C function reference (remote copy)
ARM assembly reference card
ARM: Assembly Language Programming, by Knaggs and Welsh (remote copy)

Schedule

The topics will be filled in as the class progresses.

Textbook references are on the right, prefaced by a section symbol §.

Wed 24 Aug C: declarations, printf C1.1-1.4
Fri 26 Aug Assignment 1 due
C: functions, operators, types C1.5-2.2
Mon 29 Aug C: braces, statements, arrays C2.3-2.5
Wed 31 Aug C: comments, header files, pointers C2.7-4.1
Fri 2 Sep Assignment 2 due
C: scanf, strings, structures C2.6, C3.2-3.3, C4.0
Mon 5 Sep Labor Day — no classes
Wed 7 Sep C: dynamic memory C5.1
Fri 9 Sep C: linked lists C5.2
Mon 12 Sep C: splitLine C4.4
Numeral systems B1.0–1.2
Wed 14 Sep Assignment 3 due
Test 1 [Review, Solutions]
Fri 16 Sep Integer representation B2.0–2.4
Bitwise operators B3.0–3.2
Mon 19 Sep Shift operators B3.3–3.4
Counting one bits B4.1–4.2, 4.4
Wed 21 Sep Assignment 4 due
Counting one bits, cont'd B4.3
Logic circuits L1, 2.1, 2.3
Fri 23 Sep Adders D1
Boolean algebra L2.2
Circuit efficiency L3.1
Mon 26 Sep Karnaugh maps L3.2–3.3
Universality L4
Multiplexers D2.1
Wed 28 Sep Assignment 5 due
Demultiplexers D2.2
Latches & flip-flops D3.1–3.3
Counter D4.1
Fri 30 Sep Assignment 6 due
Register & memory D4.2–4.3
Fixed-point representation F1
Floating-point representation F2.1
Mon 3 Oct IEEE floating-point F3
Floating-point limitations F2.2, F4
Wed 5 Oct Test 2 [Review, Solutions]
Fri 7 Oct Assignment 7 due
MINIAC machine M1–4
Mon 10 Oct Assembly: Background A1
ARM assembly: Intro A2.1–2.3
Wed 12 Oct ARM assembly: Condition codes A2.4
ARM assembly: Memory A3.1
13-16 Oct Fall Break — no classes
Mon 17 Oct ARM assembly: Memory A3.2–3.4
Wed 19 Oct ARM assembly: Subroutines A4.1–4.3
Fri 21 Oct Assignment 8 due
ARM assembly: Linked list A4.4
Mon 24 Oct Memory hierarchy H1
Direct-mapped cache H2
Wed 26 Oct Test 3 [Review, Solutions]
Fri 28 Oct Assignment 9 due
Test post-mortem
Assignment 10 discussion
Mon 31 Oct Other cache types H3
Arrandale caches H4.1
Wed 2 Nov Cache write policies H4.2
Caching & matrix multiplication H5
Operating system purpose O1
Fri 4 Nov Assignment 10 due
Interrupts O2
Linux file-handling O3.1–3.3
Mon 7 Nov Linux file-handling, cont'd O3.4
Processes O4.1–4.2
Wed 9 Nov Preemption and scheduling O4.3–4.4
Processes O5.1
Fri 11 Nov Assignment 11 due
Simple shell O5.2–5.3
Virtual memory basics V1.0–1.1
Mon 14 Nov Page replacement algorithms V2
Wed 16 Nov Test 4 [Review, Solutions]
Fri 18 Nov Assignment 12 due
Translation lookaside buffers V3.1
Page directories V3.2
Mon 21 Nov Inverted page tables V3.3
Real-world virtual memory V4
Garbage collection G1
Reference counting G2.1
23-27 Nov Thanksgiving — no classes
Mon 28 Nov Mark and sweep G2.2
Copy collection G2.3
Wed 30 Nov Generational collection G2.4
Real-world collection G3.1–3.2
Fri 2 Dec Weak references G3.2
Classes & polymorphism E1–2
Mon 5 Dec Virtual methods E3–4
Wed 7 Dec Assignment 13 due
no class — finals week
Fri 9 Dec Final [Review, Solutions]
15 Dec–17 Jan Winter break - no classes