diff --git a/docs/computer-science/applications/gen-ai/index.md b/docs/computer-science/applications/gen-ai/index.md new file mode 100644 index 0000000..4886220 --- /dev/null +++ b/docs/computer-science/applications/gen-ai/index.md @@ -0,0 +1,25 @@ +--- +sidebar_position: 6 +--- + +# Foundation Models and Generative AI +*Timeline: 10 hours* + +- [Foundation Models and Generative AI](https://www.futureofai.mit.edu/) +- [Youtube Playlist](https://www.youtube.com/playlist?list=PLXV9Vh2jYcjbnv67sXNDJiO8MWLA3ZJKR) + +MIT Introductory Course on Foundation Models & Generative AI. Covering: + +- ChatGPT +- Stable-Diffusion & Dall-E +- Neural Networks +- Supervised Learning +- Representation & Unsupervised Learning +- Reinforcement Learning +- Generative AI +- Self-Supervised Learning +- Foundation Models +- GANs (adversarial) +- Contrastive Learning +- Auto-encoders +- Denoising & Diffusion diff --git a/docs/computer-science/applications/index.md b/docs/computer-science/applications/index.md index e46156b..8e62e70 100644 --- a/docs/computer-science/applications/index.md +++ b/docs/computer-science/applications/index.md @@ -3,7 +3,7 @@ sidebar_position: 9 --- # Applications -*Timeline: 429 - 491 hours* +*Timeline: 440 - 500 hours* import DocCardList from '@theme/DocCardList'; diff --git a/docs/computer-science/extras/courses.md b/docs/computer-science/extras/courses.md index b3d9201..7ecb7bf 100644 --- a/docs/computer-science/extras/courses.md +++ b/docs/computer-science/extras/courses.md @@ -74,6 +74,9 @@ Courses | Duration | Effort [Approximation Algorithms Part I](https://www.coursera.org/learn/approximation-algorithms-part-1/) | - | - [Approximation Algorithms Part II](https://www.coursera.org/learn/approximation-algorithms-part-2/) | - | - [Design And Analysis Of Algorithms](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/) | - | - +[MIT 6.034: Artificial Intelligence](https://ocw.mit.edu/courses/6-034-artificial-intelligence-fall-2010/) | - | - +[Georgia Tech Artificial Intelligence](https://omscs.gatech.edu/cs-6601-artificial-intelligence)
- [The course on Ed](https://edstem.org/us/join/gYPFtP) | - | - +[University of Illinois: AI systems](https://courses.grainger.illinois.edu/cs440/fa2024/schedule.html) | - | - ## Applications @@ -87,6 +90,8 @@ Courses | Duration | Effort [Big Data Science with the BD2K-LINCS Data Coordination and Integration Center](https://www.coursera.org/course/bd2klincs)| 7 weeks | 4-5 hours/week [UW-Madison CS 571](https://cs571.org/) | 16 weeks | 5-6 hours/week [GTx: Human-Computer Interaction](https://www.edx.org/learn/human-computer-interaction/the-georgia-institute-of-technology-human-computer-interaction-i-fundamentals-design-principles) | 6 weeks | 5-6 hours/week +[e-Lite Human Computer Interaction](https://elite.polito.it/teaching/02jsk-hci/info) | - | - +[e-Lite Human-AI Interaction](https://elite.polito.it/teaching/01ujuiu-haii/info) | - | - ## Tools diff --git a/docs/computer-science/extras/readings.md b/docs/computer-science/extras/readings.md index abbde1a..4af169a 100644 --- a/docs/computer-science/extras/readings.md +++ b/docs/computer-science/extras/readings.md @@ -73,6 +73,7 @@ Name | Author(s) [An Introduction to Information Retrieval](https://nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf) | Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze [Computer Science: An interdisciplinary approach](https://introcs.cs.princeton.edu/java/cs/) | Robert Sedgewick, Kevin Wayne [DSA CS3: Data Structures & Algorithms](https://opendsa-server.cs.vt.edu/OpenDSA/Books/CS3/html/) ([Coursenotes](https://opendsa-server.cs.vt.edu/OpenDSA/Books/CS3notes/html/) - [Slides](https://opendsa-server.cs.vt.edu/OpenDSA/Books/CS3slides/html/)) | The OpenDSA Project (supported by National Science Foundation) +[Artificial Intelligence: Foundations of Computational Agents, 3rd Edition](https://artint.info/3e/html/ArtInt3e.html) | David L. Poole and Alan K. Mackworth ## Applications diff --git a/docs/computer-science/index.md b/docs/computer-science/index.md index f782e70..11e0be3 100644 --- a/docs/computer-science/index.md +++ b/docs/computer-science/index.md @@ -140,7 +140,9 @@ Learn how computers actually works. You will build a simulated version of a comp *Prerequisites: [Discrete Math](./math/discrete-math/index.md), [Program Design](./program-design/index.md)* Get a perspective into why certain ways of solving a problem are better than others. Learn about complexity and theoretical limits of algorithms. Get an idea of what computers can or cannot do. These courses are the pillars of Computer Science. -- [Theory](./theory/index.md) + +- [Algorithms Illuminated](./theory/algorithms/index.md) +- [Introduction to Artificial Intelligence](./theory/ai/index.md) ### Ethics & Security @@ -167,6 +169,7 @@ Get to know how to use the skills you have learned apply to real world applicati - [User Interface Design & Implementation](./applications/hci/index.md) - [Computer Graphics](./applications/computer-graphics/index.md) - [Software Engineering](./applications/software-engineering/index.md) +- [Foundation Models and Generative AI](./applications/gen-ai/index.md) ## Advanced CS diff --git a/docs/computer-science/intro-cs/missing-semester/index.md b/docs/computer-science/intro-cs/missing-semester/index.md index eb15faa..71e8874 100644 --- a/docs/computer-science/intro-cs/missing-semester/index.md +++ b/docs/computer-science/intro-cs/missing-semester/index.md @@ -6,4 +6,7 @@ sidebar_position: 2 *Timeline: 24 hours* Understanding theory is important, but you will also be expected to create programs. There are a number of tools that are widely used to make that process easier. Learn them now to ease your future work writing programs. -- https://missing.csail.mit.edu/ + +- https://missing.csail.mit.edu/2020/ + +While there is a newer version of this course, we strongly suggest doing the 2020 version instead, as we believe it to be much better suited for our curriculum. diff --git a/docs/computer-science/theory/ai/index.md b/docs/computer-science/theory/ai/index.md new file mode 100644 index 0000000..08bb1f2 --- /dev/null +++ b/docs/computer-science/theory/ai/index.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 2 +--- + +# Introduction to Artificial Intelligence +*Timeline: 80 - 120 hours* + +This course provides an introduction to the full range of topics studied in artificial intelligence, with emphasis on the “core competences” of intelligent systems - problem solving, reasoning, decision making, and learning - and on the logical and probabilistic foundations of these activities. + +- [Course Website](https://inst.eecs.berkeley.edu/~cs188/fa25/) +- [Lectures Playlist](https://www.youtube.com/playlist?list=PLp8QV47qJEg614q1L8avhmWQPyIR5QOWq) +- [Information about Auditing](https://inst.eecs.berkeley.edu/~cs188/fa25/policies/#auditing) (including the Gradescope code for accessing homeworks) +- [Textbook](https://inst.eecs.berkeley.edu/~cs188/textbook/) ([PDF version](https://inst.eecs.berkeley.edu/~cs188/textbook/textbook_full.pdf)) diff --git a/docs/computer-science/theory/algorithms/index.md b/docs/computer-science/theory/algorithms/index.md new file mode 100644 index 0000000..0314c9d --- /dev/null +++ b/docs/computer-science/theory/algorithms/index.md @@ -0,0 +1,67 @@ +--- +sidebar_position: 1 +--- + +# Algorithms Illuminated +*Timeline: 64 - 128 hours* + +A full undergraduate-level introduction to the theory of algorithm design, algorithmic analysis, and data structures. + +Primary topics: divide and conquer sorting and searching randomized algorithms graph search shortest paths data structures greedy algorithms minimum spanning trees dynamic programming NP-completeness and more +- [Course website](https://www.algorithmsilluminated.org/) +- **Playlists:** + - [Part 1](https://www.youtube.com/playlist?list=PLXFMmlk03Dt7Q0xr1PIAriY5623cKiH7V) + - [Part 2](https://www.youtube.com/playlist?list=PLXFMmlk03Dt5EMI2s2WQBsLsZl7A5HEK6) +- [Programming problems and test cases](https://github.com/beaunus/stanford-algs/) +- [Discussion forums](https://algorithms.freeforums.net/) + +## How to run the test cases +- [General information](https://github.com/beaunus/stanford-algs/wiki/Using-Test-Cases) +- [Java](https://github.com/beaunus/stanford-algs/blob/master/tester/java/README.md) +- [PHP](https://github.com/beaunus/stanford-algs/blob/master/tester/php/README.MD) +- [Python](https://github.com/beaunus/stanford-algs/blob/master/tester/python3/README.md) +- [Shell (any programming language)](https://github.com/beaunus/stanford-algs/blob/master/tester/shell/README.md) + +## Roadmap +### Part 1 +- Watch 1.1-1.8 +- Do [Programming Assignment #1.1: Karatsuba Multiplication](https://github.com/beaunus/stanford-algs/tree/46a5ee9429a22d3545a51ce4b346e09e285ac5e0/testCases/course1/assignment1Multiplication) +- Watch 2.1-4.6 +- Do [Programming Assignment #1.2: Count Inversions](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/assignment2Inversions) +- Watch 5.1-6.3 +- Do [Programming Assignment #1.3: Quicksort](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/assignment3Quicksort) +- Watch 8.1-9.5 +- Do [Programming Assignment #1.4: Minimum Cut](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/assignment4MinCut) +- [Optional Theory Batch](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/optionalTheoryProblemsBatch1) +- Watch 10.1-10.9 +- Do [Programming Assignment #2.1: Strongly Connected Components](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment1SCC) +- Watch 11.1-12.3 +- Do [Programming Assignment #2.2: Dijkstra's Shortest Path](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment2Dijkstra) +- Watch 13.1-13.6 +- Do [Programming Assignment #2.3: Median Maintenance](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment3Median) +- Watch 14.1-16.2 +- Do [Programming Assignment #2.4: Two-Sum](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment4TwoSum) + +### Part 2 +- Watch 1-21 +- Do [Programming Assignment #3.1: Scheduling And Minimums Spanning Trees](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment1SchedulingAndMST) +- Watch 22-32 +- Do [Programming Assignment #3.2: Clustering](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment2Clustering) +- Watch 33-43 +- Do [Programming Assignment #3.3: Huffman And Maximum Weight Independent Sets](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment3HuffmanAndMWIS) +- Watch 44-48 +- Do [Programming Assignment #3.4: Knapsack](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment4Knapsack) +- Watch 49-67 +- Do [Programming Assignment #4.1: All Pairs Shortest Path](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment1AllPairsShortestPath) +- Watch 68-78 +- Do [Programming Assignment #4.2: Traveling Salesman](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment2TSP) +- Watch 79-84 +- Do [Programming Assignment #4.3: Traveling Salesman Heuristic](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment3TSPHeuristic) +- Watch 85-95 +- Do [Programming Assignment #4.4: 2SAT](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment4TwoSat) + +## Extra Resources +- Edx Algorithms: Design and Analysis [Part 1](https://www.edx.org/learn/algorithms/stanford-university-algorithms-design-and-analysis-part-1) and [Part 2](https://www.edx.org/learn/algorithms/stanford-university-algorithms-design-and-analysis-part-2) + Includes extra problem sets and theory problems like Coursera, but still with audit access. +- [Coursera Algorithms Specialization](https://www.coursera.org/specializations/algorithms) + For students that want access to extra theory problems as well as paid certificate. diff --git a/docs/computer-science/theory/index.md b/docs/computer-science/theory/index.md index 0413089..bd33f55 100644 --- a/docs/computer-science/theory/index.md +++ b/docs/computer-science/theory/index.md @@ -3,65 +3,8 @@ sidebar_position: 7 --- # Theory -*Timeline: 64 - 128 hours* +*Timeline: 144 - 248 hours* -A full undergraduate-level introduction to the theory of algorithm design, algorithmic analysis, and data structures. +import DocCardList from '@theme/DocCardList'; -Primary topics: divide and conquer sorting and searching randomized algorithms graph search shortest paths data structures greedy algorithms minimum spanning trees dynamic programming NP-completeness and more -- [Course website](https://www.algorithmsilluminated.org/) -- **Playlists:** - - [Part 1](https://www.youtube.com/playlist?list=PLXFMmlk03Dt7Q0xr1PIAriY5623cKiH7V) - - [Part 2](https://www.youtube.com/playlist?list=PLXFMmlk03Dt5EMI2s2WQBsLsZl7A5HEK6) -- [Programming problems and test cases](https://github.com/beaunus/stanford-algs/) -- [Discussion forums](https://algorithms.freeforums.net/) - -## How to run the test cases -- [General information](https://github.com/beaunus/stanford-algs/wiki/Using-Test-Cases) -- [Java](https://github.com/beaunus/stanford-algs/blob/master/tester/java/README.md) -- [PHP](https://github.com/beaunus/stanford-algs/blob/master/tester/php/README.MD) -- [Python](https://github.com/beaunus/stanford-algs/blob/master/tester/python3/README.md) -- [Shell (any programming language)](https://github.com/beaunus/stanford-algs/blob/master/tester/shell/README.md) - -## Roadmap -### Part 1 -- Watch 1.1-1.8 -- Do [Programming Assignment #1.1: Karatsuba Multiplication](https://github.com/beaunus/stanford-algs/tree/46a5ee9429a22d3545a51ce4b346e09e285ac5e0/testCases/course1/assignment1Multiplication) -- Watch 2.1-4.6 -- Do [Programming Assignment #1.2: Count Inversions](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/assignment2Inversions) -- Watch 5.1-6.3 -- Do [Programming Assignment #1.3: Quicksort](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/assignment3Quicksort) -- Watch 8.1-9.5 -- Do [Programming Assignment #1.4: Minimum Cut](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/assignment4MinCut) -- [Optional Theory Batch](https://github.com/beaunus/stanford-algs/tree/master/testCases/course1/optionalTheoryProblemsBatch1) -- Watch 10.1-10.9 -- Do [Programming Assignment #2.1: Strongly Connected Components](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment1SCC) -- Watch 11.1-12.3 -- Do [Programming Assignment #2.2: Dijkstra's Shortest Path](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment2Dijkstra) -- Watch 13.1-13.6 -- Do [Programming Assignment #2.3: Median Maintenance](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment3Median) -- Watch 14.1-16.2 -- Do [Programming Assignment #2.4: Two-Sum](https://github.com/beaunus/stanford-algs/tree/master/testCases/course2/assignment4TwoSum) - -### Part 2 -- Watch 1-21 -- Do [Programming Assignment #3.1: Scheduling And Minimums Spanning Trees](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment1SchedulingAndMST) -- Watch 22-32 -- Do [Programming Assignment #3.2: Clustering](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment2Clustering) -- Watch 33-43 -- Do [Programming Assignment #3.3: Huffman And Maximum Weight Independent Sets](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment3HuffmanAndMWIS) -- Watch 44-48 -- Do [Programming Assignment #3.4: Knapsack](https://github.com/beaunus/stanford-algs/tree/master/testCases/course3/assignment4Knapsack) -- Watch 49-67 -- Do [Programming Assignment #4.1: All Pairs Shortest Path](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment1AllPairsShortestPath) -- Watch 68-78 -- Do [Programming Assignment #4.2: Traveling Salesman](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment2TSP) -- Watch 79-84 -- Do [Programming Assignment #4.3: Traveling Salesman Heuristic](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment3TSPHeuristic) -- Watch 85-95 -- Do [Programming Assignment #4.4: 2SAT](https://github.com/beaunus/stanford-algs/tree/master/testCases/course4/assignment4TwoSat) - -## Extra Resources -- Edx Algorithms: Design and Analysis [Part 1](https://www.edx.org/learn/algorithms/stanford-university-algorithms-design-and-analysis-part-1) and [Part 2](https://www.edx.org/learn/algorithms/stanford-university-algorithms-design-and-analysis-part-2) - Includes extra problem sets and theory problems like Coursera, but still with audit access. -- [Coursera Algorithms Specialization](https://www.coursera.org/specializations/algorithms) - For students that want access to extra theory problems as well as paid certificate. +