|
I'm about to finish my undergraduate CS work, and it's fun to look back and think about the most difficult projects I ever had to do. Starting with the hardest (at the time), with a time investment estimate:
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.
|
For my math assignments I typically spend a whole day writing about 10-20 pages each.
|
haha nothing that crazy yet but I expect something crazy to show up next semester or later. So far the worst would be: 10 hours debugging/10 hour math homework still have it easy :D
i head threading in C is a bitch
|
Only a freshman right now.. but toughest so far is probably when I first learned about pointers in CS and I had to debug for many hours. Time investment: 15 hours
|
Building a bridge with cardboard to maximize load while minimizing weight. Grades assigned relative to other groups' ratios. Model the bridge with Solidworks and predict maximum load, grades assigned based on the correctness of the estimate. Maybe 50 Hours.
Design an iPhone application to parse input data and play segments of a video. This was a bitch since no one knew how to code with Objective-C. Maybe 30 Hours.
Design a course-enrolment application for my program. Wrote most of this myself for four people... Maybe 50 hours of work. This might actually get selected and used by the students.
|
Every quarter my hardest assignment gets harder and harder and beats out the previous quarters.
Somehow, even though I'm not following a particular order and am just picking relatively random upper division courses, the professors seem to be assigning more and more stupidly hard material and assignments to go with them...
This quarter I have a term paper where I need to criticize part of Heidegger's work...my professor is a staunch proponent of Heideggerian existentialism, the mother fucker. -_____-;;
|
|
On June 08 2009 12:41 Caller wrote: Prove: 1+1 is 2
i dunno if this is a joke, but proving that 1+ 0 = 1 in one of the courses was actually quite time consuming and annoying as hell given the restrictions placed on the assignment
as for the most difficult.. i'm not sure. i'd imagine the most time consuming definitely goes to one of the CS projects, while the most difficult to one of the finance ones. can't remember any specifics though, i tend to block those from my memory ^_^
|
On June 08 2009 12:41 Caller wrote: Prove: 1+1 is 2 I have one apple and I get another apple. I now have 2 apples. 1 + 1 = 2
|
On June 08 2009 12:41 Caller wrote: Prove: 1+1 is 2
Damn you've had it easy then if that's the hardest thing you had to do.
|
Some of my advanced calculus classes were extraordinarily difficult and time consuming to deal with.
Toughest assignment yet(well work in progress)? Dissertation shits on anything and everything, trust me.
|
United States17042 Posts
|
United States17042 Posts
|
Yes, but that was a different project with different goals. The actual proof that you'd do in college shouldn't take 10 hours.
|
Back when I was in Construction Management pretty much every quarter at least one of your classes ended with a final project that was the design of a building/structure of some sort.
First quarter wasn't that tough, just time consuming. (also, any failures our group made were entirely overshadowed by the fact that one group in our class had an elevator in their building that magically passed through the third floor 60 feet to the west of where it was on the 2nd and 4th floors. Sounds funny, but just remember, those people will be designing/building the buildings you live/work in in a few years.)
Second quarter it was part of an english class so the level of scrutiny was negligible. (although I was the only CM in a group with an Electrical Engineering student, a Biomedical Engineering student, a Management student and a holy crap useless Business major, so the project was almost all me.)
Then after that they got crazy hard but now I'm not a CM so it was all for credits that transferred as 'elective' when I changed schools.
Edit: To clarify, I'm not calling all business majors useless, just that particular one.
|
|
but isn't pricinpia or w/e it's called disproved by that godel dude? xD
|
On June 08 2009 12:22 Exteray wrote: Only a freshman right now.. but toughest so far is probably when I first learned about pointers in CS and I had to debug for many hours. Time investment: 15 hours
AHahHAa pointers! <3
|
On June 08 2009 12:46 Dgtl wrote:I have one apple and I get another apple. I now have 2 apples. 1 + 1 = 2 This is an empirical demonstration. What proves me you are intelligent enough to not make an error while counting apples? You may be crazy. What if another guy counts the same apples and get 1+1=3? The only way you can 100% prove 1+1=2 is by using pure maths. That's the only thing we can verify 100%.
|
In my first year CS class, we had to make an online RPG. It was only text based and I already wanted to kill myself.
|
On June 08 2009 12:46 Dgtl wrote:I have one apple and I get another apple. I now have 2 apples. 1 + 1 = 2
What's 'one'? What's 'two'?
You have to define the axioms first...
|
implementing dynamic memory allocation for an array of pointers to structs in c with a horrible teacher and no book. -30hours which really sucked compared to everything else up to that point that took a max of 3 hours. Good part is I learned all that I will hopefully ever need to know about the subject. It also made me appreciate java to a new extent.
I actually can't wait to take my data structures class. So much fun.
|
The first college assignment I got was this and was probably the hardest too if you compare it with how much we knew: F(N) is the N'th term in the fibonacci sequence: F(n+2)=F(n+1)+F(n), F(0)=0, F(1)=1. Prove that GCD(F(N),F(M))=F(GCD(N,M)) GCD(N,M)= greatest common divisor of N and M. (We had just highschool level maths knowledge by then, took me days to prove)
|
1) Building an interpreter for the XQuery programming language using Java. Just a sheer amount of work: tens of thousands of lines of code over an 8 week period of time. My partner and I easily spent over 150 hours each on the project.
2) Building a compiler for a significant subset of the C programming language using Java, compiling down to SPARC assembly. Similar time commitment as the XQuery interpreter.
3) A basic MMORPG/chat client, accessible as a web service. I was the only person on the team who knew Java Swing and JMS. Another guy on the team wrote all the SQL/JDBC stuff. The other 4 team members were circle jerking the entire quarter; they did nothing. I spent all of my time coding, pulled 8 all-nighters, and developed RSI in my right hand, forcing me to permanently become a left-handed mouse user. This project helped destroy my relationship at the time, for the above reasons (got dumped at the end of the quarter, sweet!).
The most difficult part about Computer Science projects, was that they were designed to be large enough for teams of 2-8. So you couldn't just bust it yourself or you would die (see #3 above). If I had to do it all over again, I wouldn't.
|
On June 08 2009 12:28 Cambium wrote: Design an iPhone application to parse input data and play segments of a video. This was a bitch since no one knew how to code with Objective-C. Maybe 30 Hours.
Have you (or anybody else) written any other iPhone apps?
I was thinking of learning Objective-C because I have some ideas for that little bugger. =]
|
On June 08 2009 15:04 evanthebouncy! wrote:but isn't pricinpia or w/e it's called disproved by that godel dude? xD
Not 'disproved' but shown to be necessarily incomplete.
The hardest thing I've ever done is my master's thesis. And I'm still not done yet -_-;
|
On June 08 2009 22:07 HeadBangaa wrote: This project helped destroy my relationship at the time, for the above reasons (got dumped at the end of the quarter, sweet!).
Haha I feel you man, same thing happened to me when I was doing the multithreaded ftp client I talked about in the OP, while creating a compiler from scratch, while doing the steiner tree project I talked about in the OP. It was like 90 hours a week in the lab, my gf at the time was so pissed. A friend of mine pulled all nighters that quarter and ended up getting some kind of terrible skin virus. At the end of the quarter when I had finished all my finals, I felt like I was leaving prison. So weird... I was like WTF I HAVE FREE TIME?!? and I couldn't function outdoors for a couple days =) It was miserable but I learned so much, and ended up getting a 4.0 that quarter so I guess it was worth it for me.
|
Learning 20 chapters of physics without going to the class because of the terrible teacher. I got a C --;. SEVEN HUNDRED PAGES??WTF
|
|
On June 09 2009 05:40 AcrossFiveJulys wrote:Show nested quote +On June 08 2009 22:07 HeadBangaa wrote: This project helped destroy my relationship at the time, for the above reasons (got dumped at the end of the quarter, sweet!). Haha I feel you man, same thing happened to me when I was doing the multithreaded ftp client I talked about in the OP, while creating a compiler from scratch, while doing the steiner tree project I talked about in the OP. It was like 90 hours a week in the lab, my gf at the time was so pissed. A friend of mine pulled all nighters that quarter and ended up getting some kind of terrible skin virus. At the end of the quarter when I had finished all my finals, I felt like I was leaving prison. So weird... I was like WTF I HAVE FREE TIME?!? and I couldn't function outdoors for a couple days =) It was miserable but I learned so much, and ended up getting a 4.0 that quarter so I guess it was worth it for me. Haha, exactly! "IM FREE! ...now what?"
4.0 quarter, fuck. Only in my wildest dreams. gj~~
|
Bot edit.
User was banned for this post.
|
|
|
|