Skip to content
ej.saha.la
  • home
  • about
  • blog
  • projects

projects

  • YACHT Another Custom Hugo Theme
  • reanimating my personal infrastructure
  • Computer Science Autodidact

Computer Science Autodidact

Computer Science Autodidact

documenting my self-education journey in Computer Science

autodidact, from oxfordgoogle:

au·to·di·dact
/ˌôdəˈdīˌdak(t),ˌädəˈdīˌdak(t)/

noun
noun: autodidact; plural noun: autodidacts; noun: auto-didact; plural noun: auto-didacts

  a self-taught person.

Origin
  mid 16th century (as autodidacton ): via Latin from Greek autodidaktos ‘self-taught’,
  from autos ‘self’ + didaskein ‘teach’.

Goal:

  • a Master of Science in Computer Science from the University of Colorado at Boulder

full list of required courses:

  • MS CS academics

Alternate degree programs:

  • MSc Computer Science from Heriot Watt

Learning path

Maths refreshers

  • Algebra: Elementary to Advanced Specialization
  • Precalculus through Data and Modelling Specialization
  • Integral Calculus through Data and Modelling Specialization
  • Intro to Discrete Mathematics for Computer Science Specialization
  • Mathematics for Computer Science

Fundamentals of Computing/Programming Languages

Programming languages:

  • C
  • Go
  • C++
  • Rust
  • Python3
  • Java
  • Guile Scheme

Coursework/books:

  • UC Santa Cruz C, Go, C++
  • Rust Programming Specialization
  • Rice University’s Fundamentals of Computing Specialization
  • Princeton’s Programming With A Purpose, in Java
    • Programming With A Purpose, in Python
  • MIT’s Structure and Interpretation of Computer Programs
  • Composing Programs

Algorithms

Programming languages:

  • Java
  • Python3

Coursework/books:

  • Princeton’s Algorithms, Part 1
  • Princeton’s Algorithms, Part 2
  • MIT’s Introduction to Algorithms

Operating Systems/Systems Programming

Programming languages:

  • C
  • Go
  • Java
  • Rust

Coursework/books:

  • Writing a Compiler in Go
  • Robert Nystrom’s Crafting Interpreters
  • Computer Systems: A Programmer’s Perspective
  • Codio’s Introduction to Operating Systems Specialization

Supplementary learning

Leadership and management:

  • Neuroscience of Leadership
  • ME Engineering Management from UC Boulder

Technology Entrepreneurship:

  • Technology Entrepreneurship Specialization from UC Boulder

Communication:

  • Good with Words Writing and Editing Specialization
  • Technical Commuication Specialization
  • Creative Essay Writing Explore the Personal & Powerful

references and inspiration

  • An Autodidact’s Degree in Computer Science
  • Teach Yourself Computer Science
  • What every computer science major should know
  • A Self-learning, Modern Computer Science Curriculum
  • OSSU computer science curriculum
  • 10 Books for the Self-Taught Computer Scientist

tech used

  • Guile Scheme
  • C
  • Go
  • Python3
  • Java
  • Rust
  • Github
  • LinkedIn
  • e-mail
all views expressed are my own; any and all art/artwork is copyright its respective owner (myself if not otherwise noted).
ej.saha.la copyright: © 2003-present by e.j. sahala (they/them), and licensed under CC BY-NC-SA 4.0 Creative Commons Attribution Non-Commercial Share Alike

powered by
Hugo

themed with
YACHT