TWiki> CS385spring11 Web>Syllabus>Homeworks (revision 2)EditAttach


Homeworks are due in the svn repository by start of class on Tuesdays. Make sure that your turn-in is correct by checking it out in a fresh directory, building and running the executables, just like we would.

Homework Schedule

Topic Due 3:30 pm on Tue
1 - types and expressions 1/18
2 - functions and memory management 1/25

Late turn-in policy

Late turn-ins are not accepted, as solutions are often discussed in class immediately after the due date.

If you for whatever technical reason cannot commit your homework to the repository on time, make a tarball of your homework directory and email it to Tim Merrifield <>. Then, commit your homework (unchanged) to the repository ASAP, and let Tim know the revision number. The tarball will not be graded; it simply serves as a time stamp allowing you to commit your code after the due date.

WARNING: Do not change your turn-in between sending the tarball and committing the code. Any differences between your tarball and the indicated revision of the code will be considered cheating.

Planned homework topics

This list is preliminary and will be updated throughout the course of the semester.

  1. Understanding types and expressions in C
    1. structs, primitive types and typedefs
    2. type casting
    3. create a Virtual Machine and install Linux
    4. start using subversion for turn-in
  2. Functions and memory management
    1. calling conventions and the call stack
    2. stack vs. heap allocation
    3. heap allocation with malloc() / free()
    4. also, compile and install your own Linux kernel
  3. Data structures in C
    1. generic doubly-linked list
    2. generic binary heap
    3. or alternatively, a Rope
    4. debugging with gdb
    5. profiling with gprof
  4. Homebrew command line interpreter
  5. Concurrent programming and synchronization
  6. Inter-process communication
  7. A faster malloc() and free()
  8. Roll your own USB-stick file system
  9. Exploiting vulnerabilities and cracking binaries
Edit | Attach | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2011-01-05 - 21:47:59 - Main.jakob
Copyright 2016 The Board of Trustees
of the University of
Helping Women Faculty Advance
Funded by NSF