From 71005a58af80e74cde9f54c747f84fdbd9aa514b Mon Sep 17 00:00:00 2001 From: Nathan Abraham <67236277+nathan-abraham@users.noreply.github.com> Date: Tue, 21 Jun 2022 11:34:49 -0400 Subject: [PATCH] Add links to scroll to top Since this README is very long, these buttons at the end of each section provide an easy way to scroll to the top so users can look at the table of contents again. --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index 7d85eeb..52dcc98 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Awesome CS Courses [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) +
Introduction ------------ @@ -193,6 +194,8 @@ Courses - [Homeworks](http://www.ece.cmu.edu/~ece447/s15/doku.php?id=homeworks) 7 HWs with answer set as well - [Readings](http://www.ece.cmu.edu/~ece447/s15/doku.php?id=readings) +

(back to top)

+ -------- ### Programming Languages / Compilers @@ -316,6 +319,8 @@ Courses - This module aims to teach students how to use the features of modern typed functional programming languages (e.g. OCaml, Haskell) to design and implement libraries and DSLs. It aims to demonstrate how such techniques can improve both correctness and efficiency. Students wishing to take the module should have some experience of a typed functional programming language and an understanding of type inference. - This particular session was taught by a prominent OCaml programmer, open Source contributor & author of real world OCaml - Dr Anil Madhavapeddy. +

(back to top)

+ ------- ### Algorithms @@ -416,6 +421,8 @@ Courses - [16s-4102](http://www.cs.virginia.edu/~shelat/16s-4102/) **Algorithms** *University of Virginia* Lecture Videos Assignments - [Lecture Videos & Homeworks](http://www.cs.virginia.edu/~shelat/16s-4102/) ([Youtube](https://www.youtube.com/channel/UCxXYk53cSZof2bR_Ax0uJYQ/videos)) +

(back to top)

+ ------- ### CS Theory @@ -484,6 +491,8 @@ Courses - [Lecture Notes](https://stellar.mit.edu/S/course/6/sp15/6.045/materials.html) - [Lecture Videos](http://stellar.mit.edu/S/course/6/sp15/6.045/special/videos/index.html) +

(back to top)

+ ------- ### Introduction to CS @@ -602,6 +611,7 @@ Courses - This course introduces fundamental principles and techniques of software development. Students learn how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; state machines; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. - [Lectures Notes/Assignments](http://web.mit.edu/6.005/www/fa16/) +

(back to top)

------- @@ -738,6 +748,8 @@ Topics covered include probability theory and Bayesian inference; univariate dis - [Practicals](http://uvadlc.github.io/#practicals) - [Readings](http://uvadlc.github.io/#other-links) +

(back to top)

+ ------- ### Security @@ -794,6 +806,8 @@ and anti-analysis techniques. - [18-636](https://courseware.stanford.edu/pg/courses/334553/18636-spring-2013) **Browser Security** *Stanford* Lecture Videos Lecture Notes - The Web continues to grow in popularity as platform for retail transactions, financial services, and rapidly evolving forms of communication. It is becoming an increasingly attractive target for attackers who wish to compromise users' systems or steal data from other sites. Browser vendors must stay ahead of these attacks by providing features that support secure web applications. This course will study vulnerabilities in existing web browsers and the applications they render, as well as new technologies that enable web applications that were never before possible. The material will be largely based on current research problems, and students will be expected to criticize and improve existing defenses. Topics of study include (but are not limited to) browser encryption, JavaScript security, plug-in security, sandboxing, web mashups, and authentication. +

(back to top)

+ ------- ### Artificial Intelligence @@ -817,6 +831,8 @@ and anti-analysis techniques. - [Assignments](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/assignments/) - [Readings](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/readings/) +

(back to top)

+ ------- ### Computer Graphics - [CAP 5415](http://crcv.ucf.edu/courses/CAP5415/) **Computer Vision** *University of Central Florida* Lecture Videos Lecture Notes Assignments @@ -856,6 +872,8 @@ and anti-analysis techniques. - Step-by-step study computer graphics, with reading and homework at each lecture (Fall2015) - [Lectures](https://mrl.nyu.edu/~perlin/courses/fall2015/) +

(back to top)

+ ------- ### Misc - [AM 207](http://am207.github.io/2016/index.html) **Monte Carlo Methods and Stochastic Optimization** *Harvard University* Lecture Videos Lecture Notes Assignments @@ -1008,3 +1026,5 @@ and anti-analysis techniques. - This is an introductory course on Networking for graduate students. It follows a top-down approach to teaching Computer Networks, so it starts with the Application layer which most of the students are familiar with and as the course unravels we learn more about transport, network and link layers of the protocol stack. - As far as prerequisites are concerned - basic computer, programming and probability theory background is required. - The course site contains links to the lecture videos, reading material and assignments. + +

(back to top)