Prerequisite for both is CS1-2. Either course (Berkeley and Carnegie Mellon) is suitable as an alternative to nand2tetris and/or 6.004 as the required course of choice for Computer Architecture/Organization. The Princeton course that's already here would have one of these 4 courses as a prerequisite and is suitable as an elective.
The 2018 course doesn't seem to be accessible anymore. The course is launching on edX on 16 March - I updated the link to the edX version and marked the youtube lectures as alternative.
Rationale: A new student probably does not know what Git, GitHub or Gitter are, so explaining what it is and putting it near the top of the page will help guide people to the Gitter more easily.
Stanford Lagunita is no longer accepting new registrations. Replacing the course with just the lectures from the course. Note that there are already 4 programming assignments pulled from other resources that students are expected to complete.
See: https://github.com/ossu/computer-science/issues/645
Closes#570
Removing, as the course is too in depth on cryptography without teaching other important areas of security.
CS2013 specifies that the undergraduate CS curriculum include the Knowledge Area Information Assurance and Security (IAS). This knowledge area includes an introduction to cryptography. But unless students take an elective course in Cryptography, they need only demonstrate a familiarity with the topic, vocabulary, the use of primes in cryptography and how public keys are used.
As pointed out by @MohamedMandouh, this course is an advanced class offered at Stanford.
Meanwhile, IAS specifies a number of other important topics, which this class does not address.
Elevate reference to the gitter chat room, as it is a community resource with regular usage. Remove references to the forum as it has not been taken up by users.
Resolves#551
Added Intro CS section (h2) to follow initial ierarchy of the document.
Made Introduction to Programming and Introduction to Computer Science sub-sections (h3).
Also fixed Contents and Curriculum links to reflect these changes.
Add assignments to Computer Networking course. See here:
https://github.com/ossu/computer-science/issues/520#issuecomment-515740803
Add an extra column to the Core Systems courses chart so that it can
hold information previously written above and below. Centralizing
information should improve readability.
This books contains easy to understand introduction to the automata theory, which is missing in "Introduction to computing" book by David Evans. It does not require complicated math, so it can be useful to students who do not want to become theoretical computer scientists, but want do have general understanding of it's topics. Also, it almost perfectly matches The Automata Theory course we have in the curriculum.