Courses
Books
Operating Systems
Courses
Berkely
- CS 61A
- CS 61B
- CS 61C
Meta
MIT
Stanford
- https://see.stanford.edu/Course
- https://www.coursicle.com/stanford/courses/CS/
CS 105 - Introduction to Computers
> A lightweight introduction to CS ideas, but without as much coding as CS106A. - Site: http://web.stanford.edu/class/cs105/ - Videos: https://www.youtube.com/playlist?list=PLoROMvodv4rPzLcXBhbCFt8ahPrQGFSmNCS106A - Python
> First course in programming and computer science, for people who with zero experience.CS106B - C++
> The second course, teaching more advanced programming and computer science for people who know basic programming.CS 106X - Programming Abstractions (Accelerated) - C++
> The more advanced of two courses teaching introductory programming abstractions and algorithms. CS106X is an alternative to the more sensibly paced CS106B, because some students—self-taught programmers, exceptionally strong CS106A students, and AP Java graduates—prefer a more intense treatment in the company of other aficionados. - Videos: https://youtube.com/playlist?list=PLoCMsyE1cvdVmbGH6Jp-9twXPbi5J_IBTCS193q - Python
> A 1 unit seminar that teaches Python very very quickly - geared for people who already know how to program but do not know Python.CME193 - Python
> A course in applied Python for scientists and engineers. It is a course one could take after CS106A - Site: http://web.stanford.edu/class/cme193/CS 107 - Computer Organization & Systems
> CS107 is the third course in Stanford's introductory programming sequence. The CS106 courses provide you with a solid foundation in programming methodology and abstractions, and CS107 follows on this to build up and expand your breadth and depth of programming experience and techniques. The course will work from the C programming language down to the microprocessor to de-mystify the machine. With a complete understanding of how computer systems execute programs and manipulate data, you will become a more effective programmer, especially in dealing with issues of debugging, performance, memory, and robustness. Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, elements of code compilation, optimization of memory and runtime performance, and memory organization and management. - Site: https://web.stanford.edu/class/archive/cs/cs107/cs107.1222/ - Videos: https://youtube.com/playlist?list=PLoCMsyE1cvdWivlV-39KKsBKUX-4DvraN - Text: Computer Systems: A Programmer’s Perspective - Bryant & O’Hallaron - http://csapp.cs.cmu.edu/3e/home.html</details> </details> </details> #### Other - Math for CS - [Introduction to Discrete Mathematics for Computer Science Specialization - Coursera ](https://www.coursera.org/specializations/discrete-mathematics) - Math for Finance - [COMP510 - Computational Finance - 2007 HKUST - Steven Skiena](https://www.youtube.com/playlist?list=PL9E205B8FAAD530E1) - [CS50's Understanding Technology - YouTube](https://www.youtube.com/playlist?list=PLhQjrBD2T382p8amnvUp1rws1p7n7gJ2p) - [CS50's Computer Science for Business Professionals - YouTube](https://www.youtube.com/playlist?list=PLhQjrBD2T381YHS5L3gkwPbUGiI0foXuc) - [CSCI E-23a Introduction to Game Development](https://cs50.github.io/games/lectures) - [CSCI E-33a Web Programming with Python and JavaScript](https://cs50.github.io/web/2018/spring/lectures) - [CSCI E-39b Mobile App Development with React Native](https://cs50.github.io/mobile/lectures) - Physcology: [Hooked: How to Build Habit-Forming Products](http://a.co/d/hOLhqz5) - [CS 102: Big Data - Stanford](https://web.stanford.edu/class/cs102/) - [Copyright for Multimedia](https://www.coursera.org/learn/copyright-for-multimedia) - [Applications in Finance](https://github.com/mobilege/data-science/blob/master/applications-in-finance.md) - [Introduction to Computational Thinking and Data Science (Undergraduate)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0002-introduction-to-computational-thinking-and-data-science-fall-2016/) - [How to Become a Better Software Developer](https://www.7pace.com/blog/become-a-better-programmer-skills-development) - [Certified CompTIA Linux+ and LPIC-1: System Administrator](https://acloud.guru/learn/lpic-1) - [Linux Essentials Exam 010](https://www.lpi.org/our-certifications/exam-010-objectives) - [Linux Essentials, Second Edition - Book](https://www.amazon.com/Linux-Essentials-Second-Christine-Bresnahan/dp/111909206X/ref=sr_1_1?crid=1JLBR9SVH8UVY&keywords=lpi+linux+essentials) - [Unity Certified Associate](https://certification.unity.com/products/certified-associate) - [Computer Science Proficiency Assessment](https://cspa.io/) CS 110 - Principles of Computer Systems
> Principles and practice of engineering of computer software and hardware systems. Topics include: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; security, and encryption; and performance optimizations. - Prerequisite: 107 - Videos: https://youtube.com/playlist?list=PLu77E6J7s6Ko3Ft4XcOX1yKW6iX3eEFqS CS 144 - Introduction to Computer Networking
> - Prerequisite: 110 - Videos: https://youtube.com/playlist?list=PLoCMsyE1cvdWKsLVyf6cPwCLDIZnOj0NS