Merge pull request #434

- Merge latest changes in master to dev
- Change Operating System course in Core Systems
pull/435/merge
hanjiexi 2017-11-02 15:08:25 -04:00 committed by GitHub
commit 2a3c9ebbe0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 31 additions and 24 deletions

View File

@ -240,7 +240,7 @@ Due to Coursera's platform changes, we had the following updates:
- **Cryptography**: - **Cryptography**:
- Applied 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 ## [1.3.12] 2016-03-17
### Added ### Added

View File

@ -15,4 +15,4 @@ the subreddit is recommended as there people may be able to give you suggested a
To be able to create high-quality pull requests, it is recommended that you learn how to use the Git version control system. To be able to create high-quality pull requests, it is recommended that you learn how to use the Git version control system.
One of the best primers on the subject is a free ebook called [Ry's Git Tutorial](https://www.amazon.com/dp/B00QFIA5OC/). One of the best primers on the subject is a free ebook called [Ry's Git Tutorial](https://www.amazon.com/dp/B00QFIA5OC/).
If you prefer a course-style introduction, try [Introduction to Git and GitHub](https://www.udacity.com/course/how-to-use-git-and-github--ud775). If you prefer a course-style introduction, try [Introduction to Git and GitHub](https://www.udacity.com/course/how-to-use-git-and-github--ud775).

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2017 Open Source Society Copyright (c) 2017 Open Source Society University
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,7 +1,7 @@
# Projects # Projects
> Here, we are providing a list curated by the community of exercises and projects to practice and reinforce the skills we try to master. > Here, we are providing a list curated by the community of exercises and projects to practice and reinforce the skills we try to master.
Projects created by OSSU's students for each course of our [**Computer Science**](https://github.com/open-source-society/computer-science) curriculum. Projects created by OSSU's students for each course of our [**Computer Science**](https://github.com/ossu/computer-science) curriculum.
For more project ideas, check the [Mega Project List](https://github.com/karan/Projects). For more project ideas, check the [Mega Project List](https://github.com/karan/Projects).

View File

@ -1,16 +1,19 @@
![Open Source Society University (OSSU)](http://i.imgur.com/Cxv8DM4.png) ![Open Source Society University (OSSU)](http://i.imgur.com/kYYCXtC.png)
<h3 align="center">Open Source Society University</h3> <h3 align="center">Open Source Society University</h3>
<p align="center"> <p align="center">
Path to a self-taught education in Computer Science! Path to a free self-taught education in Computer Science!
</p> </p>
<p align="center"> <p align="center">
<a href="https://github.com/sindresorhus/awesome"> <a href="https://github.com/sindresorhus/awesome">
<img alt="Awesome" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"> <img alt="Awesome" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg">
</a> </a>
<a href="https://github.com/open-source-society/computer-science"> <a href="https://github.com/ossu/computer-science">
<img alt="Open Source Society University - Computer Science" src="https://img.shields.io/badge/OSSU-computer--science-blue.svg"> <img alt="Open Source Society University - Computer Science" src="https://img.shields.io/badge/OSSU-computer--science-blue.svg">
</a> </a>
<a href="https://www.patreon.com/ossu">
<img alt="Contribute with OSSU on Patreon" src="https://img.shields.io/badge/Patreon-contribute-yellow.svg">
</a>
</p> </p>
# Contents # Contents
@ -23,6 +26,7 @@
- [Advanced CS](#advanced-cs) - [Advanced CS](#advanced-cs)
- [Final project](#final-project) - [Final project](#final-project)
- [Pro CS](#pro-cs) - [Pro CS](#pro-cs)
- [Code of conduct](#code-of-conduct)
- [Community](#community) - [Community](#community)
- [How to show your progress](#how-to-show-your-progress) - [How to show your progress](#how-to-show-your-progress)
- [Team](#team) - [Team](#team)
@ -219,9 +223,10 @@ Courses | Duration | Effort | Prerequisites
[Build a Modern Computer from First Principles: From Nand to Tetris](https://www.coursera.org/learn/build-a-computer) ([alt](http://www.nand2tetris.org/)) | 6 weeks | 7-13 hours/week | none [Build a Modern Computer from First Principles: From Nand to Tetris](https://www.coursera.org/learn/build-a-computer) ([alt](http://www.nand2tetris.org/)) | 6 weeks | 7-13 hours/week | none
[Build a Modern Computer from First Principles: Nand to Tetris Part II ](https://www.coursera.org/learn/nand2tetris2) | 6 weeks | 12-18 hours/week | From Nand to Tetris Part I [Build a Modern Computer from First Principles: Nand to Tetris Part II ](https://www.coursera.org/learn/nand2tetris2) | 6 weeks | 12-18 hours/week | From Nand to Tetris Part I
[Introduction to Computer Networking](https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about)| 8 weeks | 412 hours/week | algebra, probability, basic CS [Introduction to Computer Networking](https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about)| 8 weeks | 412 hours/week | algebra, probability, basic CS
[ops-class.org - Hack the Kernel](https://www.ops-class.org/) | 15 weeks | 6 hours/week | algorithms
#### Readings #### Readings
- **Required** since Nand2Tetris does not go deep enough into operating systems: [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/) - **Recommended**: While Hack the Kernel recommends Modern Operating Systems as a textbook, we suggest using [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/).
### Core theory ### Core theory
@ -355,7 +360,6 @@ Courses | Duration | Effort | Prerequisites
[Computation Structures 1: Digital Circuits](https://www.edx.org/course/computation-structures-part-1-digital-mitx-6-004-1x-0) | 10 weeks | 6 hours/week | electricity, magnetism [Computation Structures 1: Digital Circuits](https://www.edx.org/course/computation-structures-part-1-digital-mitx-6-004-1x-0) | 10 weeks | 6 hours/week | electricity, magnetism
[Computation Structures 2: Computer Architecture](https://www.edx.org/course/computation-structures-2-computer-mitx-6-004-2x) | 10 weeks | 6 hours/week | Computation Structures 1 [Computation Structures 2: Computer Architecture](https://www.edx.org/course/computation-structures-2-computer-mitx-6-004-2x) | 10 weeks | 6 hours/week | Computation Structures 1
[Computation Structures 3: Computer Organization](https://www.edx.org/course/computation-structures-3-computer-mitx-6-004-3x-0) | 10 weeks | 6 hours/week | Computation Structures 2 [Computation Structures 3: Computer Organization](https://www.edx.org/course/computation-structures-3-computer-mitx-6-004-3x-0) | 10 weeks | 6 hours/week | Computation Structures 2
[ops-class.org - Hack the Kernel](https://www.ops-class.org/) | 15 weeks | 6 hours/week | algorithms
**<sup>1</sup> Note**: **<sup>1</sup> Note**:
These courses assume knowledge of basic physics. These courses assume knowledge of basic physics.
@ -428,10 +432,10 @@ In some cases, it may not be permitted;
do **not** violate your course's Honor Code! do **not** violate your course's Honor Code!
Put the OSSU-CS badge in the README of your repository! Put the OSSU-CS badge in the README of your repository!
[![Open Source Society University - Computer Science](https://img.shields.io/badge/OSSU-computer--science-blue.svg)](https://github.com/open-source-society/computer-science) [![Open Source Society University - Computer Science](https://img.shields.io/badge/OSSU-computer--science-blue.svg)](https://github.com/ossu/computer-science)
- Markdown: `[![Open Source Society University - Computer Science](https://img.shields.io/badge/OSSU-computer--science-blue.svg)](https://github.com/open-source-society/computer-science)` - Markdown: `[![Open Source Society University - Computer Science](https://img.shields.io/badge/OSSU-computer--science-blue.svg)](https://github.com/ossu/computer-science)`
- HTML: `<a href="https://github.com/open-source-society/computer-science"><img alt="Open Source Society University - Computer Science" src="https://img.shields.io/badge/OSSU-computer--science-blue.svg"></a>` - HTML: `<a href="https://github.com/ossu/computer-science"><img alt="Open Source Society University - Computer Science" src="https://img.shields.io/badge/OSSU-computer--science-blue.svg"></a>`
### Evaluation ### Evaluation
@ -485,20 +489,23 @@ These aren't the only specializations you can choose. Check the following websit
- Pay attention to emerging technologies in the world of software development: - Pay attention to emerging technologies in the world of software development:
+ Explore the **actor model** through [Elixir](http://elixir-lang.org/), a new functional programming language for the web based on the battle-tested Erlang Virtual Machine! + Explore the **actor model** through [Elixir](http://elixir-lang.org/), a new functional programming language for the web based on the battle-tested Erlang Virtual Machine!
+ Explore **borrowing and lifetimes** through [Rust](https://www.rust-lang.org/), a systems language which achieves memory- and thread-safety without a garbage collector! + Explore **borrowing and lifetimes** through [Rust](https://www.rust-lang.org/), a systems language which achieves memory- and thread-safety without a garbage collector!
+ Explore **dependent type systems** through [Idris](https://www.idris-lang.org/), a new Haskell-inspired language with unprecedented support for type-driven development + Explore **dependent type systems** through [Idris](https://www.idris-lang.org/), a new Haskell-inspired language with unprecedented support for type-driven development.
![keep learning](http://i.imgur.com/REQK0VU.jpg) ![keep learning](http://i.imgur.com/REQK0VU.jpg)
# Code of conduct
[OSSU's code of conduct](https://github.com/ossu/code-of-conduct).
# Community # Community
- Subscribe to [/r/opensourcesociety](https://www.reddit.com/r/opensourcesociety/)! - Subscribe to our [newsletter](https://tinyletter.com/ossu).
- Join us in our [group](https://groups.google.com/forum/#!forum/open-source-society-university)! - Use our [forum](https://github.com/ossu/forum) if you need some help.
- You can also interact through [GitHub issues](https://github.com/open-source-society/computer-science/issues). - You can also interact through [GitHub issues](https://github.com/ossu/computer-science/issues).
- We also have a chat room! [![Join the chat at https://gitter.im/open-source-society/computer-science](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/open-source-society/computer-science?utm_campaign=pr-badge&utm_content=badge&utm_medium=badge&utm_source=badge) - We also have a chat room! [![Join the chat at https://gitter.im/open-source-society/computer-science](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/open-source-society/computer-science?utm_campaign=pr-badge&utm_content=badge&utm_medium=badge&utm_source=badge)
- Add **Open Source Society University** to your [Facebook](https://www.facebook.com/ossuniversity) profile! - Add **Open Source Society University** to your [Linkedin](https://www.linkedin.com/school/11272443/) and [Facebook](https://www.facebook.com/ossuniversity) profile!
> **PS**: A forum is an ideal way to interact with other students as we do not lose important discussions, which usually occur in communication via chat apps. > **PS**: A forum is an ideal way to interact with other students as we do not lose important discussions, which usually occur in communication via chat apps.
**Please use our subreddit/group for important discussions**. **Please use our forum for important discussions**.
## How to show your progress ## How to show your progress
@ -525,9 +532,9 @@ You can change the status of your board to be *public* or *private*.
## Team ## Team
* **Curriculum Founder**: [Eric Douglas](https://github.com/ericdouglas) * **Curriculum Founders**: [Eric Douglas](https://github.com/ericdouglas)
* **Curriculum Maintainer**: [Eric Douglas](https://github.com/ericdouglas) and [hanjiexi](https://github.com/hanjiexi) * **Curriculum Maintainers**: [Eric Douglas](https://github.com/ericdouglas) and [hanjiexi](https://github.com/hanjiexi)
* **Contributors**: [contributors](https://github.com/open-source-society/computer-science/graphs/contributors) * **Contributors**: [contributors](https://github.com/ossu/computer-science/graphs/contributors)
# References # References

View File

@ -1,4 +1,4 @@
# OSSU Academic Requirements # 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. 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. 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.
@ -71,4 +71,4 @@ For Core CS, students have two options:
For the Advanced CS Project (also known as the Final Project), students again have two options: 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 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. - They can create their own Final Project, and must share the project code to be evaluated by the community.

View File

@ -19,7 +19,7 @@ Name | Author(s)
[Design Patterns: Elements of Reusable Object-Oriented Software](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612) | Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides [Design Patterns: Elements of Reusable Object-Oriented Software](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612) | Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
[Refactoring](https://www.refactoring.com/) | Martin Fowler [Refactoring](https://www.refactoring.com/) | Martin Fowler
[Clean Code](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882) | Robert Martin [Clean Code](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882) | Robert Martin
[Code Complete](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670) | Steve McConnell [Code Complete 2e](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670) | Steve McConnell
[The Pragmatic Programmer](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X) | Andrew Hunt, David Thomas [The Pragmatic Programmer](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X) | Andrew Hunt, David Thomas
## Math ## Math