Week | Tue. Lecture | Wed. Labs | Fri. Lecture |
Week 1: Jan 7-11 |
Course intro, overview, administrivia
intro to git for our labs |
No lab | intro to data representation |
Week 2: Jan 14-18 |
binary, octal, hex, 1 and 2's comp, basic math | Lab 1: git, linux, data representation | shift operators, floating point representations |
Week 3: Jan 21-25 |
boolean algebra, common operators, truth tables | logic transformations, identities, and simplicfication, logic gates and circuits | |
Week 4: Jan 28-F1 |
karnaugh maps, minimal SOP expressions, multiple-output circuits | Lab 2: digital logic, logisim | architecture and fetch-decode-execute: from circuits to machine code |
Week 5: Feb 4- 8 |
assemblers, assembly language, intro to marie | cancelled | |
Week 6: Feb 11-15 |
cancelled | Lab 3: assembly language using marie, shell scripting in bash | marie |
Week 7: Feb 18-22 |
marie | prep for midterm | |
Study break: Feb 25-Mar 1 | |||
Week 8: Mar. 4- 8 |
midterm | Lab 4: functional programming in lisp | Intro to functional programming, lisp |
Week 9: Mar 11-15 |
recursive list handling | higher order functions | |
Week 10: Mar 18-22 |
lisp macros, intro to logic programming | Lab 5: logic programming in prolog | intro to prolog, facts and queries |
Week 11: Mar 25-29 |
lists and recursion in prolog | cuts, efficiency, intro to grammars | |
Week 12: Apr 1- 5 |
Finite automata | Lab 6: theory of computation, complexity | Regular expressions |
Week 13: Apr 8-12 |
Intro to complexity theory | Final review/wrapup |