4 ms·
It's also a skill that schools don't do a very good job of. Right now I'm TA'ing a C++ class and the sheer stupidity of some of the questions that I get asked
by joatmon-snoo 10y ago
It's also a skill that schools don't do a very good job of.
Right now I'm TA'ing a C++ class and the sheer stupidity of some of the questions that I get asked is ridiculous (I say stupidity, but it's really a mix of (1) some actual stupidity, (2) students not thinking for themselves, (3) students having no idea where to look and/or stuff was explained by hand-waving it away.)
One thing we've done, for instance, is require that students submit their code via GitHub and make their code compile under both GCC and Clang on Travis. On the last assignment, the professor made a mistake when duplicating the Travis config file, so Travis kept trying to run a binary that wasn't there, because the new assignment had a different name for the compiled binary.
The sheer number of emails and questions I got was absolutely ridiculous - and granted, I didn't blame the students for asking, because the entire toolchain side of things had sort of been hand-waved away from them, but the fix was literally replacing "./hw4-submission" with "./hw5-submission" in the Travis config.
The point I'm getting at, I guess - because this isn't so much a thing about codebase architecture as knowing the tools you have to use - is that too much time is spent in the traditional CS education telling students to fill in code, or giving them frameworks and saying "make your thing work with this", instead of making them design stuff ground-up.
- voltagex_ 10y agoI don't have a lot of experience with Travis - was the error message straight forward? I wonder what a course teaching debugging from the error message backwards would look like? I was a semi-decent programmer before I started working but learning to debug took a lot more on-the-job WTFs to get the hang of.
- joatmon-snoo 10y agoSadly, no. It didn't help that there were a _lot_ of problems in the Travis/C++ ecosystem that complicated the matter. I actually have an outstanding PR into the Travis docs to update this which hasn't been merged yet for reasons unbeknownst to me https://github.com/travis-ci/docs-travis-ci-com/pull/746 https://github.com/travis-ci/docs-travis-ci-com/pull/746