Skip to content

Commit 18008ff

Browse files
Merge pull request #2 from Flomza/restructure
Restructure The Borr Project
2 parents 11444f2 + 1335d75 commit 18008ff

File tree

41 files changed

+684
-331
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+684
-331
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
sidebar_position: 6
3+
---
4+
5+
# Electives
6+
7+
*Timeline: varies per student*
8+
9+
After completing **every required course** in Core CS, students should choose a subset of courses from Advanced CS based on interest.
10+
Not every course from a subcategory needs to be taken.
11+
But students should take *every* course that is relevant to the field they intend to go into.
12+
13+
#### Advanced programming
14+
15+
**Topics covered**:
16+
`debugging theory and practice`
17+
`goal-oriented programming`
18+
`parallel computing`
19+
`object-oriented analysis and design`
20+
`UML`
21+
`large-scale software architecture and design`
22+
`and more`
23+
24+
Courses | Duration | Effort | Prerequisites
25+
:-- | :--: | :--: | :--:
26+
[Parallel Programming](https://www.coursera.org/learn/scala-parallel-programming)| 4 weeks | 6-8 hours/week | Scala programming
27+
[Compilers](https://www.edx.org/learn/computer-science/stanford-university-compilers) | 9 weeks | 6-8 hours/week | none
28+
[Introduction to Haskell](https://www.seas.upenn.edu/~cis194/fall16/)| 14 weeks | - | -
29+
[Learn Prolog Now!](https://www.let.rug.nl/bos/lpn//lpnpage.php?pageid=online) ([alternative](https://github.com/ossu/computer-science/files/6085884/lpn.pdf))*| 12 weeks | - | -
30+
[Software Debugging](https://www.youtube.com/playlist?list=PLAwxTw4SYaPkxK63TiT88oEe-AIBhr96A)| 8 weeks | 6 hours/week | Python, object-oriented programming
31+
[Software Testing](https://www.youtube.com/playlist?list=PLAwxTw4SYaPkWVHeC_8aSIbSxE_NXI76g) | 4 weeks | 6 hours/week | Python, programming experience
32+
33+
(*) book by Blackburn, Bos, Striegnitz (compiled from [source](https://github.com/LearnPrologNow/lpn), redistributed under [CC license](https://creativecommons.org/licenses/by-sa/4.0/))
34+
35+
#### Advanced systems
36+
37+
**Topics covered**:
38+
`digital signaling`
39+
`combinational logic`
40+
`CMOS technologies`
41+
`sequential logic`
42+
`finite state machines`
43+
`processor instruction sets`
44+
`caches`
45+
`pipelining`
46+
`virtualization`
47+
`parallel processing`
48+
`virtual memory`
49+
`synchronization primitives`
50+
`system call interface`
51+
`and more`
52+
53+
Courses | Duration | Effort | Prerequisites | Notes
54+
:-- | :--: | :--: | :--: | :--:
55+
[Computation Structures 1: Digital Circuits](https://learning.edx.org/course/course-v1:MITx+6.004.1x_3+3T2016) [alternative 1](https://ocw.mit.edu/courses/6-004-computation-structures-spring-2017/) [alternative 2](https://ocw.mit.edu/courses/6-004-computation-structures-spring-2009/) | 10 weeks | 6 hours/week | [Nand2Tetris II](https://www.coursera.org/learn/nand2tetris2) | Alternate links contain all 3 courses.
56+
[Computation Structures 2: Computer Architecture](https://learning.edx.org/course/course-v1:MITx+6.004.2x+3T2015) | 10 weeks | 6 hours/week | Computation Structures 1 | -
57+
[Computation Structures 3: Computer Organization](https://learning.edx.org/course/course-v1:MITx+6.004.3x_2+1T2017) | 10 weeks | 6 hours/week | Computation Structures 2 | -
58+
59+
#### Advanced theory
60+
61+
**Topics covered**:
62+
`formal languages`
63+
`Turing machines`
64+
`computability`
65+
`event-driven concurrency`
66+
`automata`
67+
`distributed shared memory`
68+
`consensus algorithms`
69+
`state machine replication`
70+
`computational geometry theory`
71+
`propositional logic`
72+
`relational logic`
73+
`Herbrand logic`
74+
`game trees`
75+
`and more`
76+
77+
Courses | Duration | Effort | Prerequisites
78+
:-- | :--: | :--: | :--:
79+
[Theory of Computation](https://ocw.mit.edu/courses/18-404j-theory-of-computation-fall-2020/) ([alternative](https://www.youtube.com/playlist?list=PLEE7DF8F5E0203A56)) | 13 weeks | 10 hours/week | [Mathematics for Computer Science](https://openlearninglibrary.mit.edu/courses/course-v1:OCW+6.042J+2T2019/about), logic, algorithms
80+
[Computational Geometry](https://www.edx.org/learn/geometry/tsinghua-university-ji-suan-ji-he-computational-geometry) | 16 weeks | 8 hours/week | algorithms, C++
81+
[Game Theory](https://www.coursera.org/learn/game-theory-1) | 8 weeks | 3 hours/week | mathematical thinking, probability, calculus
82+
83+
#### Advanced Information Security
84+
85+
Courses | Duration | Effort | Prerequisites
86+
:-- | :--: | :--: | :--:
87+
[Web Security Fundamentals](https://www.edx.org/learn/computer-security/ku-leuven-web-security-fundamentals) | 5 weeks | 4-6 hours/week | understanding basic web technologies
88+
[Security Governance & Compliance](https://www.coursera.org/learn/security-governance-compliance) | 3 weeks | 3 hours/week | -
89+
[Digital Forensics Concepts](https://www.coursera.org/learn/digital-forensics-concepts) | 3 weeks | 2-3 hours/week | Core Security
90+
[Secure Software Development: Requirements, Design, and Reuse](https://www.edx.org/learn/software-development/the-linux-foundation-secure-software-development-requirements-design-and-reuse) | 7 weeks | 1-2 hours/week | Core Programming and Core Security
91+
[Secure Software Development: Implementation](https://www.edx.org/learn/software-development/the-linux-foundation-secure-software-development-implementation) | 7 weeks | 1-2 hours/week | Secure Software Development: Requirements, Design, and Reuse
92+
[Secure Software Development: Verification and More Specialized Topics](https://www.edx.org/learn/software-engineering/the-linux-foundation-secure-software-development-verification-and-more-specialized-topics) | 7 weeks | 1-2 hours/week | Secure Software Development: Implementation
93+
94+
#### Advanced math
95+
96+
Courses | Duration | Effort | Prerequisites
97+
:-- | :--: | :--: | :--:
98+
[Essence of Linear Algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) | - | - | [high school math](/precollege-math/index.md)
99+
[Linear Algebra](https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/) | 14 weeks | 12 hours/week | corequisite: Essence of Linear Algebra
100+
[Introduction to Numerical Methods](https://ocw.mit.edu/courses/mathematics/18-335j-introduction-to-numerical-methods-spring-2019/index.htm)| 14 weeks | 12 hours/week | [Linear Algebra](https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/)
101+
[Introduction to Formal Logic](https://forallx.openlogicproject.org/) | 10 weeks | 4-8 hours/week | [Set Theory](https://www.youtube.com/playlist?list=PL5KkMZvBpo5AH_5GpxMiryJT6Dkj32H6N)
102+
[Probability](https://stat110.hsites.harvard.edu/) | 15 weeks | 5-10 hours/week | [Differentiation and Integration](https://www.edx.org/course/calculus-1b-integration)
103+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
sidebar_position: 6
3+
---
4+
5+
# Final Project
6+
*Timeline: varies per student*
7+
8+
### Final project
9+
10+
Part of learning is doing.
11+
The assignments and exams for each course are to prepare you to use your knowledge to solve real-world problems.
12+
13+
After you've completed Core CS and the parts of Advanced CS relevant to you,
14+
you should identify a problem that you can solve using the knowledge you've acquired.
15+
You can create something entirely new, or you can improve some tool/program that you use and wish were better.
16+
17+
Students who would like more guidance in creating a project may choose to use a series of project oriented courses.
18+
Here is a sample of options
19+
(many more are available, at this point you should be capable of identifying a series that is interesting and relevant to you):
20+
21+
Courses | Duration | Effort | Prerequisites
22+
:-- | :--: | :--: | :--:
23+
[Fullstack Open](https://fullstackopen.com/en/) | 12 weeks | 15 hours/week | programming
24+
[Modern Robotics (Specialization)](https://www.coursera.org/specializations/modernrobotics) | 26 weeks | 2-5 hours/week | freshman-level physics, linear algebra, calculus, [linear ordinary differential equations](https://www.khanacademy.org/math/differential-equations)
25+
[Data Mining (Specialization)](https://www.coursera.org/specializations/data-mining) | 30 weeks | 2-5 hours/week | machine learning
26+
[Big Data (Specialization)](https://www.coursera.org/specializations/big-data) | 30 weeks | 3-5 hours/week | none
27+
[Internet of Things (Specialization)](https://www.coursera.org/specializations/internet-of-things) | 30 weeks | 1-5 hours/week | strong programming
28+
[Cloud Computing (Specialization)](https://www.coursera.org/specializations/cloud-computing) | 30 weeks | 2-6 hours/week | C++ programming
29+
[Data Science (Specialization)](https://www.coursera.org/specializations/jhu-data-science) | 43 weeks | 1-6 hours/week | none
30+
[Functional Programming in Scala (Specialization)](https://www.coursera.org/specializations/scala) | 29 weeks | 4-5 hours/week | One year programming experience
31+
[Game Design and Development with Unity 2020 (Specialization)](https://www.coursera.org/specializations/game-design-and-development) | 6 months | 5 hours/week | programming, interactive design
32+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
sidebar_position: 10
3+
---
4+
5+
# Advanced CS
6+
*Timeline: varies per student*
7+
8+
import DocCardList from '@theme/DocCardList';
9+
10+
<DocCardList />
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
sidebar_position: 3
3+
---
4+
5+
# Computer graphics
6+
*Timeline: 72 hours*
7+
8+
Learn to create images of 3D scenes in both real-time and with realistic ray tracing in this introductory computer graphics course.
9+
- [Computer Graphics](https://www.edx.org/learn/computer-graphics/the-university-of-california-san-diego-computer-graphics)
10+
11+
Alternative course:
12+
- [CSE 167: Computer Graphics](https://cseweb.ucsd.edu/~viscomp/classes/cse167/wi22/schedule.html)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# Databases
6+
*Timeline: 60 hours*
7+
8+
These courses will give the student a basic understanding of databases, specifically with SQL:
9+
- [Relational Databases & SQL](https://www.edx.org/learn/relational-databases/stanford-university-databases-relational-databases-and-sql), 20 hrs
10+
- [Modeling & Theory](https://www.edx.org/learn/databases/stanford-university-databases-modeling-and-theory), 20 hrs
11+
- [Semistructured Data](https://www.edx.org/learn/relational-databases/stanford-university-databases-semistructured-data), 20 hrs
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
sidebar_position: 9
3+
---
4+
5+
# Applications
6+
*Timeline: 279 - 291 hours*
7+
8+
import DocCardList from '@theme/DocCardList';
9+
10+
<DocCardList />
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
sidebar_position: 2
3+
---
4+
5+
# Machine Learning
6+
*Timeline: 99 hours*
7+
8+
These courses provide a broad introduction to modern machine learning, including supervised learning (multiple linear regression, logistic regression, neural networks, and decision trees), unsupervised learning (clustering, dimensionality reduction, recommender systems), and some of the best practices used in Silicon Valley for artificial intelligence and machine learning innovation (evaluating and tuning models, taking a data-centric approach to improving performance, and more.)
9+
10+
- [Supervised Machine Learning: Regression and Classification](https://www.coursera.org/learn/machine-learning), 33 hrs
11+
12+
- [Advanced Learning Algorithms](https://www.coursera.org/learn/advanced-learning-algorithms), 34 hrs
13+
14+
- [Unsupervised Learning, Recommenders, Reinforcement Learning](https://www.coursera.org/learn/unsupervised-learning-recommenders-reinforcement-learning), 27 hrs
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
# Software Engineering
6+
*Timeline: 48 - 60 hours*
7+
8+
This course introduces how teams design, build, and test multi-version software systems.
9+
10+
You will learn software engineering principles that are applicable to the breadth of large-scale software systems. The course explores topics such as agile development, REST and Async programming, software specification, design, refactoring, information security, and more.
11+
12+
By the end of this course, learners will work in teams, applying an agile software development process to specify, design, and test multiple versions of complex software systems.
13+
- [Software Engineering: Introduction](https://www.edx.org/learn/software-engineering/university-of-british-columbia-software-engineering-introduction)
14+
15+
Alternative:
16+
- [UBC CPSC - Software Engineering Resources](https://github.com/ubccpsc/310/blob/main/resources/README.md)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
sidebar_position: 2
3+
---
4+
5+
# Cybersecurity
6+
*Timeline: 80 - 96 hours*
7+
8+
Learn cybersecurity fundamentals, including how to detect threats, protect systems and networks, and anticipate potential cyber attacks.
9+
- [Cybersecurity Fundamentals](https://www.edx.org/learn/cybersecurity/rochester-institute-of-technology-cybersecurity-fundamentals)
10+
11+
Extra resources:
12+
- [Professor Messer SY0-701 Security+ Training Course](https://www.youtube.com/playlist?list=PLG49S3nxzAnl4QDVqK-hOnoqcSKEIDDuv)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# Ethics
6+
*Timeline: 35 hours*
7+
8+
This course provides an introduction to ethics in engineering and technology.
9+
- [Ethics, Technology & Engineering](https://www.coursera.org/learn/ethics-technology-engineering), 18 hrs
10+
11+
This course will introduce the various types of U.S. intellectual property: patents, which cover inventions and process innovations; copyright, which protects original works of authorship; and trademarks, which protect a business’ commercial identity as the source of valuable goods and services. You will then explore case studies of how global businesses have used intellectual property law to generate enormous value from these intangible assets.
12+
- [Introduction to Intelectual Property](https://www.coursera.org/learn/introduction-intellectual-property), 8 hrs
13+
14+
This course is designed to introduce data privacy to a wide audience and help each participant see how data privacy has evolved as a compelling concern to public and private organizations as well as individuals. In this course, you will hear from legal and technical experts and practitioners who encounter data privacy issues daily. This course will review theories of data privacy as well as data privacy in the context of social media and artificial intelligence. It will also explore data privacy issues in journalism, surveillance, new technologies like facial recognition and biometrics.
15+
- [Data Privacy Fundamentals](https://www.coursera.org/learn/northeastern-data-privacy), 9 hrs

0 commit comments

Comments
 (0)