parent
badd13a132
commit
239de1c6d0
@ -1,74 +0,0 @@
|
||||
# OSSU-CS Academic Requirements
|
||||
|
||||
This document contains the subjects (e.g. programming), topics (e.g. imperative programming), and projects 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 language
|
||||
- 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
|
||||
|
||||
## Projects
|
||||
|
||||
Students are required to complete a project at the end of [Core CS](README.md#core-cs) and at the end of [Advanced CS](README.md#advanced-cs).
|
||||
|
||||
For Core CS, students have two options:
|
||||
- They can use the Capstone course at the end of [Core applications](#core-applications) as their Core CS Project, in which case they are not required to share their project code.
|
||||
- They can skip that Capstone project and make their own project, in which case they *are* required to share the project code.
|
||||
|
||||
For the Advanced CS Project (also known as the Final Project), students again have two options:
|
||||
- They can take one of the Specializations under [Advanced applications](#advanced-applications), all of which include Capstone Projects. Students *must* share their project code unless the course's honor code forbids it.
|
||||
- They can create their own Final Project, and must share the project code to be evaluated by the community.
|
@ -0,0 +1,12 @@
|
||||
# Other curricula
|
||||
|
||||
OSSU is one of a few efforts to inform learners how they can pursue computer science independently. Below are a few other such efforts.
|
||||
|
||||
- [Google - Guide for Technical Development](https://www.google.com/about/careers/students/guide-to-technical-development.html)
|
||||
- [Teach Yourself Computer Science](https://teachyourselfcs.com/)
|
||||
- [Obtaining a Thorough CS Background Online](http://spin.atomicobject.com/2015/05/15/obtaining-thorough-cs-background-online/)
|
||||
- [P1xt](https://github.com/P1xt/p1xt-guides)
|
||||
|
||||
What differentiates OSSU? OSSU is dedicated to how an individual can learn the undergraduate CS curriculum. This is why we use the [CS2013](../CURRICULAR_GUIDELINES.md) as our curricular guidelines. These guidelines are written by the two foremost professional organizations in computing.
|
||||
|
||||
This approach has the benefit of clarifying to others the extent of a student's study and understanding. Students have gone from OSSU study into both tech industry employment and into Computer Science graduate school. We look forward to helping you do the same.
|
Loading…
Reference in New Issue