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

Week 7

Check-in05 Due ()
due @ 01:45 pm on Tue, Oct 15
L13 Tue, Oct 15 Midterm Review
Midterm Practice Questions made by Travis & Joel
R05 Wed, Oct 16 Recitation05: Midterm Review
Midterm Review
Ex0 Thu, Oct 17 Midterm Exam Thu 01:45 pm - Thu 03:15 pm @ STIT 261  [more info to be released]

Week 8

Check-in06 Due ()
due @ 01:45 pm on Tue, Oct 22
L14 Tue, Oct 22 RISC-V ISA
RISC-V examples, labels, memory, RISC-V instruction overview
R06 Wed, Oct 23 Recitation06: Sequential Logic
Latch, Flip Flops, Clock & Timing, Flip Flop "Memory"
L15 Thu, Oct 24 RISC-V, RISC-V Control Structures & RISC-V Memory
RISC-V Control Structures, Pointers, Memory, Strings, Arrays
hw06 Due (Written HW #3)
due @ 11:59 pm on Fri, Oct 25

Week 9

Check-in07 Due ()
due @ 01:45 pm on Tue, Oct 29
L16 Tue, Oct 29 RISC-V Subroutines, C File I/O & RISC-V Single Cycle Processor
File I/O, Binary Files, Endianness, RISC-V Single Cycle Processor
R07 Wed, Oct 30 Recitation07: RISC-V
RISC-V ASM Design & Practice, Binary Operations & Masks refresher, Decoding RISC-V Instructions from Binary
L17 Thu, Oct 31 RISC-V Single Cycle Processor & Control Signals Cont.
RISC-V Single Cycle Processor & Control Signals Cont.
hw07 Due (RISC-V Programminng & Disas Milestone)
due @ 11:59 pm on Fri, Nov 01

Week 10

Check-in08 Due ()
due @ 01:45 pm on Tue, Nov 05
L18 Tue, Nov 05 Processor Wrapup, I/O & Memory Hierarchy (brief)
RISC-V Processor, Video Memory & Devices, Memory Heirarchy,
R08 Wed, Nov 06 Recitation08: Datapth
Single-cycle Processor Components, Control Signals, Making part of the decoder (logic gates)
L19 Thu, Nov 07 C: Refresher
Pointers, Macros, Control Structures, Pointer Arith, GDB, C -> ASM (starT)
hw08 Due (Disas)
due @ 11:59 pm on Fri, Nov 08

Week 11

L20 Tue, Nov 12 Translating C to ASM
C to ASM, Control Structures, Accessing Memory
R09 Wed, Nov 13 Recitation09: Binary Files
Bitwise Operations, Endianness, C File I/O, hexdump
L21 Thu, Nov 14 C -> RISC-V
C to ASM, Calling Conventions & Stack Start
hw09 Due (HashTable)
due @ 11:59 pm on Fri, Nov 15

Week 12

Check-in10 Due ()
due @ 01:45 pm on Tue, Nov 19
L22 Tue, Nov 19 Calling Conventions, Implications of the Stack
Calling Conventions (cont.), Stack Frames, Overhead & Runtime Concerns
R10 Wed, Nov 20 Recitation10: J Compiler
J Compiler Overview
L23 Thu, Nov 21 Special Topics: Saftey
hw10 Due (Toeknizer)
due @ 11:59 pm on Fri, Nov 22

Week 13

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

Week 14

L25 Tue, Dec 03 Special Topics: C++ & Future Courses
R12 Wed, Dec 04 Recitation12: J Compiler Office Hours
HW10 Office hours
hw11 Due (penn-forth)
due @ 11:59 pm on Wed, Dec 04
L26 Thu, Dec 05 Course Wrap-Up

Week 15

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