3 ms·
>The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this
by elsombrero 9y ago
>The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises
>In fact, every exercise in CS has this problem. You add a new thing (eg inheritance), and it breaks. But not only that, it might be broken because of a banal little syntax problem.
That can be said for math as well, switch a + for a - at any point and the whole solution crumbles down, or use the wrong method of resolution and you are in for a world of pain.
>Oh and learn git, too. And Linux. Just so you can hand in the homework.
Again, comparing that to math, learn all the different notations used just to understand what the problem asks of you.
Point being that any scientific course require a part of self study to get what you are doing.
Although I can certainly agree that the way CS is taught now interwines many basic things that should be on their own course and could do with some reorganization, even though it's hard for universities to keep up with the way most of current day tech advances.
- SamReidHughes 9y agoThe difference with math is, you can get partial credit.
- deleted 9y ago[deleted]
- alistairSH 9y agoThere's no reason you can't receive partial credit in CS. If assignments are being graded solely on whether or not the output is correct, I'd say it's a flaw in the curriculum. FWIW, I do not remember this being the case when I studied CS in the mid-90s.
- toomanybeersies 9y agoIt was a combination for me, depending on the lecturer. I had some papers where up to 15% of the paper purely depended on output being 100% correct (you lost percentages each time it failed, and got 0% if it didn't work in the end). I also had some papers where your grade was based around functionality, where there were several milestones, so as long as you got it partially right, you got some marks. For instance, in one paper, we had to implement RIPv2, but we got partial marks if we only got parts of the spec working. Then there were papers where you had a final goal, but even if your code didn't even compile, they'd take a look at it and if you were on track, you'd get partial marks. For example, we had a paper where we had to control a helicopter reading data from a rotary encoder and other inputs, and use PID control. We had our PID control backwards so the thing wouldn't even fly, but the code was otherwise correct.
- lightsighter 9y agoJust as counter example, all the assignments for my OS class at top-20 CS university were graded using a set of a few hundred tests that were hidden from us. For example, the first assignment was to implement a thread scheduler and over the years the course had developed a few hundred tests on which our grade was based. We were allowed to submit our solution three times, and we would be told how many tests we passed, but not why we failed any specific tests or what those tests were, with the highest of our submissions being our grade. The incentive of this process was two fold: first, it forced us to learn to write our own good tests and not rely on the TAs to spoon feed us exactly what we needed to do (in fact one student wrote a test that broke the reference solution and was added to the test suite for the next semester), and second it is completely intractable to expect a few TAs to scan through several thousand lines of code for each of a hundred students to discover how "close" to being correct their implementation is. Bugs are hard enough to find in code you wrote, let alone code written by an undergraduate just learning how to write systems code for the first time. In my experience TAing for both math and CS classes, finding bugs in students math assignments is significantly easier than finding bugs in code.
- alistairSH 9y agoOk, but you ARE receiving partial credit. It wasn't all-or-nothing, as was implied above.
- lsadam0 9y agoIn my low level CS classes we handed in a source code print out. The printout was graded, not execution of the program. Partial credit was given. Even in higher level CS, partial credit was given.