Forgot your password?
typodupeerror

Comment: Functional programming (Score 1) 364

by incripshin (#36303394) Attached to: Ask Slashdot: Good Homeschool Curriculum For CS??

First, office suite applications are not computer science. If you want to teach the CS version of word processing, teach them LaTeX. In the meantime, I recommend something that I didn't do: start with a functional language like Scheme (I started with K&R). I TA'd for a Java intro class and it never went well. All the PL (programming language) grad students I know hate C++, and that leaves Python, Ruby, and the functional languages.

Scheme is pretty simple, and probably appropriate for HS-level coursework. One of my intro classes was with Scheme and I liked it (we used the wizard book, a friend of mine had The Little Schemer at his school). I've heard good arguments for using functional languages for introductory courses, but I don't really remember them :(.

Comment: Re:Well this is awkward (Score 1) 667

by incripshin (#31735536) Attached to: The Struggle To Keep Java Relevant

Yeah, I have a bit of disdain for software engineering, so I would never think to mention it. I agree with most of that, except for the UML.

I meant that you learn languages on your own to get along, but it shouldn't be a part of the curriculum. Once you have learned a couple languages, you realize that they're all the same. The only way language-learning belongs in the curriculum is (1) for an intro class, (2) the class spends only a couple weeks on the language, or (3) a low or zero credit course teaches a language.

Comment: Re:Well this is awkward (Score 1) 667

by incripshin (#31714318) Attached to: The Struggle To Keep Java Relevant

(First of all, the article title brought the biggest smile to my face.)

At least you can use it. I had Scheme for my intro class, and that doesn't exactly come in handy unless you're in PL. Anyway, I'm self-taught in almost every language I know. Most classes I've had either tell you 'we're using X, so keep up' or 'just write it, we don't care how'. Maybe take each summer as an opportunity to learn a new language.

I definitely get pissed off when I hear whiny untalented graduates say their CS program didn't give them what they needed in the real world (so don't be one of them). Good CS programs don't waste time teaching languages. It's all about the algorithms, data structures, and theory.

That said, you'll need to know some languages backwards and forwards. At least a general-purpose language (C, C++, Java, Go, etc) and a scripting language (Python, Perl, etc). Definitely learn how to do parallel programming in some of them. Also regular expressions: built-in to many languages and accessible from the rest.

After an instrument has been assembled, extra components will be found on the bench.

Working...