1) Multithreaded ftp client in C. It had to dynamically contact ftp servers and download chunks of the requested file in separate pieces from each server and put them together afterwords. It also had to be able to restart threads when problems happened with the server and try to download the file chunk from another server, as well as return one of ten return codes based on any errors that happened, if any. It also had to support passive and active ftp modes, as well as both binary and ascii download mode, as well as a slew of other features. This was my 3rd C program EVER. What a great introduction to C (or more like slap in the face)! Time investment: 50 hours.
2)Steiner tree heuristic suite in C++. This was a term project where we weren't allowed to use any preexisting data structures and had to implement six separate algorithms to approximate solutions to the steiner tree problem. All but one of the algorithms given were designed by the professor in his research, and the left over one had to be designed by myself. Once we had the algorithms working, we had to provide animations to show them working to the user. The fact that I had to build several data structures from scratch, implement very complicated algorithms given in confusing notation, and deal with animations afterward made this a hell of an assignment. Time investment: 60 hours.
3) Implement real time processes in Minix. This project was a swift introduction to Minix, most likely intended to make students drop the operating systems class in the first couple weeks. Basically, the instructions were to "implement a real time process system call in Minix, designed to allow the calling process to run ahead of any other user process for the requested time, but still preemptable by system processes." I had to figure out how to do this, which involved reading and understanding a ton of Minix code written in the 1980s and then figuring out where to make changes. All in all, I had to modify ten files in the OS with about 30 total lines of code. When I made mistakes, there was no feedback from the OS -- it just crashed. Makes me frustrated just thinking about it xD. Time investment: 45 hours.
I must be a glutton for punishment, as I'm going to be attending grad school for even more of this (with more of a research focus, of course)!
I'd love to hear about the toughest projects you guys have done, whether in CS or not.