Computer Science & Software Development

Me and my lack of sleeping habits meant today started off with a deep regret over staying up last night. I’ve been plodding along in my day, working on getting some screens together for client approval. Also, got some money things taken care of over lunch. It’s depressing when my check for the entire month has already been accounted for future expenses. Into savings where I can’t access it with a debit card. However, it’s a great feeling to check that off the list.

Took a bathroom break mostly to stretch my legs, and came back to a tweet to check my email. An unexpected opportunity has presented itself and now has me completely distracted. So I’m going to write about Joel Spolsky’s post: “Capstone projects and time management”.

Time management is usually to blame. In a group of four students, even if one or two of the students are enterprising enough to try to start early in the term, the other students are likely to drag their heels, because they have more urgent projects from other classes that are due tomorrow. The enterprising student(s) will then have to choose between starting first and doing more than their fair share of the work, or waiting with everyone else until the night before, and guess which wins.

I have experienced working with a student who perhaps had time management under control, but not realistic expectations of the work required. My partner certainly talked the talk of an enterprising student. This student liked getting things done early. I would even venture to say this student doesn’t even procrastinate, because he or she schedules when homework is worked on and gets things done in that allotted time. However, revisiting the work to improve the product wasn’t even on this student’s agenda. Doing it once was acceptable, so there was no time scheduled by this student to do more work. That extra work fell on my shoulders and created serious time crunches for me.

If anything productive is to come out of these kinds of projects, you have to have weekly deadlines, and you have to recognize that ALL the work for the project will be done the night before the weekly deadline. It appears to be a permanent part of the human condition that long term deadlines without short term milestones are rarely met.

I admit it, I do procrastinate and I work best against deadlines. I need them badly. Unfortunately, thus far I haven’t been able to make imaginary deadlines for myself. They have to be fast and hard and very much real. Thankfully, the Compliers course at DePauw is already set up in this deadlines every two weeks manner. I can’t imagine it any other way without complete and utter failure. Which is why I think Senior Project will be very interesting, since these are deadlines that the students (for the most part) set themselves.

Joel offers his company’s products for free to students working on projects. I plan on using it for my senior project, and am almost going to attempt to use it for Team MangoBunnies’ Imagine Cup 2010 submission. I think it’ll be great preparation for working on a real project in the real world, since that’s coming up next summer. (Which is exciting, cause then I can change my Twitter bio to something else since I’ll have moved on to what I’ve been waiting!)

I do want to state that while I greatly appreciate and support Joel in advocating for more relevant education, I don’t think things need completely overhauled. While my liberal arts classes outside my major were some of my most frustrating (*cough* Religion *cough* College Writing II with professor who told me what I was doing wrong couldn’t be taught *cough*), I don’t think I’d be the same candidate I am now without those struggles. (Granted, still hate those things, but that’s why I’m waiting for the end of my undergraduate experience. I’m moving on.)

On this note, I think Mark Dennehy’s post “Joel Spolsky, Snake-Oil Salesman” is a must follow-up read. The discussion that follows in the comments makes some good points.

Here’s my take on the debate between the two posts. I entered my college experience knowing I wanted to program. I had no clue about the different majors or why the different names existed. My high school had one programming course, in which the teacher skipped over the sections of the step-by-step Visual Basic 6 book he didn’t understand. (I sat in the back with the other kid who got his weekly assignments done on day one, and screwed around a lot. And attended band a lot.) DePauw University is a small school, so the only degree that involve computers is Computer Science. After getting into the degree, I came to the conclusion that if one wanted to enter grad school, this was the route to go. I knew I wasn’t interested in continuing my education right after my undergrad degree. That meant serious effort was needed to obtain internships that would make me marketable as a future employee.

I fully agree that there needs to be an emphasis that describes the differences between Software Engineering and Computer Science. Granted, even so, I’m not sure if going back I would’ve chosen a different route. I love the CS faculty at DePauw, and I’m happy with the path I’ve ended up which was a direct result of opportunities from being at DePauw. I am glad that DePauw now has a Software Development course, and I will be curious to see how and if that benefits students. Improvements I would love to see is the inclusion of version control on semester long projects and bug tracking for the Compilers course. That would be some real world experience.

2 Responses to “Computer Science & Software Development”

  1. Danielle says:

    I agree with most of what you say here! Version control and bug tracking would be awesome additions. For me, internships have been exactly where I learned most of my real programming knowledge. The classes have taught me a lot of theory and a solid basis for continuing to learn, but without my internships/research I would not feel nearly as competent with programming. I feel they are absolutely a must if you’re not looking to go to grad school right away.

    With thesis and project, deadlines will have to be kept, and I’m not always the best at setting them myself… I’ll just have to get better! :)

    ReplyReply
  2. Ashley says:

    Yup, no way I’d be this comfortable programming without my one summer of research and my internships. Out of curiosity, with what of my post did you disagree? It was a major stream of consciousness, without much editing/reading over what I wrote.

    ReplyReply

Leave a Reply

Subscribe without commenting