Skip to content

Commit

Permalink
update (#1)
Browse files Browse the repository at this point in the history
* Add security courses on a provisional basis.

See ossu#639

* Include link to HtDP book and problem sets

* Update readings.md

* Added link to HW for Intro to Parallel Programming

Intro to Parallel Programming's grader is broken, it's impossible to submit programming assignments. It's also impossible to compile and run the code on your PC, unless you own an nVidia GPU. Thankfully some nice folks on Github created a Google Research Colab page where you can compile and run your homeworks (unfortunately the Final Exam is not available and probably never will be). I understand this uses Google's GPU sharing.

* Remove dead link

* Simplify table of contents

* Fix spelling mistake

* Links to prerequisites courses added

* Move courses to advanced

Change the Haskell course suggestion. A big thank you to @aryzach for prompting the switch.
Move courses to advanced programming. See Issue.
Closes ossu#669

* Move curricular guidelines out of extras.

* Clarify that CS2013 is the curricular guidance for OSSU

Resolves ossu#679

* Add The Missing Semester

Resolves ossu#678

* Replaced Hack the Kernel with OSTEP

Implementing the proposal from issue 690: ossu#690

* Add note to Changelog that curriculum is > v8 and < v9.

Resolves ossu#674

* Replace LAFF with MIT's OCW Scholar Linear Algebra

Resolves ossu#693

* Reflect addition of new Intro section.

* Make note more prominent

* updated Software Engineering prereqs and added relevant FAQ

* Update README.md

* Update link to curricular guidelines

* Remove link to dead domain

* Update link for Compiler Construction

* Change Programming Languages Part A Prereq

Resolves 716

* How to audit the intro to programming courses

Resolves ossu#724

* Updated PROJECTS.md

Finished Specialization, using its Capstone as Final Project

* Update README.md

* Update OS Course Version

Resolves ossu#707

* Update README.md

* Update README.md

Removed LAFF, changed Parallel Programming

* Update courses.md

Moved Intro to Parallel Programming to Extras

* Update readings.md

Removed Sheldon Axler's "Linear Algebra Done Right (FREE)" because it is no longer free after the end of July 2020. It was made free temporarily due to COVID-19.

* Python for Everyone > Python for Everybody

The course, book and website all say everybody instead of everyone. Just a little nit I noticed.

* Switch Python for Everybody link

Students regularly ask in Gitter how to audit Python for Everybody (Py4E). The instructor of Py4E has created a free version on a standalone site. This has been the alternate link. Instead this should be the main link.

* Replace previous Probability course

Added a new probability course called Stat110 from Harvard, and moved the previous one to the extra courses page.

* Update README.md

* Add new question to FAQ

Tighten language on some FAQ answers

* Rearrange order of FAQ questions

* Simplify Intro to Programming

Resolves ossu#763

* Raise duration estimate to match Coursera's estimate

* Course listing should match course title

* Update .gitignore

* Use Stanford Database courses

Stanford Database courses had long been part of the OSSU curriculum. When Stanford pulled down their platform Lagunita, OSSU had to find a new offering. With the Stanford material back on edX, OSSU should return to this high quality offering.

Resolves ossu#718
Resolves ossu#709

* Change chat from Gitter to Discord

* Add 'Discussion' header to Core Math and Core Systems

* Re-add newsletter link

* Remove unnecessary coursework from Advanced Systems.

Resolves ossu#772

* Delete reference to cohorts repo.

Cohorts repo was closed after an RFC.
Resolves ossu#780

* Removed redundant note from Advanced Systems

The note was referring to Electricity & Magnetism classes, which were removed.

* Update HELP.md

A server admin will have to enable the discord widget in the settings for the discord server

* Update help.md

[#173862703]

Authored-by: Waciuma Wanjohi <[email protected]>

* Replaced FutureLearn pre-calculus with Khan Academy

- To be more consistent with our Khan Academy recommendation elsewhere in the curriculum
- also some students expressed confusion with the FutureLearn course

* Added link to Interactive Exercises from Kurose-Ross textbook website

* Update FAQ language and order

[#173862703]

Authored-by: Waciuma Wanjohi <[email protected]>

* Use Discord Widget

[#173862703]

Authored-by: Waciuma Wanjohi <[email protected]>

* Update math prereq columns

* Changed Py4E hours of effort to match OSSU expected weekly effort levels

* Removed errant submodule added on prior commit

* Prerequisite section mention of high school math links to FAQ

* Remove dead link.

Resolves ossu#795

* Move the Missing Semester later in curriculum

Resolves ossu#778

* Clarify that OSSU is not working in partnership with any org to offer degrees.

* Fixed Advanced Systems dead links

* Match recommended calc to course listed prereqs

https://www.edx.org/course/introduction-to-probability

'Familiarity with U.S. high school level algebra concepts; Single-variable calculus: familiarity with matrices, derivatives and integrals.'

* replace dead link

Fix for [computer-science/issues/825](ossu#825)

* Update Newsletter Address

* Add link to completion estimate chart

Discord user crokei26#1613 created an initial version of this great resource. A huge thanks to them!

* Removed Formal Concept Analysis (fixes ossu#818)

- fixes ossu#818
- removed `CUDA` and `GPU programming` from topics (left over from before)

* Direct Py4E students directly to the lessons

* Switch Math for CS from OCW to OLL

Implement ossu#832

* add two new books on systems

* Add section to FAQ about alts

* Sharpen FAQ answer language

* Remove direct link to issues

We often get issues opened that are empty, with no text or description of a problem. This may be because learners follow the link from the Community section, and post in order to interact. By removing the link (but keeping the link to the contributing instructions) we can hopefully direct new learners in how to interact productively.

* Move CS50 to Courses/Extras

Resolves ossu#833

* Remove prereq not mentioned by course creators

* Remove topic that is not covered in the section

* changed the discord invites 

Changed the 2 invite links (one inside the svg) to direct to the #welcome discord channel. Also changed some relevant language.

* Update Game Design specialization

Bump to new version

* Include edX financial aid information

* feat: Change order of database courses

* Update issue templates

* Changed link to Effective Thinking Through Mathematics course in extras (issue ossu#870) (ossu#871)

* Changed link to Effective Thinking Through Mathematics course in extras

* Delete .DS_Store

Co-authored-by: Jonathan Hustad <[email protected]>
Co-authored-by: waciumawanjohi <[email protected]>

* updated Prolog link, added PDF version (fixes ossu#868) (ossu#873)

* updated Prolog link, added PDF version

* updated Prolog link, added PDF version

- removed `Text` column, added footnote instead

* updated Prolog link, added PDF version

- parentheses

* updated Prolog link, added PDF version

- added link to book source code

* Updated links to both HtC Simple and Complex Data

* Added alt link to ocw version of 6.002 in extra courses (ossu#885)

* added OCW alt link for 6.002 in extra courses

* fixed parenthesis

* Update books' editions

* Updated the links for books that have a newer edition. I have included the authors' home page for the book where possible.
* Updated some titles to reflect the linked edition. I have maintained the original format (``2e`` for the books in the ``Programming`` section ``(2nd Edition)`` for the books in the other sections). Unifying the format could be something to consider.

* More realistic estimate for OS course

Hi,

I am currently taking this course and I am about half way into it. I already have a CS degree and I've been working as a developer for ~8 years.

The course is very interesting and comprehensive.
If you want to do this course properly, I think 6 hours per week for this course is bare minimum:
- There are ~3 hours of lectures each week
- The original course is split into 14 weeks
- Each chapter has homework at the end of it
- Homeworks are not very difficult, but some of them require significant amount of work
- Projects require significant amount of work

* Update other_curricula.md

Add new curriculum (writing started Summer 2019)
See more: https://github.com/functionalCS

* Reflects locked down CS Timeline Spreadsheet

* Spreadsheet link prompts users to make a personal copy

* Remove course that is no longer offered

Resolves ossu#907

* Make Calculus Required

closes ossu#841

* Change calculus recommendation to OLL and OCW

Resolves ossu#838, ossu#886

* Change Networking course to Kurose-Ross

Resolves ossu#887

* Evaluation section update

Change language to encourage students to be proactive in seeking feedback for projects.

* Advanced Applications subsumed by Project

Clarifies that the advanced application list is a subset of a larger, unspecified, set of adequate options.
Advanced Applications was listed as a precursor and possible replacement for the final project. This merges the two and specifies that students may choose another avenue for creating a capstone project.

Resolves ossu#830

* Update core math blurb

Resolves ossu#921

* Removed Project with Dead Link

1. Removed Binary Machine project as repository link results is dead.
2. Fixed link to applications block.

* Update Team

* extras/courses: Add Introduction to Computational Thinking by MIT

As noted here ossu#912 adding this course to The Math section

* Add Algorithms by Sedgewick

Add Algorithms by Robert Sedgewick on the basis that it's a freely available book from a reputable institution (it's the textbook for the Princeton Coursera courses). That being said, I haven't had the chance of reading the book so I can't personally comment on its quality.

* Commit for RFC at issue ossu#933 (ossu#945)

* Commit for RFC at issue ossu#933

Added by error

Co-authored-by: Harsh <[email protected]>

* Add The Linux Command Line book to Tools section in extra readings

* Switch 3b1b Linear Algebra from pre to corequisite (ossu#927)

Switch 3b1b Essence of Linear Algebra from prerequisite of MIT Linear Algebra to corequisite

* Add interesting/useful reading resources (ossu#941)

* fix: updated Computation Structures 1,2 & 3 links (ossu#953)

* Add books, fix formatting

* Add Ethics Course

Ethics being a very important education in field of computer science. CS 2013 Says, while technical issues are central to the computing curriculum, they do not constitute a complete educational program in the field. Students must also be exposed to the larger societal context of computing to develop an understanding of the relevant social, ethical, legal and professional issues. This need to incorporate the study of these non-technical issues into the ACM curriculum was formally recognized in 1991.

* Update README.md

* Update Ethics Course Discord Links

* Fix link formatting

* fix some links

* extras/books recommends Linear Algebra for Everyone

closes ossu#910

* Add puzzles-practice to extras

Closes ossu#783

* Added Intro to Numerical Analysis

Added Introduction to Numerical Analysis by HSE, a CS2013 Elective Course.

* Added alternative to Intro to NumAnalysis.

Added MIT18-335J as an alternative to Introduction to Numerical Analysis.

* Swapped Core security and Core applications links in the curriculum index to reflect the order of the page. Added a link for Core ethics to the index. Updated some capitalization.

* Add answer on finding courses

* Add cs-video-courses

* Add link to goodreads in FAQ

* Remove alternate course that is no longer offered.

* Update README.md

* Fixes typos

* Update full stack open hours/week

https://studies.cs.helsinki.fi/stats/courses/fullstackopen
According to the course stats, every part takes at least 15 hours to finish on average.

* update MathForCS dead alternate link

* Remove note on provisional status

Having closed the [RFC: Add Security Courses](ossu#639), it is time to remove the provisional label from the Core Security section.

* Replace Numerical Analysis Course

Resolves ossu#1006

* Typo fix

* Fix typo

* Math for CS 2010, 2015/2019 solutions

* Add DSA Textbook to Extras

Thank you to @hamzakat

Closes ossu#994

* alternate links for Computation Structures

* alternate links for Computation Structures

improved formatting

* added OSTEP course page

* added OSTEP course page

fixed typo

* added OSTEP course page

fixed typos, removed/updated links

* added OSTEP course page

updated prerequisites on README

* Replace discontinued Intro Sec Course

[Information Security: Context and Introduction](https://www.coursera.org/learn/information-security-data) has been discontinued.
Replacing with [Cybersecurity Fundamentals](https://www.edx.org/course/cybersecurity-fundamentals)
Resolves ossu#1041

* Update README.md

* Update README.md

* Add information security link to table of contents

* hints and tips for OSTEP Project 2A

* Rename intro file in directory to README.md

Users browsing the directory structure will better understand
which file to read first.

* Fix typo

Small typo fix

* Update PROJECTS.md

Reword the top description of PROJECTS.md to make it more clear what this section is about.

* Swap Intro CS from edX to OpenCourseWare

* change Logic course

* Update LICENSE copyright year

Signed-off-by: Ariston Lorenzo <[email protected]>

* Improve links

From a suggestion by @Alaharon123 here:
ossu#1078 (comment)

* Update exercism url to point to the current url

* Add 2011 Berkeley SICP in Scheme to extras

Since the Scheme version remains arguably as/more popular

* Update PROJECTS.md

* Update PROJECTS.md

* update How to Design Programs textbook link

* Update courses.md

* Update courses.md

* Update courses.md

* Update courses.md

* added resource explaining xv6 code for OSTEP

* added resource explaining xv6 code for OSTEP

fixed typo

* Clarify OSTEP Options

Direct most students to read OSTEP and complete homework.
Direct only students specializing in systems to undertake
the course projects

Resolves ossu#1083

Co-authored-by: Waciuma Wanjohi <[email protected]>
Co-authored-by: spamegg <[email protected]>

* Clarify OSTEP: add missing link, fix prerequisite

* Add structure to links

* Update FAQ.md

* Update CONTRIBUTING.md

* Changed course for Theory of Computation to the one in openMIT (ossu#1125)

Resolves ossu#1096

* Reduce time estimate for Probability

* Correct link to resources below (ossu#1133)

* fix core applications machine learning (ossu#1143)

* Fix machine learning in core applications

The machine learning course is only 3 weeks long, not 11. Further, it's a very gentle introductory course. Even the prerequisite of Basic coding is stretching it, but it is as listed on the course page.

* Fix machine learning 

Machine learning should link to the entire specialization. The specialization is 11 weeks in all I believe, and they suggest 9 hours per week although that could be scaled down to 4-6 hours if you're just auditing. Also, the prerequisite should be basic coding, linear algebra is not necessary.

Closes ossu#1118

* Add a new project from a student (ossu#1130)

* Added a PR template for projects. (ossu#1136)

* Update CURRICULAR_GUIDELINES.md

Reference the upcoming CS2023

* Update LICENSE copyright years (ossu#1152)

* Update course link

Effective Thinking Through Mathematics

* Census Announcement

* Move census link to top of page

* Correct the CS50 alt URL

https://cs50.harvard.edu/ just redirects to Edx. The course is available at https://cs50.harvard.edu/x/

* Remove 2023 Census link

* Add better link for How to Code courses

Add the Systematic Program Design course (which consists of both parts of How to Code) as the main link and move How to Code to to alt.

* Add backt the HTDP book

* Add intro-programming course page (ossu#1177)

* Create intro-programming course page (incomplete)

* Complete the intro-prgramming page

* Add intro-programming course page to the README file

* Fix spellings

* Fix the name of the Py4E course

* Add alt for Computer Graphics

Resolves ossu#1140

* Update Process

Mention taking courses in parallel.

Resolves ossu#1139

* Fix CS50P pset links

* Changed typo 'strucked' to 'stucked'

* fix typos

* Create CNAME

* Update CNAME

* Delete CNAME

* Create CNAME

* Delete CNAME

* Create CNAME

* update Software Engineering: Introduction course

* Add whitespace

May address ossu#1191

* Use full word rather than abbreviation for accessibility (ossu#1194)

* Hopefully fix some confusions regarding alt courses

Mention the full word "alternative" instead of the short form "alt" which may cause confusion to non-native speakers. Also change "/" to "," for the two parts of HTC course.

* Fixed the missing "alt"

* Replace deleted course with its video playlist

* Adding a new URL course for Git and GitHub because the old link invalid (ossu#1204)

* Adding discussions channels

* Remove mentions of outdated materials and add warning about them (ossu#1212)

* Remove mentions of outdated materials and add warning about them

* Remove the new warning blockquote syntax

Seems like github pages don't support the new warning blockquote syntax

* Update README.md with suggestion from @waciumawanjohi (1)

Co-authored-by: Lenox Waciuma Wanjohi <[email protected]>

* Update README.md with suggestion from @waciumawanjohi (2)

Co-authored-by: Lenox Waciuma Wanjohi <[email protected]>

* Update README.md with suggestion from @waciumawanjohi (3)

Co-authored-by: Lenox Waciuma Wanjohi <[email protected]>

---------

Co-authored-by: Lenox Waciuma Wanjohi <[email protected]>

* add final project into PROJECTS.md

* Move space between badges out of link text

* fix: quick stupid case corrections for Discord

can I brag about having contributed to ossu yet? :^)

* Mark the Py4E course link as link

The Py4E course link in the intro cs coursepage was not marked as link. While GitHub renders it as link, the GitHub pages website don't. This PR fixes that.

The PR also fixes the CS50P discord invite link, which was expired. This time, I have made a link that never expires, and can be used an unlimited number of times.

* Update page to use CSS for center alignment

Uses mozilla recommended CSS for centering:
https://developer.mozilla.org/en-US/docs/web/html/element/center

* Align with div attribute

Github homepage does not respect the CSS centering

* Add Intro CS coursepage and replace the OCW version with an archived version on Edx (ossu#1224)

* Create README.md

* Add link to Intro CS course page

* Update README.md

* Update courses.md

This change is adding the interactive, open-source, community-led SICP version that was adapted into JavaScript. 

This addition seems worthwhile because JavaScript may be a more appealing language to go through SICP with than the original Scheme. In addition, this JavaScript version of SICP was created with the apparent goal of being as close to the original Scheme version as possible:
https://sourceacademy.org/sicpjs/prefaces03

* Add SPD coursepage (ossu#1225)

* Create README.md

* Add files via upload

* Update README.md

* Add files via upload

* Update README.md

* Update README.md

* Update readings.md

* Update README.md

* Update README.md

* Delete coursepages/spd/HTC2X.zip

* Delete coursepages/spd/htc-simple.zip

* Delete coursepages/spd/space-invaders-starter.rkt

* Delete coursepages/spd/ta-solver-starter.rkt

* Update README.md

* Add files via upload

* Add info about eabling automatic parentheses, square brackets and quotes

* Remove the newsletter link

The newsletter link does not work anymore. Also, AFAIK, it was not in active use anyway.

* Remove Projects.md

* Move interactive textbook from courses to readings

---------

Signed-off-by: Ariston Lorenzo <[email protected]>
Co-authored-by: Waciuma Wanjohi <[email protected]>
Co-authored-by: waciumawanjohi <[email protected]>
Co-authored-by: spamegg <[email protected]>
Co-authored-by: Aaron Hooper <[email protected]>
Co-authored-by: Manuel Esparza <[email protected]>
Co-authored-by: aryzach <[email protected]>
Co-authored-by: riceeatingmachine <[email protected]>
Co-authored-by: spamegg <[email protected]>
Co-authored-by: Travis Brackett <[email protected]>
Co-authored-by: Cybermise <[email protected]>
Co-authored-by: Cybermise <[email protected]>
Co-authored-by: Josh Hanson <[email protected]>
Co-authored-by: attackgnome <[email protected]>
Co-authored-by: bradleygrant <[email protected]>
Co-authored-by: silential <[email protected]>
Co-authored-by: Uniminin <[email protected]>
Co-authored-by: Alaharon123 <[email protected]>
Co-authored-by: Silent <[email protected]>
Co-authored-by: Tyler Miller <[email protected]>
Co-authored-by: Tanya Nevskaya <[email protected]>
Co-authored-by: Hanqiu Jiang <[email protected]>
Co-authored-by: licjon <[email protected]>
Co-authored-by: Jonathan Hustad <[email protected]>
Co-authored-by: Henrick Kakutalua <[email protected]>
Co-authored-by: Elahi-cs <[email protected]>
Co-authored-by: Josip Ćavar <[email protected]>
Co-authored-by: Kye Davey <[email protected]>
Co-authored-by: Dody2 <[email protected]>
Co-authored-by: Harsh <[email protected]>
Co-authored-by: azzsal <[email protected]>
Co-authored-by: Rodi <[email protected]>
Co-authored-by: NadaTElwazane <[email protected]>
Co-authored-by: Guilherme Marz Vazzolla <[email protected]>
Co-authored-by: aayushsinha0706 <[email protected]>
Co-authored-by: Nico Schlömer <[email protected]>
Co-authored-by: Dion Rigatos <[email protected]>
Co-authored-by: Matt Rieke <[email protected]>
Co-authored-by: Nick Roma <[email protected]>
Co-authored-by: Ethan Deng <[email protected]>
Co-authored-by: Mikhail Loginov <[email protected]>
Co-authored-by: Eero Pomell <[email protected]>
Co-authored-by: Justin Kim <[email protected]>
Co-authored-by: Ariston Lorenzo <[email protected]>
Co-authored-by: Maheshkumar P <[email protected]>
Co-authored-by: Roman Bird <[email protected]>
Co-authored-by: martin <[email protected]>
Co-authored-by: anantav51 <[email protected]>
Co-authored-by: Choubs01 <[email protected]>
Co-authored-by: Thái Hữu Trí <[email protected]>
Co-authored-by: Rob <[email protected]>
Co-authored-by: Ariston Lorenzo <[email protected]>
Co-authored-by: Pulkit Krishna <[email protected]>
Co-authored-by: zkv <[email protected]>
Co-authored-by: Avishek Sen <[email protected]>
Co-authored-by: Budi_Ubuntu <[email protected]>
Co-authored-by: Karim Safan <[email protected]>
Co-authored-by: karim1safan <[email protected]>
Co-authored-by: Pablo Colturi Esteve <[email protected]>
Co-authored-by: Yukai Chou <[email protected]>
Co-authored-by: Maru <[email protected]>
Co-authored-by: mgg143 <[email protected]>
  • Loading branch information
Show file tree
Hide file tree
Showing 33 changed files with 1,825 additions and 1,282 deletions.
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/request-for-comment-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Request for Comment Template
about: Template for creating an RFC to modify the curriculum
title: 'RFC: '
labels: ''
assignees: ''

---

**Problem:**
Give a 1 sentence description of a problem with the current OSSU Curriculum. Successful critiques of the curriculum will point out ways that OSSU is failing to uphold [our curricular guidelines](https://github.com/ossu/computer-science/blob/master/CURRICULAR_GUIDELINES.md). Examples are:

* OSSU lists course X as required when the course's topics are elective in our curricular guidelines.
* OSSU does not having a course to cover required topic X from our curricular guidelines.
* OSSU lists courses X, Y and Z that cover the same topics when fewer courses could suffice.
* OSSU recommends course X to teach a topic, but there exists a higher quality course that covers the same material.

**Duration:**
This should most often be 1 month from the date of posting.

**Background:**
Give an in depth description of the problem. Describe a solution to the problem. Describe the advantages and disadvantages of this solution. This section should be a few paragraphs.

**Proposal:**
Give a bullet point list of changes that are being proposed. These can link to a Pull Request.

**Alternatives:**
Give a bullet point list of alternative ways to address the problem.
21 changes: 21 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/project_pr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Project Pull Request

This template is for any submissions to our [projects list](https://github.com/ossu/computer-science/blob/master/PROJECTS.md).
If you're submitting a pull request for any other part of the repo, don't use this
template.

Before you submit your project, there's a few things to check:

* Have you followed the [code of conduct?](https://github.com/ossu/code-of-conduct)
* Does this project violate the honor code of one of the courses in OSSU?

If you've followed those two guidelines, then prepare a pull request for the project
and a post for our Discord. Put the post in the [#projects channel](https://discord.com/channels/744385009028431943/881778556961701909),
and ensure it contains some details for the community:

* The description of the project.
* Any courses or resources that were particularly helpful that you'd like to share.
* Any learnings that you had while doing the project.
* Questions that you have for the group, or any feedback you'd like to receive.

If that's all good, create the pull request and send over your Discord post. Thanks!
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.idea
*.swp
*.swo
*.swo
.direnv/
.envrc
165 changes: 154 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,150 @@
# Change Log

**Note**: The curriculum is currently undergoing review for v9. This consists largely of checking our recommendations against our [curricular guidelines](CURRICULAR_GUIDELINES.md), adding missing topics and cutting redundant or out of scope courses. As Requests for Comment in this effort are completed, changes are made immediately to the curriculum. When the overall review is complete we will notate the version bump to v9.

All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
This project adheres *in spirit* to [Semantic Versioning](http://semver.org/):
- "MAJOR" updates correspond to changing the topics studied within a subject
- "MINOR" updates correspond to changing courses without changing the topics
- "PATCH" updates correspond to aesthetic and non-essential additions/removals or changing order of classes for better progression

## [8.0.0] 2017-11-01
### Added
- extras/readings: "The System Design Primer"
- extras/readings: "Category Theory for Programmers: The Preface"
- extras/readings: "Programming Languages: Application and Interpretation"
- extras/readings: "Programming and Programming Languages"
- CONTRIBUTING: "Learning Git" section to the contributor guidelines page
- Core Math: Added "Essence of Linear Algebra" as pre-requisite to "Linear Algebra: Foundations to Frontiers"

### Updated
- Moved "Introduction to Mathematical Thinking" to extras/courses
- Moved "Hack the Kernel" (ops-class) from Advanced Systems to Core Systems
- Core Systems: "Operating Systems: Three Easy Pieces" is no longer required, but is recommended as companion text to "Hack the Kernel"
- Core Theory: Replaced Coursera with Lagunita as the host for Stanford Algorithms, since Coursera uses dark patterns to trick users into paying

## [7.2.2] 2017-07-02
### Added
- "Haskell Programming from First Principles" book as a paid alternative to learn Haskell
- "Think Python" to extras/readings
- FAQ entries and links under relevant courses
- "Category Theory: A Gentle Introduction" to extras/readings

## [7.2.1] 2017-05-14
### Updated
- Networking course should take 8 weeks to complete
- Fixed spelling error

### Added
- Introduction to Haskell course to [extras/courses](extras/courses.md)

## [7.2.0] 2017-04-28
### Added
- Software Testing course
- Link to Stanford Lagunita's Algorithms: Design and Analysis
- Added link to the section on parametric equations and polar coordinates from MIT's Single Variable Calculus course in order to properly prepare students for Multivariable Calculus

## [7.1.2] 2017-04-22
### Updated
- Add link to Mega Project List in the introduction of the Projects section

## [7.1.1] 2017-04-11
### Updated
- Final touch to release

## [7.1.0] 2017-04-10
### Updated
- Reverted reformat of programming languages course

### Added
- Reliable Distributed Algorithms courses
- New Introduction to CS course

## [7.0.2] 2017-03-30
### Updated
- Moved optional online learning courses to extras/courses in a new section
- Moved alternate computer architecture course to extras/courses

### Added
- Scala specialization under Advanced applications

### Removed
- Removed all but one choice for required readings to make the curriculum simpler

## [7.0.1] 2017-03-11
### Updated
- Fixed link to Bradfield's DIY computer science page

### Added
- Note under Calculus One with links to errata and course progression recommendations
- Optional courses under extras:
- Strang's course on linear algebra
- Berkeley's Structure and Interpretation of Computer Programs
- Optional readings under extras:
- Van Roy's advanced programming book
- P&H's computer architecture book
- Skiena's algorithms book
- Strang's linear algebra book
- Database Management Systems book
- Tarr's book on creating your own Domain-specific language
- Readings from various authors on distributed systems

## [7.0] 2017-03-09
Complete overhaul of program structure

### Updated
- Clarified contributor guidelines and moved them to separated file
- Switched from many subjects to just four subjects with many topics
- Consolidated free-books.md and paid-books.md into readings.md
- Consolidated free-courses.md and paid-courses.md into courses.md
- Replace old "How to Code" with new "How to Code" (Software Development MicroMasters)
- Replace Princeton Algorithms (moved to [alternative courses](#extras/courses.md)) with Stanford Algorithms

### Added
- Indicate prerequisites for all courses
- Requirements: subject/topic requirements and project requirements
- Required readings on Haskell, Prolog, Operating Systems
- Courses: Dan Grossman's Programming Languages
- Courses: From Nand to Tetris
- Elective course: Intro to Parallel Programming
- Elective course: LAFF: Programming for Correctness
- Elective course: Introduction to Mathematical Thinking
- Elective courses: Electricity and Magnetism
- Elective courses: MIT's Computation Structures
- Elective course: Multivariable Calculus
- Elective course: ops-class.org
- Elective course: Automata Theory
- Elective course: Introduction to Logic
- Elective course: Computational Geometry
- Elective course: Formal Concept Analysis
- Elective course: Game Theory
- Elective specializations:
- Robotics
- Data Mining
- Big Data
- Internet of Things
- Cloud Computing
- Full Stack Web Development
- Data Science
- Pro specializations:
- Mastering Software Development in R
- Artificial Intelligence Engineer
- Machine Learning Engineer
- Cybersecurity
- Android Developer

### Removed
- Removed many dead links and obsolete courses
- Removed per-course project requirement
- Course: Object-Oriented Programming in Java
- Course: Functional Programming in Scala
- Course: Computer Architecture (but left as a footnote)
- Course: Intro to Theoretical Computer Science
- Course: Software Processes and Agile Practices
- Course: Operating Systems & System Programming
- Course: Introduction to Cyber Security
- Course: Parallel Computer Architecture and Programming
- Course: UX Design for Mobile Developers

## [6.0] 2016-10-09
### Updated
Expand Down Expand Up @@ -73,12 +216,12 @@ Due to Coursera's platform changes, we had the following updates:

## [3.0.0] 2016-05-04
### Removed
- Section: **Introduction to Computer Science**:
- Section: **Introduction to Computer Science**:
- Introduction to Computer Science and Programming Using Python
- From Nand to Tetris (Part 1)

### Added
- Section: **Introduction to Computer Science**:
- Section: **Introduction to Computer Science**:
- Introduction to Computer Science - CS50

## [2.0.1] 2016-04-04
Expand All @@ -90,7 +233,7 @@ Due to Coursera's platform changes, we had the following updates:
- Program Design section course's names and links

### Removed
- **Introduction to Computer Science**:
- **Introduction to Computer Science**:
- Introduction to Computer Science
- Introduction to Computational Thinking and Data Science
- **Algorithms**
Expand All @@ -99,22 +242,22 @@ Due to Coursera's platform changes, we had the following updates:
- Principles of Reactive Programming
- **Math (Calculus)**
- Multivariable Calculus
- **Software Architecture**:
- **Software Architecture**:
- Web Application Architectures
- **Software Engineering**:
- **Software Engineering**:
- Agile Development Using Ruby on Rails - Basics
- Agile Development Using Ruby on Rails - Advanced
- Startup Engineering
- **Computer Architecture**:
- **Computer Architecture**:
- The Hardware/Software Interface
- **Operating Systems**:
- **Operating Systems**:
- Operating System Engineering
- **Computer Networks**:
- **Computer Networks**:
- Introduction to Computer Networking
- **Cryptography**:
- **Cryptography**:
- Applied Cryptography

**ps**: These removed courses are now in the [extras](https://github.com/open-source-society/computer-science/tree/master/extras) section.
**ps**: These removed courses are now in the [extras](https://github.com/ossu/computer-science/tree/master/extras) section.

## [1.3.12] 2016-03-17
### Added
Expand Down
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cs.ossu.dev
19 changes: 19 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Changing the curriculum
OSSU thrives because of the changes made by our many contributors. Read on for details on how to help every student that follows you.
## Non-substantive changes
If you have non-substantive updates to make to the curriculum, such as a course's URL having been moved, spelling/syntax errors, etc., please send a [pull request](https://www.freecodecamp.org/news/how-to-make-your-first-pull-request-on-github-3/) to fix any mistakes that you have found.
## Substantive changes
If you have specific and substantive criticisms of the curriculum, i.e. problems related to the progression/content of courses it would be appropriate to [open an issue](https://help.github.com/articles/creating-an-issue/). While it is acceptable to point out problems, all successful changes naturally require a plan for fixing the problem.
OSSU’s curricular guidelines are [here](https://github.com/ossu/computer-science/blob/master/CURRICULAR_GUIDELINES.md). Successful critiques of the curriculum will point out ways that OSSU is failing to uphold these guidelines. Examples are:

* OSSU lists a course as required when the course topics are elective in the curricular guide.
* OSSU not having a course to cover required topics from the curricular guide.
* OSSU lists multiple courses that cover the same topics when fewer courses could suffice.
* OSSU recommends a course to teach a topic, but there exists a higher quality course that covers the same material.
## Other ways to contribute
### Responding to Issues
Issues require more than just users to suggest them. Issues require active community members to read and respond to proposals. Even adding simple [emoji reactions](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) can help the community.
### Engaging with other students
Learning is enhanced by engaged peers. You can be that peer for someone new to OSSU. When you see a new person posting in Gitter, ask them a question about themselves. When you see a cohort starting at _almost_ the right time, join in. Doing so will make OSSU a stronger program for everyone, including you.
# Personal Customization
If you want to customize the curriculum for yourself, you are encouraged to [fork this project](https://help.github.com/articles/fork-a-repo/)!
17 changes: 17 additions & 0 deletions CURRICULAR_GUIDELINES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Curricular Guidelines

[Curriculum Guidelines for Undergraduate Programs in Computer Science](https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf)

Our curricular guidelines are from the 2013 report of the Association for Computing Machinery and the Institute of Electrical and Electronics Engineers. This report is the most recent in a series of such reports outlining the expectations of undergraduate degrees in Computer Science. The report outlines critical Knowledge Areas and topics within them. It drills down further to outline specific learning goals, going so far as to outline what concepts a student must be able to explain vs concepts a student must be able to demonstrate using in practice.

The CS2023 is currently under development. Track its progress to release [here](https://csed.acm.org/).

## Organizations publishing:

### The Association for Computing Machinery

The Association for Computing Machinery (ACM) is an international learned society for computing. It was founded in 1947, and is the world's largest scientific and educational computing society. The ACM is a non-profit professional membership group, with more than 100,000 members as of 2011.

### Institute of Electrical and Electronics Engineers

The Institute of Electrical and Electronics Engineers (IEEE) is a professional association formed in 1963 from the amalgamation of the American Institute of Electrical Engineers and the Institute of Radio Engineers. As of 2018, it is the world's largest association of technical professionals with more than 423,000 members in over 160 countries around the world. Its objectives are the educational and technical advancement of electrical and electronic engineering, telecommunications, computer engineering and allied disciplines.
Loading

0 comments on commit a364a17

Please sign in to comment.