RATIONALE
Programming should be considered a tool that you use to apply your theoretical knowledge of computer science into practice. Having strong programming skills will open doors for:
- Software Engineering e.g. web developer, app developer etc.
- Robotics
- Machine learning
- Ethical Hacking
- Anything else that involves coding
RESOURCES
Schools tend to introduce programming through either Python, Java or C++. Either language is fine for CS. I've listed the uses each language has in industry below.
- Java: Web Development, Android Apps, Enterprise Software
- Python: Web Development, Machine Learning, Scripting
- C++: Machine Learning, Game Development, Embedded Systems
Course | School | Prerequisites |
---|---|---|
Learn how to think as a programmer | Harvard | none |
Python | freeCodeCamp | none |
Java Programming Methodology | Stanford | none |
C++ Tutorial for Beginners | freeCodeCamp | none |
RECOMMENDED BOOKS
Book | Author |
---|---|
Effective Java | Joshua Bloch |
C++ Primer | Stanley B. Lippman et al. |
Python Crash Course | Eric Matthes |
CHECKLIST SUMMARY
- Data types
- Mathematical operators
- Logical operators
- Conditionals
- Loops
- Objects
- Polymorphism