CIS 2400 (Fall 2024) Home Schedule Assignments Tools & Refs Schedule

Schedule

Week 0

L00 Tue, Aug 27 Introduction and C Intro [ pdf ]
Course administrivia. Basic variables, function declarations, compiling, command-line args, and printing in C.
L01 Thu, Aug 29 C Intro (cont.) [ pdf ]
C Pointers & Compilation

Week 1

Check-in00 Due (Syllabus, Pointers & Compilation)
due @ 01:45 pm on Tue, Sep 03
L02 Tue, Sep 03 Bits, Bytes, 2's Compliment, Overflow [ pdf ]
Bits, Bytes, 2's Compliment, arithmetic operations, integer overflow
L03 Thu, Sep 05 Binary Wrap Up & Basic C Memory Model [ pdf ]
Binary wrap up, C memory as an array of bytes, strings, arrays, pointers, stack & local variables.
hw00 Due (approx.c)
due @ 11:59 pm on Fri, Sep 06

Week 2

Check-in01 Due ()
due @ 01:45 pm on Tue, Sep 10
L04 Tue, Sep 10 C Memory Model cont. & Dynamic Memory Allocation [ pdf ]
Global Memory, The Stack, The Heap, Memory Errors & Valgrind
R00 Wed, Sep 11 Recitation00: Binary Representation [ slides ]
2C, Hexadecimal, double pointers in C
Survey00 Due (Pre-semester Meeting)
due @ 11:59 pm on Wed, Sep 11
L05 Thu, Sep 12 C Memory Model cont. [ pdf ]
Memory Errors & Valgrind, Makefiles, Making Data Structures
hw01 Due (Binary Puzzles)
due @ 11:59 pm on Fri, Sep 13

Week 3

Check-in02 Due ()
due @ 01:45 pm on Tue, Sep 17
L06 Tue, Sep 17 C Wrap-up [ pdf ]
void pointers, C memory, more practice, and general lingering questions
R01 Wed, Sep 18 Recitation01: Makefiles & C Tools [ slides ]
Makefiles, GDB, Valgrind
L07 Thu, Sep 19 Intro to CMOS & Logic Gates [ pdf ]
Brief Circuits & Physics, Introduction to CMOS transistors, Designing CMOS Circuits, Logic Gates (Start)
bonus_transistor_internals.pdf
hw02 Due (cstring)
due @ 11:59 pm on Fri, Sep 20

Week 4

Check-in03 Due ()
due @ 01:45 pm on Tue, Sep 24
L08 Tue, Sep 24 Logic Gates, PLAs, Timing & Delay [ pdf ]
Designing CMOS (cont.), Gates, PLAs, Gate Delays & Other physical world concerns
R02 Wed, Sep 25 Recitation02: Reading & Parsing user input, Hardware Start [ slides ]
Pointers, malloc & valgrind refresher, getline, sscanf, Designing CMOS Circuits
L09 Thu, Sep 26 Boolean Logic & Simplification, Combinational Logic [ pdf ]
Boolean Logic & Simplification, Incrementer, Adder, Subtracter, Muxes, Multiplier
hw03 Due (rpn)
due @ 11:59 pm on Fri, Sep 27

Week 5

