Common problem facing the CS department?

@simba9 do you have to go to a top cs school? or if you work in the industry and learn on the job, then you can go to not the very top CS school. What is your experience?

Lot of people go into industry from a wide range of CS education backgrounds, including self-education. One does not have to attend an elite school to do so. Of course, if one is going to college for CS, it is best to choose one where the CS department has good offerings (as opposed to being very limited in offerings) that are good quality, but there are many more colleges where that is true than the small number of elite colleges (and note that some colleges with high general prestige have somewhat more limited CS departments, so general college prestige is not that great a measure).

No, you don’t have to go to a top cs school. It does help get that first interview, but you still have to show you know what you’re doing. After a couple of years, your work experience and skill become more important to employers than where you graduated from.

There are enough open positions for CS-related jobs that employers can’t limit themselves to only top schools, so everyone gets a chance.

Large classes with TAs grading assignments is a very real problem in CS, particularly when the TAs are fellow undergrads with limited experience in the subject. They are often unable to see the beauty of a creative design that accomplishes the objective but does it in a way different than the professor specified on the answer sheet.

Nowadays many programming assignments are computer graded, not TA graded.

Good Lord, are they using undergrads for TAs now?

@simba9 Actually, I think they call them “graders” but the effect is the same.

@jrm815 I guess it depends on the school. In our experience, the programming assignments are turned in on paper.

@HMom16 @simba9 A grader is not the same thing as a TA. I just graduated (yesterday!) and I was a grader all throughout undergrad (except first semester). Graders generally don’t interact with students directly and do not teach lectures or anything- their job is to grade assignments and provide meaningful feedback on assignments. I graded mostly data structures (I took it my first semester, and then was the grader my second semester), but also did a section of intro one semester, as well as discrete math for CS majors two semesters (I also majored in math), and even computer organization one semester. I can only tell you my experience, but at my school graders were are usually only used for intro/intermediate courses, and to be a grader, you must have received an A in the course. I was selected to grade data structures after being one of only 3 freshmen in the class because I proved myself to know the material and have a strong grasp of java (I was asked halfway through the semester after I got the highest grade on the second test).

I take offense to this- not true of most well-educated graders/TAs, yes even those that are fellow undergrads. A lot of times when I graded HWs or programming assignments, I was not given an answer key at all. If I was, I was told what the professor was looking for (ex: must use an ArrayList for this, if they didn’t, it’s wrong) and given an example solution, not the end all be all answer (unless it was a question that only had one answer). For each course I grade, I am well-versed in the material for the course and in the professor’s coding standards and expectations. I might take off points for style or readability depending on how someone answers a question, but if the code produces the right answer and follows the professor’s requirements, you get most of the points.

@guineagirl96 I’m sorry if I offended you. My kid’s graders were clearly not as conscientious as you were!

Seconding @guineagirl96 on both counts.

For another view, at my school undergrads are both “graders” and “TA’s”, especially for the intro courses - one start out as a grader for at least 1-2 semesters before becoming a TA. Graders are all meta-graded by TA’s who report to the course staff (professors and logistics) who make the calls on ambiguous grading situations. As mentioned, at my college, design is half the grade and many designs are discussed within the course staff weekly meetings before homework grades are released. Both help students directly as well in office hours in addition to professors.

The selection process for TA’s/graders is an interview in addition to the grade in the course and students are selected not by their grade alone but their ability to explain concepts, understand course material from a teaching perspective, and diagnose how to properly help students. In fact, many members of the staff don’t receive an A.

For upper-level courses, the requirements are a bit lighter, but still, all of this is a formal process. In my experience, undergrad TA’s are far preferred to graduates students who often don’t understand the course material despite their subject matter understanding, forcing students to take a bulk of their time explaining the problem rather than getting the help they need.

Computer grading is used usually for style, correctness, and plagiarism detection. I think most departments are doing that these days - I can’t imagine handing in programming assignments on paper. Half of my courses had their own hand in servers separate from the rest of the school with timestamps for deadlines, showing the style/correctness grading, etc.

Perhaps because undergraduate TAs have been through the exact course and done well in it, while most graduate TAs have not been through the exact course themselves, unless they attended the same undergraduate school or TAed the same course before, so that the undergraduate TAs have better knowledge of course-specific (as opposed to subject matter) stuff? I.e. the undergraduate TA may be quite familiar with the ___ project in CS ___, while the graduate TA with knowledge of the same subject matter may not be familiar with that same project assignment because his/her undergraduate school had different assignments and projects in the CS course(s) covering that subject matter.

Correct, exactly what I was trying to say.