Hacker News new | past | comments | ask | show | jobs | submit login

Great list that covers the basics. For anyone interested to expand I would suggest the following:

(the description is taken from the corresponding courses I took in college which I found super helpful)

Programming paradigms: Examination of the basic principles of the major programming language paradigms. Focus on declarative paradigms such as functional and logic programming. Data types, control expressions, loops, types of references, lazy evaluation, different interpretation principles, information hiding.

Textbook on Haskell and prolog would be recommended.

Computability: An introduction to abstract models of sequential computation, including finite automata, regular expressions, context-free grammars, and Turing machines. Formal languages, including regular, context-free, and recursive languages, methods for classifying languages according to these types, and relationships among these classes.

Introduction to the Theory of Computation by Michael Sipser

Explorations in Information Security: A broad survey of topics in information security and privacy, with the purpose of cultivating an appropriate mindset for approaching security and privacy issues. Topics will be motivated by recreational puzzles. Legal and ethical considerations will be introduced as necessary.

Someone already mentioned computer graphics which I excluded. I personally had the most fun in college in my graphics courses. They were hard but super rewarding and a ton of fun!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: