OSSU-computer-science/REQUIREMENTS.md

1.1 KiB

OSSU Academic Requirements

This document contains the subjects the student must master to pass through this curriculum. The subject requirements are based on topics, rather than specific courses, because sometimes a certain course isn't available at the right time or doesn't fit the student's learning style.

Subjects

Programming

Paradigms

  • Imperative programming
  • Procedural programming
  • Object-oriented programming
  • Functional programming
  • Logic programming

Languages

  • C and/or C-derived languages
  • SQL
  • XML/HTML
  • JavaScript and/or related language
  • An ML-family language
  • A Lisp-family langauge
  • Python and/or Ruby

Math

  • Logic and proofs
  • Discrete structures
  • Graph theory
  • Discrete probability
  • Linear algebra

Systems

  • Memory
  • Caching
  • Virtualization
  • Concurrency
  • Compilers
  • Assembly
  • Networking

Theory

  • Data structures
  • Sorting
  • Searching
  • Divide and conquer
  • Algorithms on graphs
  • Greedy algorithms
  • Trees
  • P and NP

Applications

  • Software product management
  • REST
  • Databases
  • Computer graphics
  • Cybersecurity
  • Machine learning