Self-taught Computer Science

File size
17.7KB
Lines of code
242

Self-taught Computer Science

Anyone can learn Computer Science.

Introduction

I based the curriculum on this reference material.

It does not cover all that a CS degree in school will give you, but I found the below topics essential in getting me up and writing code as quickly as possible.

This syllabus might work for you, it might not.

Go as deep as you want and stop when you want.

Do not be afraid to google.

All the best.

Curriculum

1. Foundations

  • Python: a soft introduction to programming concepts
  • C: program with only the basics
  • Java: object-oriented programming
  • JavaScript, HTML and CSS: front-end development
  • PHP: traditional server-side programming
  • SQL: interacting with relational databases
  • Go: modern server-side programming
  • Markdown: not a programming language but essential for writing documentation

2. Algorithms and Data Structures

3. Command Line

4. Mathematics for Computer Science

5. Languages and Compilers

6. Distributed Systems

7. Mindset

8. Uncategorised but important

Practice

I had to practise lots to become a better programmer. Here are some resources I used.

Not covered

These are important topics that have not been included above for brevity. Please look into them as well.

  • Operating Systems
  • Computer Networking
  • Computer Architecture
  • Computer Memory
  • Cybersecurity
  • UX/UI Design

Final words

Learn as much as you can, across as many disciplines as you can.

Think about what's fun, not what's easy.

Follow your nose, stay curious and be excited.

More on

Many people on the internet have made awesome resources free and publicly available.

Reference material

Supplementary reading