|
|
Course Syllabus
You may download a printable PDF of the syllabus HERE
| Lecture |
Date |
Topics |
Book Sections |
Links to Videos and Slides |
| 1 |
25-Aug |
Computer systems organized as a systematic set of transformations; representation using bits |
Ch 1, § 2.1, 2.2 |
Notes |
| 2 |
27-Aug |
Bits and Operations on Bits: unsigned and signed integers; arithmetic and logical operations; ASCII; floating point;
hexadecimal notation |
§ 2.3, 2.4, 2.5, 2.6, 2.7 |
Notes |
3
1-Sep |
Digital Logic Structures: gates; combinational logic; storage elements |
§ 3.2, 3.3, 3.4 |
Video Slides |
| 4 |
3-Sep |
Digital Logic Structures: memory; sequential logic; clock |
§ 3.5, 3.6, 3.7 |
Video Slides |
| 5 |
8-Sep |
The von Neumann Model: basic concepts; instruction processing; sequencing |
Ch 4 |
Video Slides |
| 6 |
10-Sep |
The LC-3: Instruction Set Architecture |
§ 5.1, 5.2, 5.3, 5.4 |
Video Slides01
Slides02 |
| 7 |
15-Sep |
The LC-3: Example program in LC-3 machine language; LC-3 datapath |
§ 5.5, 5.6 |
Video Slides |
| 8 |
17-Sep |
Programming: problem solving using systematic decomposition, more examples, debugging |
Ch 6 |
Video Slides01
Slides02 |
| 9 |
22-Sep |
LC-3 Assembly Language; examples; assembly process |
Ch 7 |
Video Slides |
| 10 |
24-Sep |
I/O abstractions: input from the keyboard, output to the monitor |
§ 8.1, 8.2, 8.3, 8.4 |
Video Slides |
| 11 |
29-Sep |
Repeated Code: TRAPs and subroutines; Examples |
Ch 9 |
Video Slides |
| 12 |
1-Oct |
Stacks; Executing subroutines with stacks |
§ 10.1, notes |
Video Slides |
| 13 |
6-Oct |
Introduction to C; Variables and Operators: basic data types, simple operators, examples |
§ ch 11, 12.1, 12.2, 12.3 |
No video for Lecture 13 |
| 14 |
8-Oct |
Operators: simple operators, memory allocation of variables, examples
Control Structures: conditional constructs |
§ 12.4, 12.5, 13.1, 13.2 |
Video Slides |
| 15 |
13-Oct |
Control Structures: iterative constructs, comprehensive examples, problem solving |
§ 13.3, 13.4 |
Video Slides |
| 16 |
15-Oct |
Functions: introduction, syntax, run-time stack |
§ 14.1, 14.2, 14.3 |
Video Slides |
| 17 |
20-Oct |
Functions: activation records, examples |
§ 14.3, 14.4 |
Video Slides |
| 18 |
22-Oct |
Pointers and Arrays: introduction, problem solving, examples |
Ch 16 |
Video Slides |
| 19 |
27-Oct |
Arrays: 2D arrays, examples |
Ch 16 |
Video Slides |
| 20 |
29-Oct |
Testing and Debugging: introduction, error taxonomy, using a debugger |
Ch 15 |
Video Slides |
| 21 |
3-Nov |
Recursion: introduction, basic example, example showing run-time stack |
Ch 17 |
Video Slides01
Slides02 |
| 22 |
5-Nov |
Input and Output in C: standard library, basic I/O calls, file I/O, example |
Ch 18, notes |
Video Slides |
| 23 |
10-Nov |
Basic Data Structures: introduction |
§ 19.1, 19.2 |
Video Slides01
Slides02 |
| 24 |
12-Nov |
Basic Data Structures: structures, defining new types, enumerations, dynamic memory allocation |
§ 19.3, 19.4 |
No video for Lecture 24 |
| 25 |
17-Nov |
Basic Data Structures: linked lists |
§ 19.5 |
Video Slides |
| 26 |
19-Nov |
Basic Data Structures: linked lists, linked structure traversal |
§ 19.5 |
Link List Example |
| 27 |
1-Dec |
Comprehensive Case Study: sorting |
notes |
Video Slides01
Slides02 |
| 28 |
3-Dec |
Simple Guide to C++: Design, abstractions, and implementation |
notes |
Video Slides |
| 29 |
8-Dec |
Course Wrap-up and Advice for Sophomore System Builders |
notes |
|
|