parent
badd13a132
commit
239de1c6d0
@ -1,23 +1,15 @@
|
||||
# Computer Science - Curricular Resources
|
||||
# Curricular Guidelines
|
||||
|
||||
## Accreditation Board for Engineering and Technology
|
||||
[Curriculum Guidelines for Undergraduate Programs in Computer Science](https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf)
|
||||
|
||||
ABET, incorporated as the Accreditation Board for Engineering and Technology, Inc., is a non-governmental organization that accredits post-secondary education programs in applied and natural science, computing, engineering and engineering technology. As of October 2017, 3,852 programs are accredited, distributed over 776 universities and colleges in 31 countries. ABET is the recognized U.S. accreditor of college and university programs in applied and natural science, computing, engineering and engineering technology.
|
||||
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.
|
||||
|
||||
[Program Criteria for Computer Science, Information Systems, and Information Technology Programs](http://www.abet.org/accreditation/accreditation-criteria/criteria-for-accrediting-computing-programs-2019-2020/#2)
|
||||
## Organizations publishing:
|
||||
|
||||
## The Association for Computing Machinery
|
||||
### 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.
|
||||
|
||||
### with
|
||||
|
||||
## 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.
|
||||
|
||||
[Curriculum Guidelines for Undergraduate Programs in Computer Science](https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf)
|
||||
|
||||
[Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering](https://www.acm.org/binaries/content/assets/education/se2014.pdf)
|
||||
### Institute of Electrical and Electronics Engineers
|
||||
|
||||
[Computer Engineering Curricula](https://www.acm.org/binaries/content/assets/education/ce2016-final-report.pdf)
|
||||
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.
|
@ -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