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 |