| Lab | Description | Material |
|---|---|---|
| 01 |
Tools
Moodle, Cygwin, Eclipse CDT, GCC Basics
Exercises Basic Programs & Fundamentals (operators, conditionals) |
01 |
| 02 | Tools
Google style guide (naming, formatting, comments), Using Doxygen to generate javadoc style comments for C programs Exercises Fundamentals (files, loops, functions) through examples with string.h |
02 |
| 03 | Exercises Fundamentals (tables, pointers) with emphasis on pointers | 03 |
| 04 | Tools
Eclipse CDT and Debugging (manual + example project) Exercises Re-implement string.h library using pointers (string length, string copy, string concat, substring, string compare) |
04 |
| 05 | Exercises
Dynamic allocation, structs, enum, union (implementing a shape, a sparse matrix data structures, small database) |
05 |
| 06 | Exercises
Stacks and Queues to solve different problems (Josephus problem, Balancing parentheses) |
06 |
| 07 | Exercises
Multiple file organization, makefile (infix to postfix expression, Balancing parentheses) |
07 |
| 08 | Exercises
Macros, conditional compilation, pre-processor directives |
08 |
| 09 | Tools Dynamic code analysis: Valgrind, gprof | 09 |
| 10 | Exercises
Binary files, hexdump command, binary files and linked lists, __attribute__((packet)) |
10 (Ex. 6-7) |
| 11 | Exercises
Low-level programming: Bit twiddling hacks, compute the sign of an integer, detect if 2 integers have opposite signs, swap bytes of an short |
10 (Ex. 1-5) |
| 12 | Exercises Unix commands | 11 |
| 13 | Exercises Unix commands | 12 |
| 4th December | AS4 in-lab grading |