You're looking at Less Wrong's discussion board. This includes all posts, including those that haven't been promoted to the front page yet. For more information, see About Less Wrong.

LM7805 comments on Open Thread, September 23-29, 2013 - Less Wrong Discussion

5 Post author: Mestroyer 24 September 2013 01:25AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (261)

You are viewing a single comment's thread. Show more comments above.

Comment author: Jayson_Virissimo 25 September 2013 12:18:58AM 1 point [-]

Sorry if I wasn't clear. I intended the list to include only skills that make you a more valuable programmer that aren't explicitly taught as part of the degree. Two Java courses (one object-oriented) are required as is a Programming Languages class that teaches (at least the basics of) C/C++, Scheme, and Prolog. Also, we must take a Computer Organization course that includes Assembly (although, I'm not sure what kind). Thanks for the advice.

Comment author: LM7805 25 September 2013 05:12:41PM 0 points [-]

I've TAed a class like the Programming Languages class you described. It was half Haskell, half Prolog. By the end of the semester, most of my students were functionally literate in both languages, but I did not get the impression that the students I later encountered in other classes had internalized the functional or logical/declarative paradigms particularly well -- e.g., I would expect most of them to struggle with Clojure. I'd strongly recommend following up on that class with SICP, as sketerpot suggested, and maybe broadening your experience with Prolog. In a decade of professional software engineering I've only run into a handful of situations where logic programming was the best tool for the job, but knowing how to work in that paradigm made a huge difference, and it's getting more common.