Menu:

Instructor:
Morwaread Farbood

Announcements

August 30, 2012

All students much register for the lab, MPATE-GE 2617, in addition to the lecture class.

Lectures and Labs

Unit 1
  Tuesday, September 4: Unit 1.1
Intro.
Lecture slides html | pdf
Table of ASCII characters (pdf)
Syllabus (pdf)
Getting Started (pdf)
Problem Set 1 (pdf)

Thursday, September 6: Unit 1.2
Types; variables; casting; format strings for output; operators.
Lecture slides html | pdf
Files (source code)
Table of ASCII characters (pdf)

Monday, September 10: Lab 0
Files

Tuesday, September 11: Unit 1.3
Loops; for, while, do-while; overflow.
Lecture slides html | pdf
Files (source code)

Unit 2
  Thursday, September 13: Unit 2.1
switch statements; constants; arrays.
Lecture slides html | pdf
Files (source code)

Monday, September 17: Lab 1
Files

Tuesday, September 18: Unit 2.2
Strings; string.h; ctype.h; inputlib.h; functions; global vars; scope.
Lecture slides html | pdf
Files (source code)
Problem Set 2 (pdf)

Thursday, September 20: Unit 2.3
? : operator; modularizing code; argv; ps2; atoi.
Lecture slides html | pdf
Files (source code)

Monday, September 24: Lab 2
Files

Unit 3
  Tuesday, September 25: Unit 3.1
Typdefs and enums; const; structs; file I/O.
Lecture slides html | pdf
Files (source code)

Thursday, September 27: Unit 3.2
Random number generation; Monte Carlo simulations; recusion.
Lecture slides html | pdf
Files (source code)
Problem Set 3 (pdf)

Monday, October 1: Lab 3
Files

Unit 4
  Thursday, October 4: Unit 4.1
Virtual memory; call stack; multi-file projects; make; gdb.
Lecture slides html | pdf
Files (source code)

Monday, October 8: Unit 4.2
Pointers; passing by reference; efficiency; big-O notation; searching; sorting.
Lecture slides html | pdf
Files (source code)

Tuesday, October 9: Unit 4.3
Heap sort; sorting demos; AIFF format; binary file I/O.
Lecture slides html | pdf
Files (source code)

Thursday, October 11: Unit 4.4
Exhaustive searches; greedy algorithms; Dijkstra's shortest path algorithm; memoization; dynamic programming.
Lecture slides html | pdf

Thursday, October 18: Lab 4
Files

Monday, October 22: Lab 5
Files

Unit 5
  Tuesday, October 23: Unit 5.1
malloc; free; dyanmically allocating multidimensional arrays.
Lecture slides html | pdf
Files (source code)

Thursday, October 25: Unit 5.2
Dynamic memory allocation continued.
Lecture slides html | pdf
Files (source code)

Monday, November 5: Lab 7
Files

Tuesday, November 6: Unit 5.3
Singly linked lists.
Lecture slides html | pdf
Files (source code)

Thursday, November 8: Unit 5.4
Hash tables; binary search trees; tries.
Lecture slides html | pdf
Files (source code)

Monday, November 12: Lab 8
Files

Unit 6
  Thursday, November 15: Unit 6.1
Audio APIs; portaudio.
Lecture slides html | pdf
Files (source code)

Monday, November 19: Lab 9
Files

Tuesday, November 20: Unit 6.2
portaudio continued; libsndfile API.
Lecture slides html | pdf
Files (source code)


Unit 7
  Monday, November 26: Lab 10
Files

Tuesday, November 27: Unit 7.1
Twos complement; floating point representation; Bitwise operators.
Lecture slides html | pdf
Files (source code)

Thursday, November 29: Unit 7.2
Algorithmic music with bitwise operators; Huffman encoding.
Lecture slides html | pdf

Monday, December 3: Lab 11
Files

Thursday, December 6: Unit 7.3
extern; function pointers; assembly.
Lecture slides html | pdf
Files (source code)