Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Software Dev Cycle As Part of CS Curriculum? 431

tcolvinMI wonders: "I graduated from a small private college a few years ago with a degree in Computer Science. The main focus of the program, at this particular college, was to give you the tools necessary to be able to learn any programming language based on conceptual information, while having been introduced to several popular languages such as VB, C, C++, and Java. However, there was no 'final project' course that introduced a student programmer to the process of software development as a whole. Today, I was talking with a professor and pitched the idea of introducing such a course that would allow students to essentially go through the entire process from design to deployment. Is there any need for such a course? If so, what lessons would you place an emphasis on? So far, my idea is to allow a student to design an application that can be completed within the alloted time frame, develop in an approved language (one they've had and one the professor also knows), go through the QA process and then finally deploy the app to be evaluated by the other students in the class, who have not participated in the project." If you went CS, how well did your lessons prepare you for real project work? If you had a chance to prepare other college students for a career in development, what things would you teach them, and why?
This discussion has been archived. No new comments can be posted.

Software Dev Cycle As Part of CS Curriculum?

Comments Filter:
  • by MeanMF ( 631837 ) on Saturday November 11, 2006 @07:05PM (#16808840) Homepage
    I think there should be one project that the whole class contributes to. That way the students can get used to working with a bunch of morons.
  • by MyLongNickName ( 822545 ) on Saturday November 11, 2006 @07:09PM (#16808870) Journal
    Oh, BTW. If you mod this funny, then you are not a software developer. If you were a software developer, you'd be too busy having a post traumatic stress flashback to moderate.
  • by Who235 ( 959706 ) <`moc.aic' `ta' `9xtnegaterces'> on Saturday November 11, 2006 @07:17PM (#16808972)
    (I went to school 25 years ago, but for Soviet Studies, not CS)


    In Soviet Russia, software develops you. . .

  • by khasim ( 1285 ) <brandioch.conner@gmail.com> on Saturday November 11, 2006 @09:29PM (#16809932)
    It is not a monopoly in the sense that people have no choice. People could choose Macintosh or Linux, but they choose to use Windows instead. My point stands.

    Well it is obvious that your understanding of the market exceeds even that of federal judges who have studied it for years. No one can doubt your logic.
  • by Anonymous Coward on Saturday November 11, 2006 @10:07PM (#16810196)
    I always figured I would teach a 16 week course where students would refine the specs, write the code, and test - all the typical boring crap. Then, a week before it is due, I would create significant changes to the specifications that would require several all nighters to get the work done.

    Everyone would be graded on the first version, in fact, I wouldn't care if they even completed the revised version, but I want them to think their final grade depends on every change being made. I figured the insight they would gain to the true development lifecycle would be the most valuable nugget of knowledge they could take away from school. For their final, I would welcome them all to the real world (and of course I would let them in on my devious plot), and then take me class out for pizza.

    Software engineering isn't about writing code. It's about finding ways to maintain your sanity while developing a product for which you never have complete specifications.
  • by Foryst ( 870882 ) on Sunday November 12, 2006 @12:30AM (#16810944) Homepage
    Well, we actually did have a required course for this at my school, so was a little more like this: Pre-semetser: Get various groups to pitch ideas for "free custom software" as produced by local college seniors. Week 1: Students group up in 5 man teams and decide to accept which ever seems the most real-world (i.e. least work) Week 2: Meet with customers to define what they want and get them to sign a contract. Week 3-4: Slack off, while team leader works at defining goals with customers. After sign-off. Week 5-6: Write stuff in notebooks pretending to "design" and wonder when the designated guy for the test phase (Week 10-14) will show up to class again. Week 7: Actual design begins, usually with the local LUG fanatic trying to pinpoint exactly how linux is the best solution to merge into the client's proprietary Windows database. Week 8-12: One guy codes most of it, with the LUG guy saying how much easier this would've been on Linux, while the team leader fends off creeping requirements, and the documentation/research and testing leads party. Week 13: It's realized that there's no possible way to give them exactly what they want, but the client gives your grade, so you cut corners, swear at the lazy (and missing) doc and testing people, and figure out how thick to lay on the B.S. to the client to convince them that this is their dream machine. Week 14: Spend all weekend installing stuff that non-techies will have to manage, while the team leader massages them into giving an 'A'. Week 15: Graduate, with knowledge that you'll never have to touch that duct-taped piece of hackwork again. Week 20: Field job offers from M$ajor corporations.

Those who can, do; those who can't, write. Those who can't write work for the Bell Labs Record.

Working...