Online lectures:
Discrete Mathematics (x) (x) (x) (x) (x)
Data Structures (x) (x) (x) (x) (and Object Oriented Programming (x) )
Software Engineering (x)
Database (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)
Artificial Intelligence (x) (x)
Algorithms (x)
Tutorials (programming) and other online resources:
Programming languages online tutorials and Computer Science/Engineering online courses
Websites for learning and tools:
Recommended books:
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.
Study Tips:
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 in the Sciences (Stanford online course)
Writing in Mathematics, Statistics and Computer Science Courses