7 ms·
Former student and TA here. There is so much great stuff in this class and its assignments! Couple of highlights: - Data lab formally verifies all of the submi
by abhayb 7y ago
Former student and TA here. There is so much great stuff in this class and its assignments! Couple of highlights:
- Data lab formally verifies all of the submissions and gives you an exact failing test case if the submission isn't correct.
- Malloc lab is run competitively. You don't need to compete to do well, but you do if you want to do great. And the competition drives students to great feats. I know people who rewrote their inner loops in assembly to get better perf. Another built splay trees to get lower fragmentation. They both had comfortable A's in the class at the time.
- The automated grading of assignments meant that the class could scale to many hundreds of students while the TAs could dedicate their time to office hours. Turnaround time for exams was sub-one-day.
- The instructors are wonderful (and well dressed!) people and they ran the class expertly.
- albntomat0 7y ago> Turnaround time for exams was sub-one-day. What's the current status on accurately grading mistakes? From the exams I remember (Fall 2015), the exams autograded perfect answers well, but gave similar marks to nearly correct, but still wrong answers as complete gibberish. I felt that unless I had the answers exactly correct, it was hard to demonstrate my knowledge of the topic.
- Shoop 7y agoNow there is a regrade system that lets you ask for more partial credit if you feel that the autograder was too harsh. That being said, its still relatively easy to get a lot of points off for a small mistake :(. You definitely have to be really careful during 213 exams but thankfully there's plenty of time to redo all the questions 2 or 3 times.
- josephg 7y agoAt UNSW we had a similar system. The marking was a test suite, and each passing test would give you a portion of your grade. The system had a couple of simple smoke tests which were ran on submission time (to catch issues that would make the entire test run fail erroneously). As a TA I spent a fair bit of time fixing trivial issues - eg, sometimes a student would get 3/10 on the auto marker with a basically working solution because of a typo or something. I would dock a mark, fix the bug and rerun the tests - leaving the student with 8/10 or something.
- Cogito 7y agoWhen did you TA? I was TA for 1911 (I think?) around 2008-2009 and don't recall any automated grading system. It would have been so nice too, as labs would end up with students trying (struggling!) to complete the lab, get the lab graded, and ask questions about lecture material they hadn't yet understood. The grading would inevitably take up almost all the lab...
- josephg 7y agoI was a TA around 2004-2005. (I started in 2003 and graduated in 2007). We didn't have automated grading for the labs then either, but we did for all the assignments. Still manual marking on style though, which to this day I have complex feelings about.
- Cogito 7y agoOk, I think it was fairly similar then. Assignments were graded automatically (based on passing test suites essentially) but individual labs hadn't been set up the same way. With style I always felt it was easy to say if it was bad or good, but hard to justify sometimes; 'good style' often just means 'I can follow this easily as I read it' and that becomes subjective based on how you like to read code. Even so, it was always obvious when a student had spent time on their program, and gone back over the code to rewrite or clean it up - those tended to get the good style marks.
- Fiahil 7y agoWhen I was studying software engineering, "nearly correct" answers would get you the same grade as "complete gibberish" on purpose. Partially correct programs would have no more value than completely incorrect ones. In retrospect, I think it was crucially important for students to learn the price of their mistakes. Most of my previous classmates are reputable engineers now.
- rcxdude 7y agoI think this is only fair if the exam takes place under similar circumstances to actual engineering (which is rarely the case).
- swiley 7y agoUniversity is fundamentally a social thing, both between peers and between students and knowledgeable people like the professor. >- The automated grading of assignments meant that the class could scale to many hundreds of students When you have things like this why are we paying so much?
- neilv 7y agoThat social thing exists sometimes, but I think it's overstated. Consider, for example, the many students whose only direct interaction with the professor is to try to get an extension on an assignment (arguably late because homework was encroaching on their hangover obligations). You can think of ways with simple technology and social organization to scale some version of the mythical social thing to much larger numbers of students, and to be available to anyone who will use that sincerely, not some lottery of acceptance and whether/how you can manage to swing the huge tuition (possibly taking on crippling debt for the rest of your life). I look forward to my degrees becoming officially worthless, with everyone having the same or better education easily available to them. We're already getting there, but we need to keep going in this direction, and to dispense with pretense. Things like better scalable feedback help.
- j16sdiz 7y ago> I look forward to my degrees becoming officially worthless, with everyone having the same or better education easily available to them Lots of degree have become worthless, with the tuition fee keep going up........
- mav3rick 7y agoI loved this class at CMU. Recently I did shell lab again in Rust (trying to learn Rust) and used the test scripts for sanity checks. 213 helps me to this day :)
- yuji 7y agoDefinitely was one of my favorite classes at CMU. Absolutely loved it.