Lectures

Lecture

Date

Topics

Book Sections

Lecture Notes

1

Jan 18, 2011

Course overview; Computer systems organized as a systematic set of transformations; representation using bits

Ch 1, § 2.1, 2.2

Notes

2

Jan 20, 2011

Bits and Operations on Bits: unsigned and signed integers; arithmetic and logical operations; ASCII; floating point; hexadecimal notation

§ 2.3-2.7

Notes

3

Jan 25, 2011

Introduction to C; Variables and Operators: basic data types, simple operators; Basic I/O with printf and scanf

Ch 11, § 12.1, 12.2

Notes

4

Jan 27, 2011

Simple operators; Control Structures: conditional constructs; examples

§ 12.3, 12.4, 13.1, 13.2

Notes

5

Feb 1, 2011

C Control Structures: iterative constructs, comprehensive examples, problem solving

§ 13.3-13.5

Notes

6

Feb 3, 2011

Digital Logic Structures: gates; combinational logic; storage elements

§ 3.1-3.4

Notes

7

Feb 8, 2011

Digital Logic Structures: memory; sequential logic; FSM concept; clock

§ 3.5, 3.6

Notes

8

Feb 10, 2011

The von Neumann Model: basic concepts; instruction processing; sequencing; LC-3 architecture

Ch 4

Notes

9

Feb 15, 2011

The LC-3: Instruction Set Architecture

§ 5.1-5.3

Notes

10

Feb 17, 2011

The LC-3: ISA; Example program in LC-3 machine language; LC-3 datapath

§ 5.4-5.6

Notes

11

Feb 22, 2011

Programming in LC-3 machine language: control structures, examples, debugging

Ch 6

Notes

12

Feb 24, 2011

LC-3 Assembly Language; examples; assembly process

Ch 7

Notes

13

Mar 1, 2011

I/O abstractions: input from the keyboard, output to the monitor

Ch 8

Notes

14

Mar 3, 2011

Repeated Code: TRAPs and subroutines; Examples

Ch 9

Notes

15

Mar 8, 2011

Stack

Ch 10

Notes

16

Mar 10, 2011

Functions in C: introduction, syntax, run-time stack

§ 14.1-14.2, 12.5

Notes

17

Mar 15, 2011

Functions in C: run-time stack, activation records

§ 14.3-14.5

Notes

18

Mar 18, 2011

Pointers and arrays: introduction, run-time stack, arrays as function parameters

Ch 16

Notes

19

Mar 29, 2011

Arrays: strings, multidimensional arrays, examples

Ch 16

Notes

20

Mar 31, 2011

Input and Output in C: basic I/O calls, file I/O, examples

Ch 18

Notes

21

Apr 5, 2011

Problem solving with arrays, examples; Testing and debugging

Ch 16

Notes

22

Apr 7, 2011

Recursion: introduction, examples, recursion vs iteration, recursion and run-time stack

Ch 17

Notes

23

Apr 12, 2011

Basic Data Structures: introduction, structures, defyning new types, arrays of structures, union, enumerations

§ 19.1-19.3

Notes

24

Apr 14, 2011

Basic Data Structures: dynamic memory allocation, linked lists

§ 19.4-19.6

Notes

25

Apr 19, 2011

Basic Data Structures: linked lists

Notes

26

Apr 21, 2011

Advanced Data Structures in C: doubly-linked list, stack, queue, tree

Notes

27

Apr 26, 2011

Advanced Data Structures in C; Miscellaneous features

Notes

28

Apr 28, 2011

Introduction to Scientific Computing

Notes

29

May 3, 2011

From LC-3 to a modern microprocessor architecture; Course wrap-up and advice for sophomore system builders

Notes