Clean up Advanced CS

This commit is contained in:
Joshua Hanson 2017-02-28 19:50:00 -05:00
parent 7c708a581c
commit 2ec7242bc0
1 changed files with 24 additions and 24 deletions

View File

@ -252,7 +252,7 @@ Courses | Duration | Effort | Prerequisites
## Advanced CS ## Advanced CS
After completing **every single course** in Core CS, students should choose a subset of courses from Advanced CS based on interest. After completing **every single required course** in Core CS, students should choose a subset of courses from Advanced CS based on interest.
Not every course from a subcategory needs to be taken. Not every course from a subcategory needs to be taken.
But students should take *every* course that is relevant to the field they intend to go into. But students should take *every* course that is relevant to the field they intend to go into.
@ -279,43 +279,43 @@ Courses | Duration | Effort | Prerequisites
[Software Debugging](https://www.udacity.com/course/software-debugging--cs259)| 8 weeks | 6 hours/week | Python, object-oriented programming [Software Debugging](https://www.udacity.com/course/software-debugging--cs259)| 8 weeks | 6 hours/week | Python, object-oriented programming
[LAFF: Programming for Correctness](https://www.edx.org/course/laff-programming-correctness-utaustinx-ut-p4c-14-01x) | 7 weeks | 6 hours/week | linear algebra [LAFF: Programming for Correctness](https://www.edx.org/course/laff-programming-correctness-utaustinx-ut-p4c-14-01x) | 7 weeks | 6 hours/week | linear algebra
[Introduction to Parallel Programming](https://www.udacity.com/course/intro-to-parallel-programming--cs344) | 12 weeks | - | C, algorithms [Introduction to Parallel Programming](https://www.udacity.com/course/intro-to-parallel-programming--cs344) | 12 weeks | - | C, algorithms
[Software Architecture & Design](https://www.udacity.com/course/software-architecture-design--ud821)| 8 weeks | 6 hours/week | Java programming [Software Architecture & Design](https://www.udacity.com/course/software-architecture-design--ud821)| 8 weeks | 6 hours/week | software engineering in Java
#### Readings
- Recommended: [Design Patterns](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?s=books&ie=UTF8&qid=1488071249&sr=1-1&keywords=Design+Patterns)
- Recommended: [Refactoring](https://www.refactoring.com/)
- Recommended: [The Architecture of Open Source Applications](http://aosabook.org/en/index.html)
### Advanced systems ### Advanced systems
**Topics covered**:
digital signaling;
combinational logic;
CMOS technologies;
sequential logic;
finite state machines;
processor instruction sets;
caches;
pipelining;
virtualization;
parallel processing;
virtual memory;
synchronization primitives;
system call interface;
Courses | Duration | Effort | Prerequisites Courses | Duration | Effort | Prerequisites
:-- | :--: | :--: | :--: :-- | :--: | :--: | :--:
[Electricity and Magnetism, Part 1](https://www.edx.org/course/electricity-magnetism-part-1-ricex-phys102-1x-0) | 7 weeks | 8-10 hours/week | calculus, basic mechanics [Electricity and Magnetism, Part 1](https://www.edx.org/course/electricity-magnetism-part-1-ricex-phys102-1x-0)<sup>1</sup> | 7 weeks | 8-10 hours/week | calculus, basic mechanics
[Electricity and Magnetism, Part 2](https://www.edx.org/course/electricity-magnetism-part-2-ricex-phys102-2x-0) | 7 weeks | 8-10 hours/week | Part 1 [Electricity and Magnetism, Part 2](https://www.edx.org/course/electricity-magnetism-part-2-ricex-phys102-2x-0) | 7 weeks | 8-10 hours/week | Part 1
[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)<sup>2</sup> | 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 | previous course [Computation Structures 2: Computer Architecture](https://www.edx.org/course/computation-structures-2-computer-mitx-6-004-2x) | 10 weeks | 6 hours/week | previous course
[Computation Structures 3: Computer Organization](https://www.edx.org/course/computation-structures-3-computer-mitx-6-004-3x-0) | 10 weeks | 6 hours/week | previous course [Computation Structures 3: Computer Organization](https://www.edx.org/course/computation-structures-3-computer-mitx-6-004-3x-0) | 10 weeks | 6 hours/week | previous course
[ops-class.org - Hack the Kernel](https://www.ops-class.org/) | 15 weeks | 6 hours/week | algorithms [ops-class.org - Hack the Kernel](https://www.ops-class.org/) | 15 weeks | 6 hours/week | algorithms
**Note 1**: **<sup>1</sup> Note**:
The Computation Structures courses assume prior knowledge of basic physics, mechanics in particular. These courses assume knowledge of basic physics;
The relevant material will be reviewed in the Rice University 'Electricity and Magnetism' course, but not systematically. if you are struggling, you can find a physics MOOC or utilize the materials from Khan Academy:
If you are struggling with the Rice courses, you can find a physics MOOC or utilize the materials from Khan Academy:
[Khan Academy - Physics](https://www.khanacademy.org/science/physics) [Khan Academy - Physics](https://www.khanacademy.org/science/physics)
**Note 2**: **<sup>2</sup> Note**:
The Computation Structures courses are very, very long, and very hands-on. A shorter, less intense (but still very advanced) alternative to Computation Structures is here:
A less hands-on alternative is here (note that the rerequisite physics knowledge is still the same):
[Computer Architecture](https://www.coursera.org/learn/comparch) [Computer Architecture](https://www.coursera.org/learn/comparch)
**Note 3**:
ops-class.org is very, very hands-on.
A completely passive alternative, totally lacking assignments or exams, is here:
[Operating Systems](https://www.youtube.com/view_play_list?p=-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c)
#### Readings
- Supplemental: [Modern Operating Systems](https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/013359162X)
### Advanced theory ### Advanced theory
**Topics covered**: **Topics covered**: