Discrete Mathematics (x) (x) (x) (x) (x)
Data Structures (x) (x) (x) (x) (and Object Oriented Programming (x) )
Software Engineering (x)
Operating Systems (x) (x) (x) (x) (x) (x) (x)
Structure and Interpretation of Computer Programs (x)
Computer Architecture (x)
Programming (x) (x) (x) (x) (x) (x) (x)
Linear Algebra (x) (x) (x)
Artificial Intelligence (x) (x)
Calculus (x) (x) (x)
Tutorials (programming) and other online resources:
Programming languages online tutorials and Computer Science/Engineering online courses
Java, C, C++ tutorials
Memory Management in C
Pointers in C/C++
Websites for learning and tools:
Computer organization and design: the hardware/software interface. David A.Patterson & John L. Hennessy.
Artificial intelligence: a modern approac. Stuart J. Russel & Peter Norvig.
Database systems: the complete book. Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom.
Algorithms: a functional programming approach. Fethi Rabbi & Guy Lapalme.
Data Structures & Algorithms in Java: Michael T. Goodrich & Roberto Tamassia.
The C programming language: Kernighan, D. & Ritchie.
Operating System Concepts: Avi Silberschatz, Peter Baer Galvin, Greg Gagne.
How to Study
Exam Tips for Computer Science
Top 10 Tips For Computer Science Students
Study Skills: Ace Your Computing Science Courses
How to study for Computer Science exams
How to be a successful Computer Science student
Writing in Sciences, Mathematics and Engineering:
Writing a Technical Report
Writing in the Sciences (Standford online course)
Writing in Mathematics, Statistics and Computer Science Courses