Skip to content

Commit

Permalink
DM,ADS2,websites: Add resources on maths for CS
Browse files Browse the repository at this point in the history
  • Loading branch information
sglavoie committed Aug 1, 2021
1 parent dadabf5 commit 4c1a5fc
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 15 deletions.
3 changes: 3 additions & 0 deletions modules/level-4/cm-1020-discrete-mathematics/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,13 @@ One two hour unseen written examination and coursework (Type I)

### Additional reading

- :star: :3rd_place_medal: [Mathematics for Computer Science](https://uvacs2102.github.io/docs/mcs.pdf) - _"Proofs, Structures, Counting, Probability, Recurrences."_
- [A Guide to Writing Proofs](https://github.com/world-class/binary-assets/blob/master/modules/cm1020-dm/A_Guide_to_Writing_Proofs.pdf).
- [Book of Proof](http://www.people.vcu.edu/~rhammack/BookOfProof/BookOfProof.pdf) - _"Fundamentals, How to Prove Conditional Statements, More on Proof, Relations, Functions and Cardinality."_
- [Common Mistakes in Discrete Math](https://highered.mheducation.com/sites/0073383090/student_view0/common_mistakes_in_discrete_math.html) (from the companion website to the essential reading for the book _Discrete Mathematics and its Applications_).
- [Discrete Mathematics Questions and Answers](https://www.sanfoundry.com/1000-discrete-mathematics-questions-answers) - _"Our 1000+ Discrete Mathematics questions and answers focuses on all areas of Discrete Mathematics subject covering 100+ topics in Discrete Mathematics."_
- [Induction: going through examples (UoL students)](https://github.com/world-class/binary-assets/blob/master/modules/cm1020-dm/induction_example.pdf).
- [Lectures in discrete mathematics](http://cseweb.ucsd.edu/~gill/BWLectSite/) - _"Arithmetic, Logic and Numbers, Sets, Equivalence and Order, Lists, Decisions and Graphs."_
- [Matching (Graph Theory)](https://brilliant.org/wiki/matching) - _"Definition, terminology, bipartite matching, examples."_
- [Readings from MIT OpenCourseWare](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/) on proofs, graph theory, recurrences, probability.
- [Set Theory for Computer Science](https://github.com/world-class/binary-assets/blob/master/modules/cm1020-dm/set_theory_for_computer_science.pdf).
Expand Down
34 changes: 20 additions & 14 deletions modules/level-5/cm-2035-algorithms-and-data-structures-ii/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
[Go back to the main page](../../../README.md)

# Table of contents
### Table of contents

- [Table of contents](#table-of-contents)
- [Algorithms and Data Structures II](#algorithms-and-data-structures-ii)
- [Topics covered](#topics-covered)
- [Assessment](#assessment)
Expand All @@ -18,7 +17,7 @@

---

# Algorithms and Data Structures II
## Algorithms and Data Structures II

This module aims to provide you with detailed knowledge of several
common algorithms and data structures. You will improve your
Expand All @@ -34,7 +33,7 @@ and efficiency of algorithms.
You will be expected to have mastered the material in Algorithms and
Data Structures I before attempting this module.

# Topics covered
## Topics covered

- Complexity, growth of functions and big-O notation
- Stacks and queues
Expand All @@ -47,19 +46,19 @@ Data Structures I before attempting this module.
- Sets, maps and hash tables
- Collections

# Assessment
## Assessment

One two hour unseen written examination and coursework (Type I)

# Module specification
## Module specification

- [Module specification (September 2020)](https://github.com/world-class/binary-assets/blob/master/modules/module-specification/CM2035_ADS2-Module-Spec.pdf)

# Syllabus
## Syllabus

- [Syllabus PDF September 2020](https://github.com/world-class/binary-assets/blob/master/modules/syllabi/Syllabus_CM2035_ADS2.pdf)

# List of required reading
## List of required reading

Book - Cormen, T.H., C.E. Leiserson, R.L. Rivest and C. Stein Introduction to algorithms. (MIT Press, 2009) 3rd edition [ISBN 9780262533058].

Expand All @@ -83,23 +82,30 @@ Book - Cormen, T.H., C.E. Leiserson, R.L. Rivest and C. Stein Introduction to al
| 17 | Heaps, Heapsort and priority queues | Chapter 6 | pp. 151-69 |
| 19 | Graph representation, MST and Dijsktra | Ch.22- 22.1, Ch. 23, Ch 24-Ch. 24.3 | pp. 579-92, pp. 624-42, pp.658-66 |

# Resources
## Resources

## Complementary learning
### Complementary learning

- Courses

- [Algorithmic Design and Techniques](https://courses.edx.org/courses/course-v1:UCSanDiegoX+ALGS200x+2T2017/course) - _edX platform, by UC San Diego_
- [Algorithms Specialization](https://www.coursera.org/specializations/algorithms) - Coursera. Offered by Stanford. Includes:
- Divide and Conquer, Sorting and Searching, and Randomized Algorithms
- Graph Search, Shortest Paths, and Data Structures
- Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming
- Shortest Paths Revisited, NP-Complete Problems and What To Do About Them
- [Data Structures Fundamentals](https://courses.edx.org/courses/course-v1:UCSanDiegoX+ALGS201x+1T2019/course) - _edX platform, by UC San Diego_
- [Graph Algorithms](https://courses.edx.org/courses/course-v1:UCSanDiegoX+ALGS202x+2T2017/course) - _edX platform, by UC San Diego_

- Websites

- :star: [Mathematics for Computer Science](https://uvacs2102.github.io/docs/mcs.pdf) - _"Proofs, Structures, Counting, Probability, Recurrences."_
- [Algorithms in the "Real World" (2018)](http://www.cs.cmu.edu/~guyb/realworld.html) - Compression, error correcting codes, cryptography, parallel algorithms, locality and I/O efficient algorithms, indexing and searching, nearest neighbors, dimensionality reduction.
- [Comparison of Algorithms](https://en.wikipedia.org/wiki/Sorting_algorithm#Comparison_of_algorithms) - See time complexity at a glance for various popular algorithms.
- [Dictionary of Algorithms and Data Structures](https://xlinux.nist.gov/dads) - _"This is a dictionary of algorithms, algorithmic techniques, data structures, archetypal problems, and related definitions."_
- [Introduction to algorithms](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/) ([problem sets](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/assignments/)) - MIT OpenCourseWare.
- [Khan Academy - Algorithms](https://www.khanacademy.org/computing/computer-science/algorithms/) - _"We've partnered with Dartmouth college professors Tom Cormen and Devin Balkcom to teach introductory computer science algorithms, including searching, sorting, recursion, and graph theory. Learn with a combination of articles, visualizations, quizzes, and coding challenges."_
- [Readings from MIT OpenCourseWare (2015)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/) on proofs, graph theory, recurrences, probability.
- [Skiena's Algorithms Lectures](https://www3.cs.stonybrook.edu/~algorith/video-lectures/)

- Visualizations
Expand All @@ -117,18 +123,18 @@ Book - Cormen, T.H., C.E. Leiserson, R.L. Rivest and C. Stein Introduction to al
- [Introduction to algorithms](https://www.youtube.com/watch?v=0IAPZzGSbME&list=PLDN4rrl48XKpZkf03iYFl-O29szjTrs_O) (playlist) - Abdul Bari
- [Introduction to algorithms](https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb) (playlist) - MIT OpenCourseWare

## Mock exam
### Mock exam

- [Mock exam, 2020](https://github.com/world-class/binary-assets/blob/master/modules/cm2035-ads2/CM2035-ADS2_MOCK_Exam.pdf)

### Solutions shared by students
#### Solutions shared by students

- Solutions to the mock exam are available in this [Google Sheets document](https://docs.google.com/spreadsheets/d/1llp2ReT4yWXPnoM9vuJM5FtCZdSKhgbwe0CUsbUTVJA/edit?usp=sharing).

## :heart: Notes
### :heart: Notes

- Visit [this page of world-class/notes](https://github.com/world-class/notes/tree/master/level-5/algorithms-and-data-structures-ii).

## Solutions to the textbook Introduction to Algorithms
### Solutions to the textbook Introduction to Algorithms

- [CLRS Solutions](https://sites.math.rutgers.edu/~ajl213/CLRS/CLRS.html) - Michelle Bodnar, Andrew Lohr
4 changes: 3 additions & 1 deletion websites/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,9 @@

### Discrete mathematics

- [Readings from MIT OpenCourseWare](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/) on proofs, graph theory, recurrences, probability.
- [cs2102: Discrete Math](https://uvacs2102.github.io/) - _"Propositions and proofs, Proof methods (including proof by construction, contradiction, and induction), Logic (Boolean logic, logical formulas, quantifiers), Binary relations, State machines, Finite and infinite sets, Number theory, Counting techniques, Probability theory."_
- [Readings from MIT OpenCourseWare (2011)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/) on proofs, graph theory, recurrences, probability.
- [Readings from MIT OpenCourseWare (2015)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/) on proofs, graph theory, recurrences, probability.

#### Algorithms

Expand Down

0 comments on commit 4c1a5fc

Please sign in to comment.