Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Add rest of Andrew Ng new ML Class #1118

Closed
aayushsinha0706 opened this issue Jan 3, 2023 · 13 comments
Closed

RFC: Add rest of Andrew Ng new ML Class #1118

aayushsinha0706 opened this issue Jan 3, 2023 · 13 comments

Comments

@aayushsinha0706
Copy link
Member

Problem:
OSSU lacks other ML classes

Duration:
3 Feb 2023

Background:
The earlier machine learning class by Prof. Andrew Ng and Stanford which used Octave on coursera was recreated by deeplearning.ai and now the class is using Python which is great but only problem is that it is now a coursera specialisation and the old link now only links to one course of whole specialisation.

Proposal:
Just add other two courses in curriculum

Advanced Learning Algorithms

Unsupervised Learning, Recommenders, Reinforcement Learning

@waciumawanjohi
Copy link
Member

We have other courses that are part of specializations where we don't recommend the entire specialization. For example:

  • How to Code is part of UBX's Software Development MicroMasters.
  • We recommend 3 of 4 courses in U Alberta's Software Design and Architecture Specialization.
  • We recommend 3 of 5 courses in Stanford's Database series.

We should include these courses if they cover material necessary in our curricular guidelines.

If they do not, it would be very appropriate to design an advanced track that included them. (We've talked about something similar in this RFC)

@aayushsinha0706
Copy link
Member Author

aayushsinha0706 commented Jan 3, 2023

In reference to CS2013 Intelligent Systems Page 123 and Page 124

IS/Basic Machine Learning
[2 Core-Tier2 hours]
Topics:
• Definition and examples of broad variety of machine learning tasks, including classification
• Inductive learning
• Simple statistical-based learning, such as Naive Bayesian Classifier, decision trees
• The over-fitting problem
• Measuring classifier accuracy

Learning Outcomes:

  1. List the differences among the three main styles of learning: supervised, reinforcement, and unsupervised. [Familiarity]
  2. Identify examples of classification tasks, including the available input features and output to be predicted. [Familiarity]
  3. Explain the difference between inductive and deductive learning. [Familiarity]
  4. Describe over-fitting in the context of a problem. [Familiarity]
  5. Apply the simple statistical learning algorithm such as Naive Bayesian Classifier to a classification task and
    measure the classifier's accuracy. [Usage]

In the second course of the Machine Learning Specialization, we will learn:
• Build and train a neural network with TensorFlow to perform multi-class classification
• Apply best practices for machine learning development so that your models generalize to data and tasks in the real world
• Build and use decision trees and tree ensemble methods, including random forests and boosted trees

In the third course of the Machine Learning Specialization, we will learn:

• Use unsupervised learning techniques for unsupervised learning: including clustering and anomaly detection.
• Build recommender systems with a collaborative filtering approach and a content-based deep learning method.
• Build a deep reinforcement learning model.

The current offering only talks about supervised learning algorithms and not other algorithms like decision trees (taught in second course, algorithms under unsupervised learning and reinforcement learning (taught in third)

We have other courses that are part of specializations where we don't recommend the entire specialization. For example:
How to Code is part of UBX's Software Development MicroMasters.
We recommend 3 of 4 courses in U Alberta's Software Design and Architecture Specialization.
We recommend 3 of 5 courses in Stanford's Database series.

Also, the reason behind I am recommending all three courses from specialisation is that the earlier version included all the learning into a single 10 week class but now is broken down into three courses of 3, 4, 3 weeks respectively.

Also learning the knowledge of above two course is necessary if we ever include Advanced AI RFC in our curriculum

@waciumawanjohi
Copy link
Member

the reason behind I am recommending all three courses from specialisation is that the earlier version included all the learning into a single 10 week class but now is broken down into three courses of 3, 4, 3 weeks respectively.

A fair point.

It's not clear that the guidelines suggest including the two later courses. Of the 5 learning outcomes, only 1 is about being able to implement. Four are about being familiar with some of the big ideas in the field.

So presumably we could meet students needs and reduce the length of the curriculum by identifying a resource that is shorter and less involved and pair it with the current recommendation.

To be clear, my concern is driven from one of the most consistent critiques of OSSU, that the recommended path is too long. The counterbalance to that critique in this case is that Ng's Machine Learning course is one of the classic MOOCs, with high ratings going back a decade.

Should we recommend a deeper and longer than necessary dive with a set of better-than-most courses? Or identify a resource that gives an appropriate overview and just the recommended deep dive into one aspect of ML?

@Alaharon123
Copy link
Contributor

just wanna link the alpha version of CS2023 on this topic. As one would expect in a world where machine learning is more important than it was a decade ago, it has more core hours than CS2013 does, and different focus and such https://csed.acm.org/wp-content/uploads/2022/07/AI_Version_Alpha.pdf

@waciumawanjohi
Copy link
Member

waciumawanjohi commented Jan 4, 2023

Good context. Pulling out the most relevant sections:

AI/Basic Machine Learning

Topics

CS Core

  • Definition and examples of a broad variety of machine learning tasks
    • Supervised learning
      • Classification
      • Regression
    • Reinforcement learning
    • Unsupervised learning
      • Clustering
  • Simple statistical-based supervised learning such as Naive Bayes, Decision trees
  • The overfitting problem and controlling solution complexity (regularization, pruning)
    • The bias (underfitting) - variance (overfitting) tradeoff
  • Working with Data
    • Data preprocessing
      • Importance and pitfalls of
    • Handling missing values (imputing, flag-as-missing)
      • Implications of imputing vs flag-as-missing
    • Encoding categorical variables, encoding real-valued data
    • Normalization/standardization
    • Emphasis on real data, not textbook examples
  • Representations
    • Simple basis feature expansion, such as squaring univariate features
    • Learned feature representations
  • Machine learning evaluation
    • Measuring classifier accuracy
    • Separation of train, validation, and test sets
    • Estimation of test performance, using held-out data
      • Tuning the parameters of a machine learning model on held-out validation data
    • Importance of understanding what your model is actually doing, where its pitfalls/shortcomings
      are, and the implications of its decisions
  • Basic neural networks
    • Fundamentals of understanding how neural networks work and their training process, without
      details of the calculations

KA Core

  • Formulation of simple machine learning as an optimization problem, such as least squares linear
    regression or logistic regression
    • Objective function
    • Gradient descent
    • Regularization to avoid overfitting
  • Ensembles of models
    • Simple weighted majority combination
  • Deep learning
  • Deep feed-forward networks (intuition only, no math)
  • Convolutional neural networks (intuition only, no math)
  • Visualization of learned feature representations from deep nets
  • Performance evaluation
  • Other Metrics (e.g., error, precision, recall)
  • Confusion matrix
  • Cross-validation
    • Parameter tuning (grid/random search, via cross-validation)
  • Overview of reinforcement learning
  • Two or more applications of machine learning algorithms
  • E.g., medicine and health, economics, vision, natural language, robotics, game play
  • Ethics for Machine Learning

Learning Outcomes

  1. Describe the differences among the three main styles of learning: supervised, reinforcement, and
    unsupervised.
  2. Differentiate the terms of AI, machine learning, and deep learning.
  3. Frame an application as a classification problem, including the available input features and output to be
    predicted (e.g., identifying alphabetic characters from pixel grid input).
  4. Apply two or more simple statistical learning algorithms (such as k-nearest-neighbors and logistic
    regression) to a classification task and measure the classifiers’ accuracy.
  5. Identify over-fitting in the context of a problem and learning curves and describe solutions to overfitting.
  6. Explain how machine learning works as an optimization/search process.
  7. Describe the neural network training process and resulting learned representations
  8. Explain proper ML evaluation procedures, including the differences between training and testing
    performance, and what can go wrong with the evaluation process leading to inaccurate reporting of ML
    performance.
  9. Implement and compare two machine learning algorithms on a dataset, preprocessing it from scratch.

Context

Elsewhere it is explained that:
There will be two types of core concepts:

  • CS Core: concepts that every Computer Science graduate must know.
  • KA Core: concepts that any coverage of this KA must include.

@waciumawanjohi
Copy link
Member

I still think that we are presented with the question, should we recommend a course that dives deeper than necessary because the course is very well reviewed?

An example of that 'diving deeper than necessary': the standards say students should know "Fundamentals of understanding how neural networks work and their training process, without details of the calculations". But in Advanced Learning Algorithms students "dive deeper by learning how to code up your own neural network in Python, 'from scratch'."

@aayushsinha0706
Copy link
Member Author

As stated in previous RFC #1111 creating 100% curriculum on basis of CS 2013 is not possible unless we start creating our own material

But then we just cannot cut the material as students will often come out with less maturity on a particular subject and that is why we can avoid such shortcoming by sometimes giving that dives deeper than necessary.

( Note : I know its an open source computer science program and not an actual degree and many people are using it as a secondary source of learning or supplemental learning like me, but there are people who are also using it as a primary source of learning to get into industry and avoid paying hefty fees to universities or bootcamps.)

There is also particular case of Mathematics with AI/ML classes, in OSSU we have very light usage of mathematics as compared to universities. The hardest class is Math for CS(Discrete Math) that is in core cs. Actual CS Programs have even harder math classes like differential equations , numerical analysis, and not to mention Statistics etc.

There are also courses like Intro to AI by Berkeley that I think will cover material in better manner than as in a proper ratio of breadth and depth in subject as compared to Andrew Ng's course, but why I didn't recommended it is because of mathematics requirements, I would also like to quote spamegg1 from # linear algebra discord

" Self-learning has some very hard limitations, we often don't think about this. Just because some university dumped a course (which is normally taught in school) and its content online doesn't mean it's "doable" all on your own."

And that I think applies here, as many ML/AI classes present online have heavy usage of mathematics, but with Andrew Ng's course is the only ML course that I can think of where instructor says you don't require heavy knowledge of mathematics. The course bridges the gap of less math maturity and Machine Learning Knowledge.

@waciumawanjohi
Copy link
Member

@aayushsinha0706, would a fair summary of your previous post be:

If we don't add the two additional Ng courses, we will need to identify a course to offer. When searching for such a course, we should take special note of the prerequisites. Finding a course that does not rely on courses beyond Core Math would be necessary and difficult.

If so, fair points!

@aayushsinha0706
Copy link
Member Author

In that summary I would also like to (this is purely my view)

Cutting down the material is not the solution.

Also in CS2013 there are other AI courses as well that don't have any included electives like IS/Basic Search Strategies and IS/Basic Knowledge Representation and Reasoning. But we don't have these courses because of the math requirement. (reference to CS2013 page 121)

And hence if we are cutting down material somewhere we need to provide somewhere as well.. Just cutting down the material all in all will only hamper student maturity on a particular subject who purely rely on OSSU for CS education.

@ghost
Copy link

ghost commented Feb 8, 2023

Perhaps some of these things can be considered electives, and the limitation should be a number of classes or "credit hours" or whatever. Then the student would have to choose which electives to add to keep it within a certain number of credit hours for their electives. Or maybe alternative paths could be given that still hit all of the necessary areas, but have certain areas highlighted more. These would have the area addressed more from the beginning to allow for this to be the case.

@dvirberlo
Copy link

dvirberlo commented Mar 16, 2023

I don't know if I have the large perspective of the others that are discussing this issue.
But I did finish the 3 courses.
I used the app sometimes, and it was obvious to me I should do all the 3 parts of the specialization.

I did feel that I could have had a deeper understanding if I knew more about matrixes, statistics etc.
But I did it while I was in the middle of Single Variable Calculus (OCW), and I think I understood the concepts well.

Obviously, if advanced ML (#1013) will be added, I would not think to go this path without going through the required math courses first.

Anyway, I think it is not good to leave the curriculum docs in this ambiguous state.
With the justification from the fact that "this is how it was" I would suggest to add in the "Notes" section that the curriculum's intention is to all 3 courses.

@bradleygrant
Copy link
Member

Worth noting that, prior to the 2022 refresh of this class, it was a single course. Now, the course is broken into three "parts". These are not three discrete courses. They're chapters -- supervised methods, unsupervised methods, and [another one].

I suspect this decision was made to gamify the course and make people feel good about making it to the 1/3rd point of the course.

We have made the mistake of only allowing one of the "parts" into the curriculum. Just to maintain parity with where the curriculum was a year ago, all three parts should be there.

@waciumawanjohi
Copy link
Member

We've gone over the comment period and I would characterize most comments to support the RFC. Adopting the RFC and closing the issue. Thanks to all who have participated!

JulianSpring added a commit to JulianSpring/computer-science that referenced this issue May 16, 2024
* Add security courses on a provisional basis.

See ossu#639

* Include link to HtDP book and problem sets

* Update readings.md

* Added link to HW for Intro to Parallel Programming

Intro to Parallel Programming's grader is broken, it's impossible to submit programming assignments. It's also impossible to compile and run the code on your PC, unless you own an nVidia GPU. Thankfully some nice folks on Github created a Google Research Colab page where you can compile and run your homeworks (unfortunately the Final Exam is not available and probably never will be). I understand this uses Google's GPU sharing.

* Remove dead link

* Simplify table of contents

* Fix spelling mistake

* Links to prerequisites courses added

* Move courses to advanced

Change the Haskell course suggestion. A big thank you to @aryzach for prompting the switch.
Move courses to advanced programming. See Issue.
Closes ossu#669

* Move curricular guidelines out of extras.

* Clarify that CS2013 is the curricular guidance for OSSU

Resolves ossu#679

* Add The Missing Semester

Resolves ossu#678

* Replaced Hack the Kernel with OSTEP

Implementing the proposal from issue 690: ossu#690

* Add note to Changelog that curriculum is > v8 and < v9.

Resolves ossu#674

* Replace LAFF with MIT's OCW Scholar Linear Algebra

Resolves ossu#693

* Reflect addition of new Intro section.

* Make note more prominent

* updated Software Engineering prereqs and added relevant FAQ

* Update README.md

* Update link to curricular guidelines

* Remove link to dead domain

* Update link for Compiler Construction

* Change Programming Languages Part A Prereq

Resolves 716

* How to audit the intro to programming courses

Resolves ossu#724

* Updated PROJECTS.md

Finished Specialization, using its Capstone as Final Project

* Update README.md

* Update OS Course Version

Resolves ossu#707

* Update README.md

* Update README.md

Removed LAFF, changed Parallel Programming

* Update courses.md

Moved Intro to Parallel Programming to Extras

* Update readings.md

Removed Sheldon Axler's "Linear Algebra Done Right (FREE)" because it is no longer free after the end of July 2020. It was made free temporarily due to COVID-19.

* Python for Everyone > Python for Everybody

The course, book and website all say everybody instead of everyone. Just a little nit I noticed.

* Switch Python for Everybody link

Students regularly ask in Gitter how to audit Python for Everybody (Py4E). The instructor of Py4E has created a free version on a standalone site. This has been the alternate link. Instead this should be the main link.

* Replace previous Probability course

Added a new probability course called Stat110 from Harvard, and moved the previous one to the extra courses page.

* Update README.md

* Add new question to FAQ

Tighten language on some FAQ answers

* Rearrange order of FAQ questions

* Simplify Intro to Programming

Resolves ossu#763

* Raise duration estimate to match Coursera's estimate

* Course listing should match course title

* Update .gitignore

* Use Stanford Database courses

Stanford Database courses had long been part of the OSSU curriculum. When Stanford pulled down their platform Lagunita, OSSU had to find a new offering. With the Stanford material back on edX, OSSU should return to this high quality offering.

Resolves ossu#718
Resolves ossu#709

* Change chat from Gitter to Discord

* Add 'Discussion' header to Core Math and Core Systems

* Re-add newsletter link

* Remove unnecessary coursework from Advanced Systems.

Resolves ossu#772

* Delete reference to cohorts repo.

Cohorts repo was closed after an RFC.
Resolves ossu#780

* Removed redundant note from Advanced Systems

The note was referring to Electricity & Magnetism classes, which were removed.

* Update HELP.md

A server admin will have to enable the discord widget in the settings for the discord server

* Update help.md

[#173862703]

Authored-by: Waciuma Wanjohi <code@waciuma.com>

* Replaced FutureLearn pre-calculus with Khan Academy

- To be more consistent with our Khan Academy recommendation elsewhere in the curriculum
- also some students expressed confusion with the FutureLearn course

* Added link to Interactive Exercises from Kurose-Ross textbook website

* Update FAQ language and order

[#173862703]

Authored-by: Waciuma Wanjohi <code@waciuma.com>

* Use Discord Widget

[#173862703]

Authored-by: Waciuma Wanjohi <code@waciuma.com>

* Update math prereq columns

* Changed Py4E hours of effort to match OSSU expected weekly effort levels

* Removed errant submodule added on prior commit

* Prerequisite section mention of high school math links to FAQ

* Remove dead link.

Resolves ossu#795

* Move the Missing Semester later in curriculum

Resolves ossu#778

* Clarify that OSSU is not working in partnership with any org to offer degrees.

* Fixed Advanced Systems dead links

* Match recommended calc to course listed prereqs

https://www.edx.org/course/introduction-to-probability

'Familiarity with U.S. high school level algebra concepts; Single-variable calculus: familiarity with matrices, derivatives and integrals.'

* replace dead link

Fix for [computer-science/issues/825](ossu#825)

* Update Newsletter Address

* Add link to completion estimate chart

Discord user crokei26#1613 created an initial version of this great resource. A huge thanks to them!

* Removed Formal Concept Analysis (fixes ossu#818)

- fixes ossu#818
- removed `CUDA` and `GPU programming` from topics (left over from before)

* Direct Py4E students directly to the lessons

* Switch Math for CS from OCW to OLL

Implement ossu#832

* add two new books on systems

* Add section to FAQ about alts

* Sharpen FAQ answer language

* Remove direct link to issues

We often get issues opened that are empty, with no text or description of a problem. This may be because learners follow the link from the Community section, and post in order to interact. By removing the link (but keeping the link to the contributing instructions) we can hopefully direct new learners in how to interact productively.

* Move CS50 to Courses/Extras

Resolves ossu#833

* Remove prereq not mentioned by course creators

* Remove topic that is not covered in the section

* changed the discord invites 

Changed the 2 invite links (one inside the svg) to direct to the #welcome discord channel. Also changed some relevant language.

* Update Game Design specialization

Bump to new version

* Include edX financial aid information

* feat: Change order of database courses

* Update issue templates

* Changed link to Effective Thinking Through Mathematics course in extras (issue ossu#870) (ossu#871)

* Changed link to Effective Thinking Through Mathematics course in extras

* Delete .DS_Store

Co-authored-by: Jonathan Hustad <jonathanhustad@Jonathans-iMac.lan>
Co-authored-by: waciumawanjohi <waciumawanjohi@users.noreply.github.com>

* updated Prolog link, added PDF version (fixes ossu#868) (ossu#873)

* updated Prolog link, added PDF version

* updated Prolog link, added PDF version

- removed `Text` column, added footnote instead

* updated Prolog link, added PDF version

- parentheses

* updated Prolog link, added PDF version

- added link to book source code

* Updated links to both HtC Simple and Complex Data

* Added alt link to ocw version of 6.002 in extra courses (ossu#885)

* added OCW alt link for 6.002 in extra courses

* fixed parenthesis

* Update books' editions

* Updated the links for books that have a newer edition. I have included the authors' home page for the book where possible.
* Updated some titles to reflect the linked edition. I have maintained the original format (``2e`` for the books in the ``Programming`` section ``(2nd Edition)`` for the books in the other sections). Unifying the format could be something to consider.

* More realistic estimate for OS course

Hi,

I am currently taking this course and I am about half way into it. I already have a CS degree and I've been working as a developer for ~8 years.

The course is very interesting and comprehensive.
If you want to do this course properly, I think 6 hours per week for this course is bare minimum:
- There are ~3 hours of lectures each week
- The original course is split into 14 weeks
- Each chapter has homework at the end of it
- Homeworks are not very difficult, but some of them require significant amount of work
- Projects require significant amount of work

* Update other_curricula.md

Add new curriculum (writing started Summer 2019)
See more: https://github.com/functionalCS

* Reflects locked down CS Timeline Spreadsheet

* Spreadsheet link prompts users to make a personal copy

* Remove course that is no longer offered

Resolves ossu#907

* Make Calculus Required

closes ossu#841

* Change calculus recommendation to OLL and OCW

Resolves ossu#838, ossu#886

* Change Networking course to Kurose-Ross

Resolves ossu#887

* Evaluation section update

Change language to encourage students to be proactive in seeking feedback for projects.

* Advanced Applications subsumed by Project

Clarifies that the advanced application list is a subset of a larger, unspecified, set of adequate options.
Advanced Applications was listed as a precursor and possible replacement for the final project. This merges the two and specifies that students may choose another avenue for creating a capstone project.

Resolves ossu#830

* Update core math blurb

Resolves ossu#921

* Removed Project with Dead Link

1. Removed Binary Machine project as repository link results is dead.
2. Fixed link to applications block.

* Update Team

* extras/courses: Add Introduction to Computational Thinking by MIT

As noted here ossu#912 adding this course to The Math section

* Add Algorithms by Sedgewick

Add Algorithms by Robert Sedgewick on the basis that it's a freely available book from a reputable institution (it's the textbook for the Princeton Coursera courses). That being said, I haven't had the chance of reading the book so I can't personally comment on its quality.

* Commit for RFC at issue ossu#933 (ossu#945)

* Commit for RFC at issue ossu#933

Added by error

Co-authored-by: Harsh <Harshnagarwal@yahoo.in>

* Add The Linux Command Line book to Tools section in extra readings

* Switch 3b1b Linear Algebra from pre to corequisite (ossu#927)

Switch 3b1b Essence of Linear Algebra from prerequisite of MIT Linear Algebra to corequisite

* Add interesting/useful reading resources (ossu#941)

* fix: updated Computation Structures 1,2 & 3 links (ossu#953)

* Add books, fix formatting

* Add Ethics Course

Ethics being a very important education in field of computer science. CS 2013 Says, while technical issues are central to the computing curriculum, they do not constitute a complete educational program in the field. Students must also be exposed to the larger societal context of computing to develop an understanding of the relevant social, ethical, legal and professional issues. This need to incorporate the study of these non-technical issues into the ACM curriculum was formally recognized in 1991.

* Update README.md

* Update Ethics Course Discord Links

* Fix link formatting

* fix some links

* extras/books recommends Linear Algebra for Everyone

closes ossu#910

* Add puzzles-practice to extras

Closes ossu#783

* Added Intro to Numerical Analysis

Added Introduction to Numerical Analysis by HSE, a CS2013 Elective Course.

* Added alternative to Intro to NumAnalysis.

Added MIT18-335J as an alternative to Introduction to Numerical Analysis.

* Swapped Core security and Core applications links in the curriculum index to reflect the order of the page. Added a link for Core ethics to the index. Updated some capitalization.

* Add answer on finding courses

* Add cs-video-courses

* Add link to goodreads in FAQ

* Remove alternate course that is no longer offered.

* Update README.md

* Fixes typos

* Update full stack open hours/week

https://studies.cs.helsinki.fi/stats/courses/fullstackopen
According to the course stats, every part takes at least 15 hours to finish on average.

* update MathForCS dead alternate link

* Remove note on provisional status

Having closed the [RFC: Add Security Courses](ossu#639), it is time to remove the provisional label from the Core Security section.

* Replace Numerical Analysis Course

Resolves ossu#1006

* Typo fix

* Fix typo

* Math for CS 2010, 2015/2019 solutions

* Add DSA Textbook to Extras

Thank you to @hamzakat

Closes ossu#994

* alternate links for Computation Structures

* alternate links for Computation Structures

improved formatting

* added OSTEP course page

* added OSTEP course page

fixed typo

* added OSTEP course page

fixed typos, removed/updated links

* added OSTEP course page

updated prerequisites on README

* Replace discontinued Intro Sec Course

[Information Security: Context and Introduction](https://www.coursera.org/learn/information-security-data) has been discontinued.
Replacing with [Cybersecurity Fundamentals](https://www.edx.org/course/cybersecurity-fundamentals)
Resolves ossu#1041

* Update README.md

* Update README.md

* Add information security link to table of contents

* hints and tips for OSTEP Project 2A

* Rename intro file in directory to README.md

Users browsing the directory structure will better understand
which file to read first.

* Fix typo

Small typo fix

* Update PROJECTS.md

Reword the top description of PROJECTS.md to make it more clear what this section is about.

* Swap Intro CS from edX to OpenCourseWare

* change Logic course

* Update LICENSE copyright year

Signed-off-by: Ariston Lorenzo <4tl0renz0@gmail.com>

* Improve links

From a suggestion by @Alaharon123 here:
ossu#1078 (comment)

* Update exercism url to point to the current url

* Add 2011 Berkeley SICP in Scheme to extras

Since the Scheme version remains arguably as/more popular

* Update PROJECTS.md

* Update PROJECTS.md

* update How to Design Programs textbook link

* Update courses.md

* Update courses.md

* Update courses.md

* Update courses.md

* added resource explaining xv6 code for OSTEP

* added resource explaining xv6 code for OSTEP

fixed typo

* Clarify OSTEP Options

Direct most students to read OSTEP and complete homework.
Direct only students specializing in systems to undertake
the course projects

Resolves ossu#1083

Co-authored-by: Waciuma Wanjohi <code@waciuma.com>
Co-authored-by: spamegg <spamegg@pm.me>

* Clarify OSTEP: add missing link, fix prerequisite

* Add structure to links

* Update FAQ.md

* Update CONTRIBUTING.md

* Changed course for Theory of Computation to the one in openMIT (ossu#1125)

Resolves ossu#1096

* Reduce time estimate for Probability

* Correct link to resources below (ossu#1133)

* fix core applications machine learning (ossu#1143)

* Fix machine learning in core applications

The machine learning course is only 3 weeks long, not 11. Further, it's a very gentle introductory course. Even the prerequisite of Basic coding is stretching it, but it is as listed on the course page.

* Fix machine learning 

Machine learning should link to the entire specialization. The specialization is 11 weeks in all I believe, and they suggest 9 hours per week although that could be scaled down to 4-6 hours if you're just auditing. Also, the prerequisite should be basic coding, linear algebra is not necessary.

Closes ossu#1118

* Add a new project from a student (ossu#1130)

* Added a PR template for projects. (ossu#1136)

* Update CURRICULAR_GUIDELINES.md

Reference the upcoming CS2023

* Update LICENSE copyright years (ossu#1152)

* Update course link

Effective Thinking Through Mathematics

* Census Announcement

* Move census link to top of page

* Correct the CS50 alt URL

https://cs50.harvard.edu/ just redirects to Edx. The course is available at https://cs50.harvard.edu/x/

* Remove 2023 Census link

* Add better link for How to Code courses

Add the Systematic Program Design course (which consists of both parts of How to Code) as the main link and move How to Code to to alt.

* Add backt the HTDP book

* Add intro-programming course page (ossu#1177)

* Create intro-programming course page (incomplete)

* Complete the intro-prgramming page

* Add intro-programming course page to the README file

* Fix spellings

* Fix the name of the Py4E course

* Add alt for Computer Graphics

Resolves ossu#1140

* Update Process

Mention taking courses in parallel.

Resolves ossu#1139

* Fix CS50P pset links

* Changed typo 'strucked' to 'stucked'

* fix typos

* Create CNAME

* Update CNAME

* Delete CNAME

* Create CNAME

* Delete CNAME

* Create CNAME

* update Software Engineering: Introduction course

* Add whitespace

May address ossu#1191

* Use full word rather than abbreviation for accessibility (ossu#1194)

* Hopefully fix some confusions regarding alt courses

Mention the full word "alternative" instead of the short form "alt" which may cause confusion to non-native speakers. Also change "/" to "," for the two parts of HTC course.

* Fixed the missing "alt"

* Replace deleted course with its video playlist

* Adding a new URL course for Git and GitHub because the old link invalid (ossu#1204)

* Adding discussions channels

* Remove mentions of outdated materials and add warning about them (ossu#1212)

* Remove mentions of outdated materials and add warning about them

* Remove the new warning blockquote syntax

Seems like github pages don't support the new warning blockquote syntax

* Update README.md with suggestion from @waciumawanjohi (1)

Co-authored-by: Lenox Waciuma Wanjohi <waciumawanjohi@users.noreply.github.com>

* Update README.md with suggestion from @waciumawanjohi (2)

Co-authored-by: Lenox Waciuma Wanjohi <waciumawanjohi@users.noreply.github.com>

* Update README.md with suggestion from @waciumawanjohi (3)

Co-authored-by: Lenox Waciuma Wanjohi <waciumawanjohi@users.noreply.github.com>

---------

Co-authored-by: Lenox Waciuma Wanjohi <waciumawanjohi@users.noreply.github.com>

* add final project into PROJECTS.md

* Move space between badges out of link text

* fix: quick stupid case corrections for Discord

can I brag about having contributed to ossu yet? :^)

* Mark the Py4E course link as link

The Py4E course link in the intro cs coursepage was not marked as link. While GitHub renders it as link, the GitHub pages website don't. This PR fixes that.

The PR also fixes the CS50P discord invite link, which was expired. This time, I have made a link that never expires, and can be used an unlimited number of times.

* Update page to use CSS for center alignment

Uses mozilla recommended CSS for centering:
https://developer.mozilla.org/en-US/docs/web/html/element/center

* Align with div attribute

Github homepage does not respect the CSS centering

* Add Intro CS coursepage and replace the OCW version with an archived version on Edx (ossu#1224)

* Create README.md

* Add link to Intro CS course page

* Update README.md

* Update courses.md

This change is adding the interactive, open-source, community-led SICP version that was adapted into JavaScript. 

This addition seems worthwhile because JavaScript may be a more appealing language to go through SICP with than the original Scheme. In addition, this JavaScript version of SICP was created with the apparent goal of being as close to the original Scheme version as possible:
https://sourceacademy.org/sicpjs/prefaces03

* Add SPD coursepage (ossu#1225)

* Create README.md

* Add files via upload

* Update README.md

* Add files via upload

* Update README.md

* Update README.md

* Update readings.md

* Update README.md

* Update README.md

* Delete coursepages/spd/HTC2X.zip

* Delete coursepages/spd/htc-simple.zip

* Delete coursepages/spd/space-invaders-starter.rkt

* Delete coursepages/spd/ta-solver-starter.rkt

* Update README.md

* Add files via upload

* Add info about eabling automatic parentheses, square brackets and quotes

* Remove the newsletter link

The newsletter link does not work anymore. Also, AFAIK, it was not in active use anyway.

* Remove Projects.md

* Move interactive textbook from courses to readings

---------

Signed-off-by: Ariston Lorenzo <4tl0renz0@gmail.com>
Co-authored-by: Waciuma Wanjohi <code@waciuma.com>
Co-authored-by: waciumawanjohi <waciumawanjohi@users.noreply.github.com>
Co-authored-by: spamegg <4255997+spamegg1@users.noreply.github.com>
Co-authored-by: Aaron Hooper <rnjckhpr@gmail.com>
Co-authored-by: Manuel Esparza <manoloesparta@gmail.com>
Co-authored-by: aryzach <zach_asmith@yahoo.com>
Co-authored-by: riceeatingmachine <50071043+riceeatingmachine@users.noreply.github.com>
Co-authored-by: spamegg <spamegg@pm.me>
Co-authored-by: Travis Brackett <travmeister@gmail.com>
Co-authored-by: Cybermise <cyberm1se27@gmail.com>
Co-authored-by: Cybermise <57189446+Cybermise@users.noreply.github.com>
Co-authored-by: Josh Hanson <hanjiexi@gmail.com>
Co-authored-by: attackgnome <attackgnome@users.noreply.github.com>
Co-authored-by: bradleygrant <bagvwf@gmail.com>
Co-authored-by: silential <silential@protonmail.com>
Co-authored-by: Uniminin <42061747+Uniminin@users.noreply.github.com>
Co-authored-by: Alaharon123 <34926441+Alaharon123@users.noreply.github.com>
Co-authored-by: Silent <64616976+Silential@users.noreply.github.com>
Co-authored-by: Tyler Miller <tyler.rw.miller@gmail.com>
Co-authored-by: Tanya Nevskaya <unparalloser@gmail.com>
Co-authored-by: Hanqiu Jiang <hanq.jiang@gmail.com>
Co-authored-by: licjon <67080615+licjon@users.noreply.github.com>
Co-authored-by: Jonathan Hustad <jonathanhustad@Jonathans-iMac.lan>
Co-authored-by: Henrick Kakutalua <henrykeys96@gmail.com>
Co-authored-by: Elahi-cs <67738959+Elahi-cs@users.noreply.github.com>
Co-authored-by: Josip Ćavar <josipcavar04@gmail.com>
Co-authored-by: Kye Davey <kye.j.davey@gmail.com>
Co-authored-by: Dody2 <44237371+Dody2@users.noreply.github.com>
Co-authored-by: Harsh <Harshnagarwal@yahoo.in>
Co-authored-by: azzsal <abdazizkrd@protonmail.com>
Co-authored-by: Rodi <rodi.centr@gmail.com>
Co-authored-by: NadaTElwazane <nadaelwazane@gmail.com>
Co-authored-by: Guilherme Marz Vazzolla <53506039+saerosV@users.noreply.github.com>
Co-authored-by: aayushsinha0706 <84586770+aayushsinha0706@users.noreply.github.com>
Co-authored-by: Nico Schlömer <nico.schloemer@gmail.com>
Co-authored-by: Dion Rigatos <dion.rigatos@gmail.com>
Co-authored-by: Matt Rieke <matt.rieke@gmail.com>
Co-authored-by: Nick Roma <nikoandpiko@gmail.com>
Co-authored-by: Ethan Deng <44384988+ethand605@users.noreply.github.com>
Co-authored-by: Mikhail Loginov <mikhailloginov@Mikhails-MacBook-Pro.local>
Co-authored-by: Eero Pomell <97628152+Password-and-authentication@users.noreply.github.com>
Co-authored-by: Justin Kim <justinkim943@gmail.com>
Co-authored-by: Ariston Lorenzo <4tl0renz0@gmail.com>
Co-authored-by: Maheshkumar P <67100964+Maheshkumar-novice@users.noreply.github.com>
Co-authored-by: Roman Bird <romanbird@gmx.com>
Co-authored-by: martin <66410356+MartinOvington@users.noreply.github.com>
Co-authored-by: anantav51 <34206594+anantav51@users.noreply.github.com>
Co-authored-by: Choubs01 <115124294+Choubs01@users.noreply.github.com>
Co-authored-by: Thái Hữu Trí <110210159+thaitri2005@users.noreply.github.com>
Co-authored-by: Rob <39163+robbrit@users.noreply.github.com>
Co-authored-by: Ariston Lorenzo <me@ariston.dev>
Co-authored-by: Pulkit Krishna <contact@virtualhub.eu.org>
Co-authored-by: zkv <kiryl.zhybul@gmail.com>
Co-authored-by: Avishek Sen <x0rzavi@gmail.com>
Co-authored-by: Budi_Ubuntu <abdelrahman.salah.dev@gmail.com>
Co-authored-by: Karim Safan <110535652+karim1safan@users.noreply.github.com>
Co-authored-by: karim1safan <iibdae.almubtadi@gmail.com>
Co-authored-by: Pablo Colturi Esteve <pcolturi@proton.me>
Co-authored-by: Yukai Chou <muzimuzhi@gmail.com>
Co-authored-by: Maru <clear6860@tutanota.com>
Co-authored-by: mgg143 <77564511+mgg143@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants