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.
This is probably the best introduction to computer systems for programmers. It contains all needed essentials of computer architecture, describes how C language works internally (e.g. how data structures are organized in memory and managed on machine language level) and even describes essentials of operating systems.
GTx CS1301, "Computing In Python" is proposed as a supplemental course in the OSSU curriculum and as a potential future candidate for the Introduction to Computer Science course. It is an online-adapted version of the on-campus Introduction to Computing course for Georgia Tech computer science students. The online version is comprised of four parts, delivered on-demand via edX. The course is self-paced with 16 weeks of effort, and is 100% free to audit with all materials included. It covers all introductory CS topics discussed in MIT 6.00.1x from a language-agnostic perspective, while providing additional instruction and support in learning Python as a language. Students who complete this course will have an understanding of basic CS topics **and** a working knowledge of Python 3 they can immediately apply to interesting problems.
PBRT is an amazing book detailing the implementation of a real, well-developed path tracer and is used in many real Computer Graphics courses. The authors have no released it for free, so it would make a great addition to the curriculum.