This repository contains the notes, lectures, and exercises used by Luciano Cheng for the C programming course at Penn from 2007 to 2009.
- Getting Started
- C Compared to Java
- Number Representations
- Intro To Memory
- Intro To Arrays
- Malloc And Free
- C Preprocessor
- Pointers
- Strings
- Structs
- Struct Pointers
- Bitwise operators
Each quiz had a "study guide" webpage that covered most of the material.
- Quiz 1 Review: Unix basics
- Quiz 2 Review: C functions, types, stack, and compilers
- Quiz 3 Review: C pointers, arrays, strings
- Quiz 4 Review: C structs, bitwise operators
Homeworks include provided code, solution, and programmatic tester template.
- HW 1: Hal, the calculator
- HW 2: Skynet
- HW 3v1: Packet Routing
- HW 3v2: Strings
- HW 4: Pointers
- HW 5: Tokenizer
- HW 6: Weather DB
- HW 7: Malloc
Labs include provided code and solution.
- Lab 0: Example C Program
- Lab 1, Intro to C
- Part 1: Unix Basics
- Part 2: Bowling Database
- Part 3: Strings
- Lab 2: Pointers
- Lab 3: Lego Mindstorms
The C Tester is a program used to test C homework solutions. It compiles the homework assignment, creates a fork, then monitors the fork's output.
- Convert the Flash Pointers SWF to a GIF or a more portable format
- Break out C tester into it's own repository.
- Fix links in the lab / homework descriptions
- Find
strings.c
for Lab 1 String Exercise - Find instructions for the Weather Database assignment (Part 2)
- Link to homework solutions in github.