Software Engineering
    Computer Science
    Design Patterns
    Philosophies
    Standards
    Licenses
    Trends
    Integration Patterns

Computer Science

Updated: 2022-05-05

Things you will learn from a Computer Science program (undergraduate, graduate, or online courses):

Math Prerequisites

  • Calculus
  • Statitics / Probability
  • Linear algebra
  • Discrete mathematics
  • Game Theory, Coding Theory, Graph Theory

Programming Languages

  • Programming Languages: universities choose different first languages to teach, most likely C/C++, Java or Python. Read more: Programming Languages.
    • OOP, Funtional
    • Design Patterns
    • Concurrency, locks, mutex, semaphores
    • Garbage Collection
  • Compilers

Data Structures and Algorithms

  • Data Structures
  • Algoritms
  • Complexity

Computer Systems

  • Operating system, process, thread, memory
  • Computer Architecture
  • Networks
  • Databases
  • Distributed Systems
  • Embedded Systems
  • Cloud Computing

Software Engineering

  • Software Engineering
  • Web Development
  • Mobile App Development
  • UI / UX / HCI (Human-Computer Interaction)

AI / ML

  • Machine Learning
    • Deep Learning
  • Vision
  • NLP
  • Robotics
  • Biometrics

Computer Graphics

  • Computer Graphics
  • Game design
  • AR / VR

Others

  • Quantum Computing
  • Security and Privacy
  • Cryptography
  • Law, Social Good, Ethics
  • Music Processing