|
|
|
|
|
by bsder
2515 days ago
|
|
> I've been a TA and taught introductory CS courses, and IMHO trying to "add extra tech" tends to get in the way of learning more than anything else, as well as perpetuating bad habits when programming. I don't have a good suggestion for intro classes. Basically, everything has downsides. Some people don't want to interact with a computer; some people want to do mega-cool things on the computer; some people don't understand what is going on and will be confused by any extraneous steps. Anything you do is going to consume time and displease somebody. I can tell you that for sophomore and up CS classes in college, use real stuff. It's a pain to set up and maintain (although it might be easier nowadays), but the students will thank you for it afterward. I made my students use Eclipse and Subversion at the time (I would probably use VSCode and Mercurial nowadays) and had a continuous integration server running every time I gave an assignment. Students could use an IDE or editor other than Eclipse, but I warned them that I might not be able to help them about IDE specific things. Subversion was they way that they could "submit the code" so the continuous integration server would test it. Even students who gave negative feedback about aspects of the class gave positive feedback about using the "real" tools and not stupid submission systems like Blackboard or its ilk. All of the students noted that they did much better interviewing for jobs than students who didn't have experience with the real tools. Although, it was funny getting shocked responses from students who interviewed with employers that didn't use source control. Brainwash them early for best results. :) |
|
I had a similar policy, although perhaps directly opposed: I supported only vi(m) or Notepad use, but as long as the source was plaintext (either CRLF or LF line endings, but not a mix...), any editor was allowed. Also, they could use MSVC or other C compilers, but the assignments must work on the course servers with GCC (which students could SSH into and work from, as well as where they handed in.) IMHO starting with a "heavy" IDE like Eclipse or VS just furthers the notion that useful software must necessarily be big and complex, or that such software is obligatory to development; not really a good thing to instill in beginners if we want them to be mindful of efficiency in the future.