Check-in04 Due ()
due @ 01:45 pm on Tue, Oct 01
L10 Tue, Oct 01 Mux, and more practice [ pdf ] lecture10_soln.pdf
R03 Wed, Oct 02 Recitation03: CMOS & Logic Gates
Boolean Algebra, Truth Tables, CMOS Design, Logic Gates
hw04 Due (Written HW #1)
due @ 11:59 pm on Wed, Oct 02

Week 6

L11 Tue, Oct 08 Sequential Logic [ pdf ]
SR Latch, D Latch, Clock, Timing, D Flip Flops
R04 Wed, Oct 09 Recitation04: Combinatorial Logic [ slides ]
PLA's, Gates, Gate Delay, Simplification, Mux
L12 Thu, Oct 10 Sequential Logic Cont. & Memory & Registers [ pdf ]
Clock, D Flip Flops, Hardware -> Memory & Registers
hw05 Due (Written HW #2)
due @ 11:59 pm on Fri, Oct 11

Week 7

L13 Tue, Oct 15 Midterm Review [ pdf ]
Midterm Practice Questions made by Travis & Joel
midterm_review_answers.pdf
R05 Wed, Oct 16 Recitation05: Midterm Review [ slides ]
Midterm Review
Ex0 Thu, Oct 17 Midterm Exam Thu 01:45 pm - Thu 03:15 pm @ STIT 261  [exam info]

Week 8

L14 Tue, Oct 22 RISC-V ISA [ pdf ]
RISC-V examples, labels, memory, RISC-V instruction overview
R06 Wed, Oct 23 Recitation06: Sequential Logic [ slides ]
Latches, Flip Flops, Clock & Timing, Flip Flop "Memory"
L15 Thu, Oct 24 RISC-V, RISC-V Control Structures & RISC-V Memory [ pdf ]
RISC-V Control Structures, Pointers, Memory, Strings, Arrays
hw06 Due (Written HW #3)
due @ 11:59 pm on Fri, Oct 25
Survey01 Due (Mid-Semester Survey)
due @ 11:59 pm on Sat, Oct 26

Week 9

Check-in05 Due (RISC-V)
due @ 01:45 pm on Tue, Oct 29
L16 Tue, Oct 29 RISC-V Subroutines, C File I/O & RISC-V Single Cycle Processor [ pdf ]
File I/O, Binary Files, Endianness, RISC-V Single Cycle Processor
R07 Wed, Oct 30 Recitation07: RISC-V [ slides ]
Intro to RISC-V instructions, types of instructions, translating C to RISC-V
L17 Thu, Oct 31 RISC-V Single Cycle Processor & Control Signals Cont. [ pdf ]
RISC-V Single Cycle Processor & Control Signals Cont.
hw07 Due (RISC-V Programminng)
due @ 11:59 pm on Fri, Nov 01

Week 10

:( Tue, Nov 05 No Class
R08 Wed, Nov 06 Recitation08: Control Signals and RISC-V Assembly [ slides ]
Single-cycle Processor Components, Control Signals, directives versus labels
Check-in06 Due (Control Signals!)
due @ 01:45 pm on Thu, Nov 07
L18 Thu, Nov 07 File I/O & Binary Files [ pdf ]
File I/O & Binary
hw08 Due (Decoder)
due @ 11:59 pm on Fri, Nov 08

Week 11

L19 Tue, Nov 12 Translating C to ASM [ pdf ]
Pointers, Macros, Control Structures, Pointer Arith, GDB, C -> ASM (start)
R09 Wed, Nov 13 Recitation09: Binary Files
Bitwise Operations, Endianness, C File I/O, hexdump
L20 Thu, Nov 14 Translating C to ASM [ pdf ]
C to ASM, Control Structures, Accessing Memory
hw09 Due (disas)
due @ 11:59 pm on Fri, Nov 15

Week 12

Check-in10 Due ()
due @ 01:45 pm on Tue, Nov 19
L21 Tue, Nov 19 C -> RISC-V
C to ASM, Calling Conventions & Stack Start
R10 Wed, Nov 20 Recitation10: J Compiler
J Compiler Overview
L22 Thu, Nov 21 Calling Conventions, Implications of the Stack
Calling Conventions (cont.), Stack Frames, Overhead & Runtime Concerns
hw10 Due (Toeknizer)
due @ 11:59 pm on Fri, Nov 22

Week 13

Check-in11 Due ()
due @ 01:45 pm on Tue, Nov 26
L23 Tue, Nov 26 Special Topics: Saftey
R11 Wed, Nov 27 Recitation11: J Compiler Pt. 2
Calling Conventions, J Compiler Pt.2 overview

Week 14

L24 Tue, Dec 03 Special Topics: History, Modern Processors
R12 Wed, Dec 04 Recitation12: J Compiler Office Hours
HW10 Office hours
hw11 Due (j compiler)
due @ 11:59 pm on Wed, Dec 04
L25 Thu, Dec 05 Special Topics: C++ & Future Courses

Week 15

R13 Wed, Dec 11 Recitation13: Final Exam Review
Final Exam Review