Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

[ Create a new account ]

Cooperation in CS Education?

Posted by Cliff on Tue Oct 02, 2001 01:25 PM
from the practical-lessons-in-todays-curriculums dept.
fwitness asks: "The college I currently attend, like most colleges, is on a form of 'Academic Honesty Policy'. It has been explained to me in various ways, but mostly it boils down to: If you catch someone's code out of the corner of you eye, that's cheating, and you need to come up with your own 'original' ideas. I'm a CS major, so I write a lot of code, and I imagine when I get in the work force, I'll be writing a lot more. The difference is, in the workplace, I'll be in a team of people. I won't have control and I'll have personnel and political issues to deal with in addition to my job. So far I've had one class that actually demonstrated this principle, and I'm pretty much finished all my CS courses. I know the college has to do this so they can somehow grade 'my' code and assess my performance. Isn't there a better way? A way that students can be taught to work as a team yet still be able to tell who is pulling their own weight and who is not?" I always enjoyed working in teams during my college education, yet found that projects, where you were allowed to work with others, were few and far between. Do you all feel that technical courses should show a bit more emphasis on working with others, or is this just one of life's lessons that you pick up as you go along?
This discussion has been archived. No new comments can be posted.
Cooperation in CS Education? | Log In/Create an Account | Top | 412 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1) | 2 | 3
  • Group Projects (Score:3, Interesting)

    by NitsujTPU (19263) on Tuesday October 02 2001, @01:28PM (#2379202)
    In college I did group projects where we were required to document our individual contributions. Usually at the head of all of our code was a commented out section marking the dates that the code was modified, who modified it, and what they did.
    • Re:Group Projects by Sir_Real (Score:3) Tuesday October 02 2001, @01:39PM
    • Re:Group Projects by Cato the Elder (Score:1) Tuesday October 02 2001, @02:04PM
    • Re:Group Projects by Bastian (Score:2) Tuesday October 02 2001, @02:11PM
    • Re:Group Projects by SonCorn (Score:2) Tuesday October 02 2001, @02:13PM
      • Re:Group Projects (Score:4, Insightful)

        by scottnews (237707) on Tuesday October 02 2001, @02:52PM (#2379936)
        From my experience, professors do not look so closely at the individual student.

        My University does the opposite. With the exception of CS 102 and 103, Java programming 1 and 2, all of our classes are group classes. I almost every case, in a group of 5, 1 or 2 of the 5 would carry the load while 1 or 2 would do virtually nothing.

        I had software engineering last spring. Its a senior level class. One of my group members did not know how to send attachments in Hotmail. She didn't know what a .zip file was. Our project was to make a checkers program in VB. She is not from the USA, so she didn't know how to play checkers. By the end of the semester, she STILL did not know how to play checkers. The exams covered software engineering concepts from the book, not VB code. Its been my experience that the test cover concepts, while leaving the actual code out.

        Yes we had a spreadsheet to show our time, we used MS Project. But the problem is the group assignments take up a lot of time while making up only between 10 and 20 percent of our grade. You could get a D in the group, do well on the exams, and receive a B for the course.

        My last semester here and I am doing all my work alone. Both my advanced assembler and networking classes use groups. It seems the student learns more when they are by themselves. It is very easy to get by on the back of the group here.
        [ Parent ]
    • Re:Group Projects (Score:4, Insightful)

      by stilwebm (129567) on Tuesday October 02 2001, @02:27PM (#2379750)
      This is similar to what we did at my alma mater. The only addition was that we graded our teammates at the end of the assignment. Usually on a scale of 1 (contributed little) to 5, this was factored in to a portion of the project grade and/or final grade. This was usually sufficient motivation to make everyone do their part and contribute. The professors who used this system let its participants mostly govern themselves. They even suggested working on core competencies, just like a real world situation - if someone better at the input parsing, let him/her do that while another teamate may focus on the mathematics involved.

      The best way to teach responsibility is to give the student responsibility.
      [ Parent ]
    • Re:Group Projects by Miles (Score:1) Tuesday October 02 2001, @02:54PM
    • Re:Group Projects by mysteron (Score:1) Tuesday October 02 2001, @04:10PM
    • Re:Group Projects by NitsujTPU (Score:1) Tuesday October 02 2001, @01:39PM
    • Re:Group Projects by ferringb (Score:1) Tuesday October 02 2001, @03:11PM
    • Re:Group Projects by RatFink100 (Score:1) Wednesday October 03 2001, @07:09AM
    • 3 replies beneath your current threshold.
  • Teach working with others... by nob (Score:1) Tuesday October 02 2001, @01:30PM
  • Out of touch by djweis (Score:1) Tuesday October 02 2001, @01:30PM
  • Just acknowledge collaboration by Miles (Score:2) Tuesday October 02 2001, @01:30PM
  • Work Study/Internships by PinkStainlessTail (Score:2) Tuesday October 02 2001, @01:30PM
  • Source control.. by Smallest (Score:2) Tuesday October 02 2001, @01:31PM
    • 1 reply beneath your current threshold.
  • How about using CVS? by quakeslut (Score:1) Tuesday October 02 2001, @01:31PM
  • Depends (Score:3, Insightful)

    by jiheison (468171) on Tuesday October 02 2001, @01:32PM (#2379241) Homepage
    While working in teams is gong to be essential to just about any kind of job, people learn at different paces and in different ways. Working in a team is quite different to learning in a team. It seems to me that teamwork is almost a discipline in and of itself.
    • Re:Depends by stevemitre (Score:1) Tuesday October 02 2001, @01:56PM
      • Re:Depends by hansk (Score:1) Tuesday October 02 2001, @02:32PM
        • Re:Depends by jiheison (Score:1) Wednesday October 03 2001, @12:58PM
  • by Zoop (59907) on Tuesday October 02 2001, @01:32PM (#2379242)
    The hard sciences do this all the time, because that's how hard science is generally done--in a team setting.

    My dad teaches occasionally at local community colleges (physics) and has labs. Sometimes he counts on the students to police one another (political but doable) and sometimes he has a monitored lab where they do something at the bench and he can observe who is just hanging back or simply copying results into the journal, etc.

    So, not being in the position myself, I'd suggest bringing up the idea with some physics or chem prof who does this sort of thing who you may have run across. If they're at all clueful about computers, they might have some interesting ideas, or at least tell you enough for you to bring up a concrete idea to a CS prof you know and have a good rapport with.
  • Work vs. School by FortKnox (Score:2) Tuesday October 02 2001, @01:32PM
  • What happened when you applied for a job? by jdavidb (Score:1) Tuesday October 02 2001, @01:32PM
  • My perspective as a current student by dozing (Score:2) Tuesday October 02 2001, @01:33PM
  • Software teams (Score:4, Interesting)

    by wiredog (43288) on Tuesday October 02 2001, @01:33PM (#2379255) Journal
    My first job, lasted 5 years, I was the only programmer in the company. At this job I'm on a team, but I'm the C++ Guy. We also have an Oracle Guy, An HTML Guy, etc. Just because you're part of a team doesn't mean that you won't be by yourself much of the time.

    Actually, at my first job I was part of a team. A Programmer, an electrician, a machine shop guy, an Autocad/designer guy. That was the main team.

  • There should be some of both by Ghengis (Score:2) Tuesday October 02 2001, @01:33PM
  • University Of Phoenix by lostindenver (Score:1) Tuesday October 02 2001, @01:34PM
  • Working as a team (Score:3, Insightful)

    by NewbieSpaz (172080) <nofx_punkguy@@@linuxmail...org> on Tuesday October 02 2001, @01:34PM (#2379264) Homepage
    I remember when I did a programming assignment a few years back in college, where one of the guys in the group and I did most of the work. We had told the professor that the other two were not keeping up their end of the work, but she was stubborn in not repremanding the slackers. The only reason the other guy (who was doing the work) and I continued to do the assignment and carry the other two slacks was to earn a decent grade for the project. My point in this all, it that working as a team can be a great experience if the professor keeps tabs on the situation and ensures that everyone has done their fair share. Thank you.
    • Re:Working as a team by RU_on_weed (Score:1) Tuesday October 02 2001, @01:49PM
    • Re:Working as a team (Score:4, Interesting)

      by cavemanf16 (303184) <cavemanf16&gmail,com> on Tuesday October 02 2001, @01:51PM (#2379425) Homepage Journal
      ...and to add to your comment:

      In the workplace, it takes a LOOONNGGG time to can the slackers. After all, you want to have plenty of evidence against them so that you don't get a messy lawsuit about unfair discrimination of their undiagnosed on-the-job narcolepsy after you fire them. So putting up with the slackers usually doesn't stop after high school and/or college.

      However, I do think CS students should be required to take at least one in-depth course on how to work in a team setting (and not just a senior project, I'm talking a course dedicated on how to work in a team). There are plenty of programmers and techies out there that don't work well with others, and that makes it harder to get your own work done much of the time in the corporate world.

      [ Parent ]
    • hey doormat by ReidMaynard (Score:1) Tuesday October 02 2001, @01:51PM
    • Re:Working as a team by ordinarius (Score:2) Tuesday October 02 2001, @02:09PM
    • Re:Working as a team by nick_danger (Score:3) Tuesday October 02 2001, @02:17PM
      • 1 reply beneath your current threshold.
    • How we managed slacking on team projects by billstewart (Score:2) Tuesday October 02 2001, @09:03PM
    • Re:Working as a team by unitron (Score:2) Tuesday October 02 2001, @10:26PM
    • 1 reply beneath your current threshold.
  • Well... (Score:5, Insightful)

    by khyron664 (311649) on Tuesday October 02 2001, @01:34PM (#2379267)
    Having relatively recently graduated from college, I don't really see a way that this can be done. Most of my group experiences involved maybe half of the group caring about their grade, and the other half being ok with a C. You then end up with an extremely unbalanced work load as the ones who care the most do the most and produce the better product. Then they usually have to go around and fix up the people's work who really didn't care as much. All in all, it rarely leads to a produtive group and doesn't teach you much about the work force.

    That being said, I have been involved in good groups, and those have been fun. When the work is divided evenly and everyone wants to do well, you end up with a higher quality product for less work per person. They have lately attempted a rating system of teammates, but I really haven't seen much come out of that. That could work, but unless you see everyone's grades (and since I was a student I didn't) you can't know for sure.

    Bottom line is you can't ever differientiate any one person's work in a group effort. In the terms of code, if a module is crap and buggy, I'd rather rewrite it correctly than fix crappy code. That "hides", so to speak, the original authors work. Group work really isn't the way to evaluate individual people.

    Personally, I think the beginning years should be individual work as you learn the basics, and the later years group work. You'll have to find a way to account for each person's abliity though, which isn't easy.

    Basically, it isn't an easy thing to do. :)

    Khyron
    • Re:Well... by beej (Score:1) Tuesday October 02 2001, @01:48PM
      • Re:Well... by khyron664 (Score:1) Tuesday October 02 2001, @01:53PM
        • Re:Well... by Mr. McGibby (Score:1) Tuesday October 02 2001, @05:11PM
      • CVS logs... by tve (Score:1) Tuesday October 02 2001, @05:39PM
        • Re:CVS logs... by tpledger (Score:1) Tuesday October 02 2001, @08:54PM
      • Re:Well... by FireWhenRady (Score:1) Tuesday October 02 2001, @10:10PM
    • Re:Well... by Quizme2000 (Score:3) Tuesday October 02 2001, @01:58PM
    • Re:Well... by Anonymous Coward (Score:1) Tuesday October 02 2001, @01:59PM
    • Re:Well... by Logic Probe (Score:2) Tuesday October 02 2001, @02:04PM
      • Re:Well... by Bangback (Score:1) Tuesday October 02 2001, @02:26PM
    • Re:Well... by Smallest (Score:1) Tuesday October 02 2001, @02:05PM
    • Re:Well... by jiheison (Score:1) Tuesday October 02 2001, @02:16PM
    • It Can Be Done by Knight2K (Score:1) Tuesday October 02 2001, @02:29PM
    • Re:Well... by thenerd (Score:1) Tuesday October 02 2001, @02:41PM
    • Re:Well... by bteeter (Score:2) Tuesday October 02 2001, @02:45PM
      • Re:Well... by khyron664 (Score:1) Wednesday October 03 2001, @11:08AM
    • Re:Well... (Score:4, Insightful)

      by Rupert (28001) on Tuesday October 02 2001, @02:51PM (#2379918) Homepage Journal
      You then end up with an extremely unbalanced work load as the ones who care the most do the most and produce the better product. Then they usually have to go around and fix up the people's work who really didn't care as much. All in all, it rarely leads to a produtive group

      That sounds exactly like where I work. I don't know where you are employed that you think this

      doesn't teach you much about the work force

      but I'd be interested in hearing if they're hiring.
      [ Parent ]
    • Adjusting for unequal skills by crystall (Score:1) Tuesday October 02 2001, @04:54PM
    • Re:Well... by dillon_rinker (Score:3) Tuesday October 02 2001, @05:08PM
    • Re:Well... by cjf242 (Score:1) Tuesday October 02 2001, @09:43PM
    • Re:Well...Grades not Learning are Motivation by Darth_Burrito (Score:1) Tuesday October 02 2001, @11:51PM
    • Re:Well... by sonarniche (Score:1) Wednesday October 03 2001, @12:14AM
      • 1 reply beneath your current threshold.
    • Re:Well... by stil (Score:1) Wednesday October 03 2001, @12:35AM
    • Re:Well... by jpmrst (Score:1) Wednesday October 03 2001, @01:04AM
    • Re:Well... by gorilla (Score:2) Wednesday October 03 2001, @08:17AM
    • Re:Well... by audunf (Score:1) Wednesday October 03 2001, @08:58AM
    • 2 replies beneath your current threshold.
  • Teamwork is a really big deal (Score:3, Informative)

    by 0xA (71424) on Tuesday October 02 2001, @01:35PM (#2379268)
    I don't think I've ever been involved in a coding project where I haven't been part of a team. I think it would be really helpful for CS programs to do more team based assignments but it probably goes a little deeper than that.

    The more experience you can gain working as part of a team the better. Try spending time in fun projects sponored by you're local LUG, or the chess club or whatever. The other thing that will help a lot with this is sports, I played all kinds of team sports (hockey, football, rugby) when I was a kid and I think the experience really helped me with my proffessional development. The time I spent coaching a bantam (14 and 15 year olds) football team in high school was especially helpful when I became a team leader a few years ago.

    In short, it wouldn't hurt to push for more team based assignments but just about any experience you can get working or playing with others can be helpful.

  • Ideas and individual projects by MrBubbles (Score:1) Tuesday October 02 2001, @01:35PM
  • by well_jung (462688) on Tuesday October 02 2001, @01:35PM (#2379278) Homepage
    Really, how can cooperation be discouraged the way it is in CS? What it comes down to is problem solving. Small groups are ALWAYS better at problem solving than an individual.

    That's why us Math majors always did our homework together. Were we cheating? By definition, probably. But did we help each other to understand the prblems and solutions better than we would have otherwise? Definately.

    I understand and support the idea that stealing code should be punished, and straight copying investigated. But if the goal is to develop understanding, give the suspects a chance to solve a similar problem, and see if they really understand what's going on.

  • One college that emphasizes the group effort. by Pentomino (Score:1) Tuesday October 02 2001, @01:36PM
  • Way back when I was in school... by KaiserSoze (Score:2) Tuesday October 02 2001, @01:36PM
  • My take.. by mgoyer (Score:2) Tuesday October 02 2001, @01:36PM
  • Using CVS for class projects by jswitte (Score:1) Tuesday October 02 2001, @01:36PM
  • In ebgineering... by Drakula (Score:2) Tuesday October 02 2001, @01:37PM
  • Grading group projects (Score:4, Interesting)

    by DudeTheMath (522264) on Tuesday October 02 2001, @01:37PM (#2379294) Homepage
    As a math instructor at the Univ of Michigan, I assigned all homework in a couple of my classes as group homework; but each individual reported separately on both their own contribution and that of others in the group (just a sentence or two).

    In groups of four or so, this self-reporting was almost always an easy way to keep track of who was working and who wasn't. Quizzes and tests also revealed some slackers.

    I only had one truly fractured group in those terms, where none of the reports agreed. I broke them up and changed some groups.

    I would do it again. Not only did I grade fewer homework papers :), but the students learned to work together, assign responsibilities, and evaluate performance within their group, which are all important workplace skills.

  • Think about it like math... by Gogl (Score:2) Tuesday October 02 2001, @01:37PM
    • 1 reply beneath your current threshold.
  • The problem by Shotgun (Score:2) Tuesday October 02 2001, @01:37PM
  • Software Engineering course taught teamwork by DaveWhite99 (Score:2) Tuesday October 02 2001, @01:37PM
  • University of Florida CS by mattbelcher (Score:1) Tuesday October 02 2001, @01:37PM
  • Be careful what you ask for by hawaiianshirt (Score:1) Tuesday October 02 2001, @01:38PM
  • Grading in team settings. by magnetHEAD (Score:1) Tuesday October 02 2001, @01:38PM
  • team projects +/- by shibut (Score:1) Tuesday October 02 2001, @01:39PM
  • It was simple when I studied CS by Sagarian (Score:1) Tuesday October 02 2001, @01:39PM
  • @Duke by dukethug (Score:1) Tuesday October 02 2001, @01:39PM
  • but make it a useful focus on teamwork, please by ethereal (Score:2) Tuesday October 02 2001, @01:39PM
  • no group work by wishus (Score:2) Tuesday October 02 2001, @01:39PM
    • 1 reply beneath your current threshold.
  • This DEFINITELY needs to change by Uttles (Score:2) Tuesday October 02 2001, @01:39PM
  • Our group projects by Telek (Score:2) Tuesday October 02 2001, @01:39PM
  • Basic coding skills... by vishakh (Score:1) Tuesday October 02 2001, @01:40PM
  • Learning CS vs Learning Teamwork by Washizu (Score:1) Tuesday October 02 2001, @01:40PM
  • group work by hidden vampyre (Score:1) Tuesday October 02 2001, @01:40PM
  • different perspectvie by greysky (Score:1) Tuesday October 02 2001, @01:40PM
  • Differences between work and college (Score:5, Insightful)

    by bhurt (1081) on Tuesday October 02 2001, @01:41PM (#2379334) Homepage
    By someone who has been in both:

    1) At work, it's OK to say "I don't know the answer to that question- try asking Bob, he may know."

    2) Work is an open book test. Sitting at my desk now, I have four different books open, and dozens more closed and stacked close to hand.

    3) If you find code lying around that someone you don't even know wrote ten years ago, polish it up a bit and use it, this is called code reuse and is strongly encouraged.

    4) At work, code you wrote years ago comes back to haunt you. Programming is like sex- one mistake and you're supporting it forever.

    5) At work, code other people wrote years ago comes back to haunt you. "Ted left the company six years ago, but some of his code has a bug. Go forth and fix it."

    6) At work, information isn't fed to you in easily digestable chunks. If you're lucky, they drop a pile of books on your desk two feet high, and expect you to get what you need to know out of them (I've had this happen to me). If you're not lucky, you need to find the books yourself (I've had this happen to me too). If you're really not lucky, the books don't exist- have fun! (Yep, that too).

    7) College students don't have to deal with tech support calls. On either end.

    There are probably more, but I need to go accomplish something.

    Brian
  • Peer assessment by Malc (Score:2) Tuesday October 02 2001, @01:41PM
  • Slackers! by sid_vicious (Score:2) Tuesday October 02 2001, @01:41PM
    • Re:Slackers! by dozing (Score:1) Tuesday October 02 2001, @01:44PM
  • teamwork all the time by zal (Score:1) Tuesday October 02 2001, @01:42PM
  • the college i attend does.... by Alarys (Score:1) Tuesday October 02 2001, @01:43PM
  • It depends... by mmaddox (Score:2) Tuesday October 02 2001, @01:43PM
    • 1 reply beneath your current threshold.
  • Declaration form by roc_machine (Score:1) Tuesday October 02 2001, @01:43PM
  • A Few Occasions by Astin (Score:1) Tuesday October 02 2001, @01:45PM
  • The school is correct by macgames (Score:1) Tuesday October 02 2001, @01:45PM
  • Not unique to CS... by singularity (Score:2) Tuesday October 02 2001, @01:45PM
  • Assessing performance in teams by Crosseyed & Painless (Score:2) Tuesday October 02 2001, @01:46PM
  • How to grade collaboration by slappy (Score:1) Tuesday October 02 2001, @01:46PM
  • Group work by Phalse Impressions (Score:1) Tuesday October 02 2001, @01:46PM
  • Co-ops by jrsimmons (Score:1) Tuesday October 02 2001, @01:46PM
  • Software Engineering at Virginia Tech by jchenx (Score:2) Tuesday October 02 2001, @01:46PM
  • 59.311 - Software Engineering by Chris Brewer (Score:2) Tuesday October 02 2001, @01:47PM
  • There is no I in team... blahblahblah by Rackemup (Score:2) Tuesday October 02 2001, @01:47PM
  • Cheating and its consequences (Score:5, Insightful)

    by Phaid (938) on Tuesday October 02 2001, @01:47PM (#2379375) Homepage
    Sadly, in the real world most projects are really written largely by one or a small group of "hero" programmers with the rest of the cast and crew along for the ride. My guess is that the people who are the "heroes" were the ones who actually did their assignments, while the idlers are the ones who copied their homework from others.

    Realistically, you have to have both: individual projects where sharing is prohibited, so that you can hone and demonstrate your own skills ; and group projects later on, where you can learn to effectively coordinate and work on parts of a larger system. It's no use having group projects in beginning level courses, since really the students don't know enough to accomplish anything and putting them together just increases the confusion. Later on when everyone has mastered basic skills and design concepts, you can benefit a lot from a group project.
  • Group Projects by MikeyNg (Score:1) Tuesday October 02 2001, @01:48PM
  • coperation in CS by Samuel Nitzberg (Score:1) Tuesday October 02 2001, @01:48PM
  • software design? by Double A (Score:1) Tuesday October 02 2001, @01:48PM
  • Good ole' fashioned tests? by ClarkEvans (Score:2) Tuesday October 02 2001, @01:48PM
  • "encourage" participation by Foos (Score:1) Tuesday October 02 2001, @01:48PM
  • Individual work is too important by bartle (Score:2) Tuesday October 02 2001, @01:48PM
  • RE: Cooperation in Education by Aelyew (Score:1) Tuesday October 02 2001, @01:48PM
  • I would prefer... by The God Soldier (Score:1) Tuesday October 02 2001, @01:49PM
  • I feel that new problems are needed in CS courses. by tkrabec (Score:1) Tuesday October 02 2001, @01:49PM
  • Computer Engineering at University of Toronto by Mr. Shiny And New (Score:1) Tuesday October 02 2001, @01:49PM
  • My experience (Score:3, Funny)

    by Dop (123) on Tuesday October 02 2001, @01:50PM (#2379403)
    I had one course on software development processes. Where the group had to design what they were going to do, write the code, and run tests on the code to make sure it works. The problem with this kind of work is people like me. I hate groups. I knew I was the strongest coder too.

    I wrote all of the code one morning before ever having the first group meeting. I didn't want to deal with having them argue about how to do it and having it take several days. Then I told them to do the testing without me.

    I realize this doesn't work in a large corporate environment, but when it's a small project for a class when you've got other classes and work, there will be students that do the work on their own faster and don't care if the other students take credit for it or not.. just as long as yours truly gets a decent grade. The rest of the group is likely to go along with it because it's less work for them.

    So basically, I think it's very difficult to pretend that people will react the same way in a classroom as they would in a corporation. The fact of the matter is, a lot of students initially show up at college to learn, but in the end they just want to get the hell out of class so they can play on their own.
  • In Relation to 3D Animation by quantax (Score:1) Tuesday October 02 2001, @01:51PM
  • As usual... by Nijika (Score:1) Tuesday October 02 2001, @01:51PM
  • Technical University of British Columbia by talonyx (Score:2) Tuesday October 02 2001, @01:51PM
  • Go to MSOE for college if you want team projects by ogreRulez (Score:1) Tuesday October 02 2001, @01:51PM
  • by ctrimble (525642) <ctrimbleNO@SPAMthinkpig.org> on Tuesday October 02 2001, @01:52PM (#2379432)
    By and large, if you're getting a degree in CS from an American university, you're not learning how to write software applications that will be deployed in the Real World. You're learning about things like algorithmic complexity, data structures, NP completeness, and other theoretical issues. Now, these things are nice, but I've never been on a project that's failed because someone used a linked list (O(n)) instead of a hash table (O(1)).

    A computer science degree gives you the foundation that you need to become a computer scientist. It's the background you need to pursue advanced coursework in computer science, in the same way a degree in physics gives you the background to do advanced work in physics. A degree in physics does not mean that your competent to build bridges, despite all you know about the law of gravity, harmonics, and tensile strengths of materials.

    Schools need to have two separate programs -- computer science for budding computer scientists and software engineering for budding software engineers. And I guarantee that the demand is for the latter, but most schools only offer the former.

    As a former developer, then later system architect and project manager, I found that my CS education was essentially wasted. It's nice to know how to do matrix multiplication using dynamic programming, but I've never used it. I would have traded in my entire algorithms class for a class on testing software. I'd trade data structures for a class on project lifecycles. I would have traded theory of computation for a good design class.

    So, yes, I think schools should teach how to work as a team, and there are already ways to determine who does what -- the same way it's done in the real world. When I was a project manager, I knew who was pulling their weight and who wasn't. Of course, as a professor, I'd be too busy doing research and writing grant proposals to deal with my students, but that's a problem with education in general. But here's an example of a solution -- pick the top scorers on the first exam and make them team leaders for the projects. They have to manage the project (as well as code) and they have to evaluate their fellow students. The other students fill out an evaluation of their team lead.

    Incidentally, Steve McConnell (author of Code Complete) has written a brilliant book on the failures of the Software Engineering industry and what needs to be done to fix it in After the Gold Rush: Creating a True Profession of Software Engineering [amazon.com].

  • global search and replace by JimmytheGeek (Score:1) Tuesday October 02 2001, @01:52PM
  • Play Little League by Ledge (Score:1) Tuesday October 02 2001, @01:52PM
  • what do you expect by KevinMS (Score:2) Tuesday October 02 2001, @01:53PM
  • Not for CS101 classes by Macrobat (Score:1) Tuesday October 02 2001, @01:53PM
  • dont use grades by oogoody (Score:1) Tuesday October 02 2001, @01:53PM
  • the simple solution by dagashi (Score:1) Tuesday October 02 2001, @01:54PM
  • An important educational issue by Carmody (Score:1) Tuesday October 02 2001, @01:56PM
  • by blazin (119416) on Tuesday October 02 2001, @01:56PM (#2379462) Homepage Journal
    I teach a data structures course at a Colorado university (not CU). Two weeks ago, I had two students turn in nearly identical code, and two others turn in completely identical code, down to the exact same spacing and comments. There was no difference in the second.

    The first example had some differences, such as variable names being slightly changed, comments were changed but all in the exact same place, and the logic was all in the same order. Other than that, just a few if statements were changed but in ways where it meant and did the exact same thing, ie,
    if (a) b(); else c();

    or
    if (!a) c(); else b();
    I asked a former professor what to do and she said that in cases like these she has thrown the book at the students. She said even if there is just a hint or suspicion of cheating, it should be submitted to the Dean, but that I should check with the department head. He went the complete opposite route and said that we didn't really have any evidence that cheating had occurred, and to just talk to them and tell them that they needed to work more independently. I thought I had more than enough evidence since one set had identical code. I confronted the first group (identical code) and they admitted to working together. I told them to meet me after class and they admitted to working together. I told them that this was a bit more than just working together and that it wouldn't happen again or there would be consequences. I then had a meeting with the other two and they explained that they did work heavily together, but would never ever copy, etc. I told them that they just needed to work a little more independently as their code was extremely similar. Consequently, the students that were copying did not do well on the exam last week and I believe it is due to them not knowing how to code on their own. Students need to learn to code on their own since most code in the Real World is not already made for them, and the code that is there is written by someone else, and it will be thier responsibility to know how to maintain it. You can't maintain code if you can't code in the first place.
  • Academic Honesty by Arandir (Score:2) Tuesday October 02 2001, @01:56PM
  • Heck yeah. by SkewlD00d (Score:1) Tuesday October 02 2001, @01:57PM
  • Difference between physics and compsci by Glyndwr (Score:1) Tuesday October 02 2001, @01:57PM
  • Cooperative learning by foeclan (Score:1) Tuesday October 02 2001, @01:57PM
  • Evergreen State College by jhealy (Score:1) Tuesday October 02 2001, @01:58PM
  • Teams/groups can cut productivity by ShaunC (Score:1) Tuesday October 02 2001, @01:58PM
  • School != Work by Therin (Score:1) Tuesday October 02 2001, @01:59PM
  • Teamwork is extremely valuable by sswanson (Score:1) Tuesday October 02 2001, @01:59PM
  • 2+ heads are better than one by garoush (Score:2) Tuesday October 02 2001, @02:01PM
  • Having been on both sides by Darkseer (Score:1) Tuesday October 02 2001, @02:02PM
  • Incoerence by Karpe (Score:2) Tuesday October 02 2001, @02:02PM
  • Azusa Pacific University... by antdude (Score:2) Tuesday October 02 2001, @02:03PM
  • Teamwork is irrelevant by scott1853 (Score:2) Tuesday October 02 2001, @02:03PM
  • Great programmers steal code (Score:4, Informative)

    by jabber01 (225154) on Tuesday October 02 2001, @02:03PM (#2379526)
    There is an old addage in CS.. Good programmers write lots of code, and great programmers steal lots of code.

    (Of course the distinction needs to be drawn between programming and 'true' CS/Information Theory etc, but you get the point)

    The thing is, CS education treats programming too much like English - code may be 'speach', but it is not an essay. Yes, outright copying of code is still plagiarism, since you did not do your own work, but...

    In the 'real world' you rarely find a situation when people solve the same problem in parallel.. So comparing implementations for 'originality' is not an issue. 'Parallel' problem solving should only be used in introductory courses. After you know the language/concept (around the upper 200 level classes) you should not have many 'solo' projects.

    Instead, most projects should be solved by the group, and should be large enough to include a 'project management' component as part of the assignment. The problem should be too large for an individual to address in the time given - barring brilliance. Forced decomposition of the problem, division of the work into separate tasks, accountability on how well each part is done.. These are the things that will make for a successful team project.

    Should cooperation be restricted? Not at all, but everyone should have their own area of responsibility.. You can have teams that compete, but better yet, involve the whole class and rotate responsibility.. Allow students to assign roles to themselves, and watch top coders, and star organizers emerge..

    Idealistic? Sure.. Will some lazy bums slip through the cracks by riding on the coat-tails of their more talented and industrious peers? Of course.. All systems can be circumvented unless you want a full-time TA watching each student.

    So what? These people will only do themselves a disservice in the 'real world' by demonstrating incompetence if they choose the wrong field - or, well, hey, what's wrong with coordinating and pilfering the efforts of others, as long as the job gets done?

    If the coders can't make the pieces fit, but someone else can, that someone is a valuable asset to a company.

    How many of the Linux developers out there have rewritten the kernel from scratch, just to add a feature? Everyone stands on the shoulders of those who came before.
  • College Faculty Cheating Students by ChuckDivine (Score:1) Tuesday October 02 2001, @02:04PM
  • Limerick by 575 (Score:1) Tuesday October 02 2001, @02:06PM
  • school vs work by Winnower (Score:1) Tuesday October 02 2001, @02:06PM
  • A different approach by The Man (Score:1) Tuesday October 02 2001, @02:09PM
  • Doesn't group work happen automatically anyway? by JayDiggity (Score:1) Tuesday October 02 2001, @02:10PM
  • Forced Team Work by mage_6x (Score:1) Tuesday October 02 2001, @02:11PM
  • Attributing shared ideas by staplin (Score:2) Tuesday October 02 2001, @02:11PM
  • Teamwork in college isn't so hot by nemesisj (Score:1) Tuesday October 02 2001, @02:14PM
  • I got good teamwork experience at school by baalz (Score:1) Tuesday October 02 2001, @02:14PM
  • Small groups are great with the right group by Brighten (Score:1) Tuesday October 02 2001, @02:15PM
  • Group work by MJN222 (Score:1) Tuesday October 02 2001, @02:15PM
  • "Teamwork" in college coursework overrated by MarkMac (Score:1) Tuesday October 02 2001, @02:15PM
  • Many are missing the point of a college education by johndoh (Score:1) Tuesday October 02 2001, @02:15PM
  • Sounds like a job for CVS... by base10 (Score:1) Tuesday October 02 2001, @02:18PM
  • Class = solo, resarch project = team by leperjuice (Score:2) Tuesday October 02 2001, @02:19PM
    • 1 reply beneath your current threshold.
  • RyeHigh by Gumpy (Score:1) Tuesday October 02 2001, @02:19PM
  • Modular design by Mike1024 (Score:2) Tuesday October 02 2001, @02:19PM
  • Leader two-way rating by SuperKendall (Score:2) Tuesday October 02 2001, @02:19PM
  • Recognition by nick_davison (Score:2) Tuesday October 02 2001, @02:19PM
    • Re:Recognition by MikeBabcock (Score:2) Tuesday October 02 2001, @03:13PM
  • Feeding the Cheaters by ChaoticCoyote (Score:2) Tuesday October 02 2001, @02:21PM
  • Figuring out something for yourself... by gatkinso (Score:1) Tuesday October 02 2001, @02:21PM
  • That's pretty much like the real thing... by Fluid Truth (Score:1) Tuesday October 02 2001, @02:22PM
  • I make assignments for the first "Team" Course by gte910h (Score:1) Tuesday October 02 2001, @02:24PM
  • Nothing You Can Do by kjell79 (Score:1) Tuesday October 02 2001, @02:24PM
  • Cheaters by greesil (Score:2) Tuesday October 02 2001, @02:25PM
  • How 'bout open-source projects... by fleeb_fantastique (Score:1) Tuesday October 02 2001, @02:25PM
  • Group Projects... by Vuarnet (Score:2) Tuesday October 02 2001, @02:27PM
  • Team work is all very well but... by shankark (Score:1) Tuesday October 02 2001, @02:27PM
  • Teamwork is overrated by Whip-hero (Score:1) Tuesday October 02 2001, @02:29PM
  • CS major at Virginia Tech (Score:3, Insightful)

    by Kupek (75469) on Tuesday October 02 2001, @02:29PM (#2379767)
    I'm a junior computer science major at Virgina Tech, and I have noticed this problem myself. I can not work in groups in school, but I will have to when I graduate.

    A corrolary of this is that I only see my own code . I can't see classmate's code because that would be an honor code violationg. And I can't see my professor's solution to the problem because they don't want their code floating around, in case they ever do a similar assignment, or if another professor does a similar assignment.

    In my math and physics classes, the most effective way to learn how to work out a problem is to see someone who knows what they're doing do a similar problem. There is nothing analagous in my CS classes.

    In my physics class, it's encouraged for us to work in groups on the problem sets--it helps us understand it. When I went for help in my first physics class, the first thing my professor asked was if I was studying in a group.

    In my programming intensive CS courses (most of them), we work in a void.

    This is in direct opposition to the job experience I have had. I continually was asking questions in order to get a better feel for what I needed to be doing. For one of the bigger projects I worked on, it was an aside comment my boss made one time during lunch that prompted me to realize the best way of implementing the system. Real people do not work in a void.

    But CS majors do.
  • Special Code Editors could be used... by Saltine Cracker (Score:1) Tuesday October 02 2001, @02:29PM
  • hence SW Engineering Classes by robi2106 (Score:1) Tuesday October 02 2001, @02:30PM
  • more theory, less co-operation by gumby42 (Score:1) Tuesday October 02 2001, @02:32PM
  • by gosand (234100) on Tuesday October 02 2001, @02:32PM (#2379800) Homepage
    I think the biggest problem with college courses, in CS anyway, is that they teach PROGRAMMING, and not SOFTWARE DEVELOPMENT. There is such a huge difference.

    The best course I took was a senior level class called Software Engineering. I worked with 3 other guys on a project all semester, and we didn't write a line of code. We had to come up with requirements, a schedule, a budget, test plans, designs, etc. But we didn't write any code at all. The goal wasn't to program, it was to design software. There is so much more that goes into software in real world companies.

    I don't even know if they still offer that course, it was back in '92. I still have the book from it. I ended up getting into Quality Assurance, which they DEFINITELY don't teach you in school.

    When I interviewed at Motorola after I graduated, I brought my project from that class. I was to interview with 5 or 6 people throughout the day. I showed the project to the first person I interviewed with, and she said to make sure I showed every other person I talked to. I later found out that it was a big part in getting me the job.

    You can talk all you want about "being able to work in a team" but until you do it, you don't know how tough it can be. Organizing, planning around people's schedules, and yes, dealing with people who aren't as motivated as you are all real world applications.

    Maybe things have changed in college since I was there (there was no internet back then - ack!). But knowing that the instructors probably are having a hard enough time keeping up with trends, they probably haven't. I think in addition to programming, they should teach sound software engineering principles as well.

    Michael

    Fight the monopoly [cafepress.com]and the evil [cafepress.com]
    More at poundingsand.com [poundingsand.com]

  • groups by mlong (Score:1) Tuesday October 02 2001, @02:35PM
  • Speaking from experience... by Lostman (Score:2) Tuesday October 02 2001, @02:35PM
  • Cheating / Group Projects / Professors by battlinbill (Score:1) Tuesday October 02 2001, @02:36PM
  • Team work in college by blazin (Score:1) Tuesday October 02 2001, @02:38PM
  • CVS Anyone? by vtechpilot (Score:1) Tuesday October 02 2001, @02:40PM
  • 2 College courses. by Manax (Score:1) Tuesday October 02 2001, @02:40PM
  • Reality COLLEGE by newSlashUser (Score:1) Tuesday October 02 2001, @02:40PM
  • Good balance at Utah by mac.newbold (Score:1) Tuesday October 02 2001, @02:40PM
  • Two approaches by CheapVerbiage (Score:1) Tuesday October 02 2001, @02:45PM
  • Working together is just *one* thing to learn by urdak (Score:1) Tuesday October 02 2001, @02:45PM
  • Problem with group projects... by gothic_wolf (Score:1) Tuesday October 02 2001, @02:46PM
  • small groups of 3 by bobaferret (Score:1) Tuesday October 02 2001, @02:48PM
  • Opposing Idealogy ? by UnknownSoldier (Score:1) Tuesday October 02 2001, @02:52PM
  • Well by fizban (Score:1) Tuesday October 02 2001, @02:53PM
  • Marking using demonstrations by darrellpfeifer (Score:1) Tuesday October 02 2001, @02:56PM
  • At Portland State University... by yorgasor (Score:1) Tuesday October 02 2001, @02:57PM
  • Explicitly disallow collaboration sometimes by Miles (Score:1) Tuesday October 02 2001, @02:59PM
  • It works ok at my school. (Score:4, Interesting)

    by Elwood P Dowd (16933) <judgmentalist@gmail.com> on Tuesday October 02 2001, @03:00PM (#2379998) Homepage Journal
    Here at UPenn we're sortof balanced. One of the expenses of being balanced is that some cheaters don't get caught and some people get accused of cheating when they haven't. But most classes do allow us to talk to each other about our code. And, we have an elective group project class available after freshman year. Junior year is a required group operating systems project. You write a toy operating system to run on solaris. Senior year you have to do a project that can be group based or not.

    It would be very very detrimental to be a CS major here without taking the elective software project during your sophomore year. I'm not sure how anyone can survive junior year without it. In our (small) project, one of our team members basically lied about how much work he had done. We allowed him to procrastinate the integration and we were totally screwed.

    We wrote what he should have written in the wee hours, and had learned several valuable lessons. And those lessons certainly saved our asses several times in our next project. Most notably when we picked group members.

    Also, for those concerned that their partners' diligence wouldn't match their own, why on earth were they your partners? Did the prof choose for you? The best solution to that issue was what they did in my highschool. All major assignments were group projects. If the assignment was worth 100 points for four people, you would get a grade out of 400, and had to unanimously decide how those points were allocated to individuals. I had an A+ in every class that worked that way. And I cared more about my work then than I have in college.
  • The ArsDigita University experience by abe ferlman (Score:2) Tuesday October 02 2001, @03:02PM
    • redundancy by abe ferlman (Score:2) Tuesday October 02 2001, @03:04PM
  • Group Programming? What's that? by DCheesi (Score:1) Tuesday October 02 2001, @03:03PM
  • From the teacher's point of view: (Score:4, Interesting)

    I taught a number of programming courses at Northwestern University, and have offered group projects as an option for clasess. Those that wanted to do group projects - and I encouraged it - were allowed to do so, and said projects needed to be proportionally more complex than those submitted by individuals.

    Part of the writeup for a group project would include a brief (1-2 line) explanation of who did what part. Knowing this was part of the material turned in, it encouraged the loafers to make sure they did enough to claim part of the project. I also stressed that they needed to know how all the pieces fit together, not just understand their standalone part.

    The final exam for the class always was in a similar format as the midterms, with sample code to write, comment on, correct, questions about the topics covered, etc. This was worth 50% of the grade. The last 50% of the grade consisted of the following questions:

    1. How did your program do what it did, explaining in some detail your sections of it.
    2. Describe in detail the problems you had with your part of the project.
    3. What do the following snippets of code do, and where are they found in your program.

    The snippets would be taken from two sections of the actual project code, one which they (claimed) to have written, and one which they hadn't.

    I was extreemly pleased to see that, in fact, most folks had divided up the work evenly, and had a good understanding of the project as a whole. Now this could have been due to other members of the team explaining it to them, rather then them figuring out the other participant's code manually, but isn't that what you'd do in the real world?

    Those folks that could explain problems they'd encountered often noted that they asked for help from other members of the team. By this point in the class, I could already recognize the coding style of each student anyway, but I really appreciated the honesty, and how they did work together to produce something.

    Yes, there were some (I'd say 5%) that were tricked up on the exam and showed that they didn't actually write much of the code, nor understand it. However overall folks did a good job acting like they would in an ideal group coding environment.

    The only problem I had with group projects was with Thurston Howell (or at least that's what I called him in my mind, due to his attitude and voice) who had one of the classic coder failings. He got so caught up with getting the perfect interface -- being able to use emacs-style data entry editing abilities and such -- that he never got any of the backend stuff even started. Those in his group didn't know where to go, since they had nothing to plug their code into. Here's where a normal group may have a manager who could step in and help out, and they didn't quite have the real-world mentality that would have allowed them to come to me and tell me what was holding them up. But other than this one incident, group projects have always been an excellent thing.

  • Real Group Wrok by XgregX (Score:1) Tuesday October 02 2001, @03:16PM
  • Lower vs. upper-level classes by Lish (Score:1) Tuesday October 02 2001, @04:11PM
  • Advice from someone who makes *hiring decisions* by rufusdufus (Score:1) Tuesday October 02 2001, @04:15PM
  • another quality of a "well-rounded" education... by dnos9 (Score:1) Tuesday October 02 2001, @04:19PM
  • Sheesh. by Anonymous Coward (Score:1) Tuesday October 02 2001, @04:20PM
  • this is easy by jjshoe (Score:1) Tuesday October 02 2001, @04:24PM
  • cs by LowOrderBit (Score:1) Tuesday October 02 2001, @04:24PM
  • Pick your own groups by BoffoTMC (Score:1) Tuesday October 02 2001, @04:27PM
  • Who put the work out? by ilsa (Score:1) Tuesday October 02 2001, @04:35PM
  • Group Projects Suck (Score:3, Insightful)

    by EvlG (24576) on Tuesday October 02 2001, @04:36PM (#2380371)
    Evey time one of my teachers gets the bright idea to assign a group project, everyone groans. Why?

    These projects pit you with people you don't know, and don't care to know. They don't want to do the work, and they are happy with making a C. However, if I want to make an A, I have to make up the slack. Inevitably, there is always at least one person that just doesn't care. Everyone else suffers.

    The real problem with this is that, in the real world, you can fire someone if they don't do their job and replace them. In a group project, you never seem to have that luxury. Instead, you are stuck pulling the weight of the slackers who don't care.

    Additionally, group projects seem to waste a lot of time because of the need for consensus. In reality, design by comittee is very problematic. However, you often can't explain that to group members. They see it as one person dictating his or her ideas. Sure, you need other people's input, but the endless back-and-forth trying to agree on something just wastes everyone's time. Additional time is wasted on all the communication, and the need for meetings. In real life, everyone works the same hours (or a reasonable approxiamtion thereof). That way you can just pick meeting times and be confident that its not going to be a problem having everyone attend. In a school project, you have to schedule meetings around everyone's work+home+school schedules. Often it means meeting late at night, or on the weekends. Who wants to waste their weekend time meeting for a stupid school project?

    The only real advantage I see to most group projects is the one for the teacher: less grading.

    I think a better idea is to encorage pair assignments. It's been my experience that I get a lot more out of a 2 man "group" than I do a 3, 4, or 5 person group. Its easier to communicate, easier to divide responsibilites, and it makes it possible to share information and approaches without losing a lot of time. The project has a much more cohesive feel to it, and the concepts are better represented. However, the pair approach still has the problem of the disinterested party. Encouraging students to choose their own pairs would help to alleviate that, as students often take classes with a friend.

    Group assignments do have benefits, but I think the problems that go along with them in a school setting tend to outweigh those benefits.
  • At Aalborg University everything is teamwork by Zuul (Score:1) Tuesday October 02 2001, @04:37PM
  • Groups of two to three work; otherwise, forget it! by Helevius (Score:1) Tuesday October 02 2001, @04:49PM
  • Engineering curriculum example by David Ishee (Score:1) Tuesday October 02 2001, @04:53PM
  • A fine line... by blackbeaktux (Score:1) Tuesday October 02 2001, @05:00PM
  • A couple methods I've experienced (Score:4, Informative)

    by brink (78405) <jwarnerNO@SPAMcs.iusb.edu> on Tuesday October 02 2001, @05:06PM (#2380556) Homepage
    The way the CS program at Indiana University, South Bend has it set up (for the most part) is as follows:
    For small projects, if you talk with anyone or get ideas from websites, etc, you have to cite your sources/collaborators. This doesn't mean wholesale copying of code from sourceforge or friends (as more than one student has discovered), but it at least lets the prof know if you had outside input.

    For the team projects I've been on, there were a few methods used to get around some of the problems like slackers and code accountability:

    1. You pick your team members. If you know that someone is a slacker, you can try to avoid being on the same team.
    2. Projects involve numerous separate tasks. This helps in terms of delegating code to ALL the team members, so one or two people aren't stuck with all the programming.
    3. Team member evaluations. At the end of the project each team mate gives a grade to every other team mate (anonymously) for their code quality and project involvement. Each individual's grade is then composited from the Project Grade and each member grade. The assignment can get an A, but if you slack off, you can get a D or even F because your team mates graded you poorly.
    Additionally, big projects are broken up into different stages, so you end up having a grade for each stage of the assignment, which is coupled with number 3 (above) to give an accurate reflection of the student's abilities.

    All in all, the system seems to work pretty well. The nice thing is, if it's a REALLY big project and your team has no hope of completing all the functionality, the prof can still evaluate your abilities based on what has been done.

    Maybe not the best, but it worked for me :)

  • Must be the school by yolfer (Score:1) Tuesday October 02 2001, @05:14PM
  • The one way I've seen this work... by TheEviscerator (Score:1) Tuesday October 02 2001, @05:14PM
  • Plagiarism, citation and intellectual property by sneakerfish (Score:2) Tuesday October 02 2001, @05:17PM
  • My Bachelors... by Woodie (Score:1) Tuesday October 02 2001, @05:24PM
  • RIT by Apreche (Score:1) Tuesday October 02 2001, @05:32PM
  • CS: Groupware for Slackers by dasmegabyte (Score:2) Tuesday October 02 2001, @05:33PM
  • Introverts are pople too! by sketerpot (Score:1) Tuesday October 02 2001, @05:34PM
  • My University by CFTM (Score:1) Tuesday October 02 2001, @05:57PM
  • Tough question by Pedrito (Score:2) Tuesday October 02 2001, @06:17PM
  • Don't get me started... by mickeyreznor (Score:1) Tuesday October 02 2001, @06:55PM
  • Group Work by archivis (Score:2) Tuesday October 02 2001, @06:58PM
  • Ughh group work by FLaMeBoY (Score:1) Tuesday October 02 2001, @07:05PM
  • Group Assignment in Australia are pointless by Ferretski (Score:1) Tuesday October 02 2001, @07:17PM
  • Group Projects Done Badly by humblecoder (Score:2) Tuesday October 02 2001, @07:47PM
  • at the wrong uni by snuffle_upaguss (Score:1) Tuesday October 02 2001, @07:47PM
  • by dmorin (25609) <dmorin@@@gmail...com> on Tuesday October 02 2001, @08:08PM (#2381404) Homepage Journal
    Worcester Polytech (WPI) in Massachusetts used to be entirely about projects. You have a series of multi-year projects that take up a number of class units toward your final grade. Toward the "well rounded education" approach there is a sufficiency project (humanities), interactive (social sciences), and your major qualifying project which is of course in your major. You choose an MQP usually by the beginning of your second year, if you're lucky, and find an advisor who'll accept the project as valid. He then would often assign you your project partners, and you had up to the next 3 years to make it work.

    Once upon a time this was the only system WPI had -- classes were really only for learning what you needed to know in order to make progress on your project, forget about grades. But toward the end of the 70's they started to get pressured to come up with a system that would more easily allow students to transfer credit when leaving the school. By the time I arrived in 87 they were shifting away from the 2grade (AD/AC) system they had developed into three grade (ABC), but the projects are still central to your grade. If you spend 16 class units on your project and get an A on it, then 16 A credits go onto your final transcript. Not bad. And by the way you don't "fail" courses at WPI, you simply receive "no record" that you ever took the course.

    When the teachers and students both agreed to this system, it worked well. Many's the time a student would fail a course because he was working too hard on his project, only to have the teacher let him squeak by because the teachers knew that the class grades were a formality. I deliberately failed one class because the teacher had set it up so that the project work (writing code) was about 40% of the grade, while the two exams were 60%. I aced all the code and failed the exams, on purpose, and told her "I came here to learn how to write code, not how to memorize answers out of a book so you can write an arbitrary letter next to my name in your book." I got a 67 in that class, which is failing at WPI, but she gave me a C anyway.

    Did you sometimes hate your partners? Of course. Just like in real life. Did your partners sometimes get credit for work they didn't deserve? Yup. There's no good fix for that problem, that I can see. But whether your project works perfectly or fails miserably, it's all good lessons for the real world. I have many stories from college projects that I still use with my employees today (and none of them start with "This one time, when I was hammered.....")

    For the record, my humanities project was an examination of the approach to the tragic hero in Shakespeare (Hamlet), O'Neill (Long Day's Journey), and Miller (Salesman). My major qualifying project was teh development of natural language software for educational purposes, and my interactive project was to gather a day long workshop of teachers and discuss the impact of "highly networked sources of data and information" on how children would use the computer in the classroom, specifically social studies. Did that in 1990. So the projects were no small potatoes.

    d

  • always liked my prof's explanation of cheating by pres (Score:1) Tuesday October 02 2001, @08:10PM
  • CS Class with Teams by MrChina (Score:1) Tuesday October 02 2001, @08:26PM
  • sometimes cs profs get it by uberLiz23 (Score:1) Tuesday October 02 2001, @08:41PM
  • Wake Up by elephantman (Score:1) Tuesday October 02 2001, @08:41PM
  • Weekly Group Assignments by sandvirm (Score:1) Tuesday October 02 2001, @08:41PM
  • Upper Division Courses REQUIRE collaboration by Sysanalyst (Score:1) Tuesday October 02 2001, @08:52PM
  • more cs classes by deathscythe257 (Score:1) Tuesday October 02 2001, @09:26PM
  • CVS is the "way" by Anonymous Coward (Score:2) Tuesday October 02 2001, @09:43PM
  • by ODBOL (197239) on Tuesday October 02 2001, @09:51PM (#2381651) Homepage

    I teach CS, and I see at least two related but separate things that we usually miss in classes with software projects:

    1. fitting class work into a larger context of code;
    2. collaborating on the software.
    Each of these can be addressed by assigning work in definite teams, or by other sorts of interaction. There are at least two obstacles that limit the amount of interaction we allow in class:
    1. many instructors don't have much experience with useful interaction on software;
    2. a lot of extra work is required to define and supervise interaction, and universities almost never reward that extra work.

    For some sorts of classes, I've found that I can allow unlimited collaboration, and then evaluate each student based on a private interview in which she presents project work. I evaluate the insight shown in the presentation, rather than whether the student presents her own work or others'. This is very effective in cases where the project work leads to a deeper understanding of the material, rather than merely demonstrating understanding derived from books and lectures. It flops miserably with students who are extremely shy, or who cannot express themselves verbally, but I don't get very many of them.

    I have never yet specifically assigned students to work as teams on these projects, but I've allowed them to form teams if they like, and to share work as much as they like. I think that the ability to discuss work completely freely, and to share pieces of code, has helped a lot. But to my surprise, in more than 5 years no students have actually formed a team.

    Mike O'D.
    U. Chicago
  • EE majors need more of this as well by slipnfall (Score:1) Tuesday October 02 2001, @10:49PM
  • One Solution by Anonymous Coward (Score:1) Tuesday October 02 2001, @10:50PM
  • In the ACMs, teamwork is required by pojo (Score:1) Wednesday October 03 2001, @01:54AM
  • Integrated team programming by Lappie (Score:1) Wednesday October 03 2001, @02:01AM
  • Depends a couple of things by Hasie (Score:1) Wednesday October 03 2001, @03:17AM
  • i liked it our way by jsebrech (Score:1) Wednesday October 03 2001, @04:28AM
  • Yes and No by steveheath (Score:1) Wednesday October 03 2001, @04:30AM
  • Industrial Programming Courses by pcardno (Score:1) Wednesday October 03 2001, @05:37AM
  • My experience by Martin S. (Score:2) Wednesday October 03 2001, @05:49AM
  • Why didn't they teach MS API's? by pacc (Score:1) Wednesday October 03 2001, @05:57AM
  • I teach and find students are less than interested by guisar (Score:1) Wednesday October 03 2001, @06:20AM
  • Interviewing college hires by RedRhonda (Score:1) Wednesday October 03 2001, @06:48AM
  • Groupwork by 7s (Score:1) Wednesday October 03 2001, @06:53AM
  • Isn't group work actually doing it's job? by Britcoal (Score:1) Wednesday October 03 2001, @07:35AM
  • componentize by Hard_Code (Score:2) Wednesday October 03 2001, @09:22AM
  • Re:Oh yeah by Zarnce (Score:1) Tuesday October 02 2001, @01:39PM
    • Re:Oh yeah by octothorpe99 (Score:1) Tuesday October 02 2001, @07:11PM
  • 47 replies beneath your current threshold.
(1) | 2 | 3