3990 lines
246 KiB
HTML
3990 lines
246 KiB
HTML
<h1 id="awesome-cs-courses-awesome">Awesome CS Courses <a
|
||
href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<h2 id="introduction">Introduction</h2>
|
||
<p>There are a lot of <del>hidden</del> treasures lying within
|
||
university pages scattered across the internet. This list is an attempt
|
||
to bring to light those awesome CS courses which make their high-quality
|
||
materials, i.e. assignments, lectures, notes, readings and examinations,
|
||
available online for free.</p>
|
||
<h2 id="table-of-contents">Table of Contents</h2>
|
||
<ul>
|
||
<li><a href="#algorithms">Algorithms</a></li>
|
||
<li><a href="#artificial-intelligence">Artificial Intelligence</a></li>
|
||
<li><a href="#computer-graphics">Computer Graphics</a></li>
|
||
<li><a href="#cs-theory">CS Theory</a></li>
|
||
<li><a href="#introduction-to-cs">Introduction to CS</a></li>
|
||
<li><a href="#machine-learning">Machine Learning</a></li>
|
||
<li><a href="#misc">Misc</a></li>
|
||
<li><a href="#programming-languages--compilers">Programming Languages /
|
||
Compilers</a></li>
|
||
<li><a href="#security">Security</a></li>
|
||
<li><a href="#systems">Systems</a></li>
|
||
<li><a href="#statistics">Statistics / Regression</a></li>
|
||
</ul>
|
||
<h3 id="legend">Legend</h3>
|
||
<ul>
|
||
<li><img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
- Lecture Videos</li>
|
||
<li><img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Lecture Notes</li>
|
||
<li><img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- Assignments / Labs</li>
|
||
<li><img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- Readings</li>
|
||
</ul>
|
||
<h2 id="courses">Courses</h2>
|
||
<h3 id="systems">Systems</h3>
|
||
<ul>
|
||
<li><a href="http://www-inst.eecs.berkeley.edu/~cs61c/sp15/">CS 61C</a>
|
||
<strong>Great Ideas in Computer Architecture (Machine
|
||
Structures)</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The subjects covered in this course include: C and assembly language
|
||
programming, translation of high-level programs into machine language,
|
||
computer organization, caches, performance measurement, parallelism, CPU
|
||
design, warehouse-scale computing, and related topics.</li>
|
||
<li><a
|
||
href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iCl2-D-FS5mk0jFF6cYSJs_?sort=titleSorter">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://www-inst.eecs.berkeley.edu/~cs61c/sp15/#Calendar">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://www-inst.eecs.berkeley.edu/~cs61c/sp15/#Resources">Resources</a></li>
|
||
<li><a href="https://hkn.eecs.berkeley.edu/exams/course/CS/61C">Old
|
||
Exams</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courseware.stanford.edu/pg/courses/lectures/371747">CS
|
||
107</a> <strong>Computer Organization & Systems</strong>
|
||
<em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>CS107 is the third course in Stanford’s introductory programming
|
||
sequence. The course will work from the C programming language down to
|
||
the microprocessor to de-mystify the machine. With a complete
|
||
understanding of how computer systems execute programs and manipulate
|
||
data, you will become a more effective programmer, especially in dealing
|
||
with issues of debugging, performance, portability, and robustness.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PL08D9FA018A965057&spfreload=10">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://web.stanford.edu/class/cs107/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php">CS
|
||
140</a> <strong>Operating Systems</strong> <em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This class introduces the basic facilities provided in modern
|
||
operating systems. The course divides into three major sections. The
|
||
first part of the course discusses concurrency. The second part of the
|
||
course addresses the problem of memory management. The third major part
|
||
of the course concerns file systems.</li>
|
||
<li><a
|
||
href="http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/projects.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="https://6004.mit.edu/">6.004</a> <strong>Computation
|
||
Structures</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<ul>
|
||
<li>Introduces architecture of digital systems, emphasizing structural
|
||
principles common to a wide range of technologies. Multilevel
|
||
implementation strategies; definition of new primitives (e.g., gates,
|
||
instructions, procedures, processes) and their mechanization using
|
||
lower-level elements. Analysis of potential concurrency; precedence
|
||
constraints and performance measures; pipelined and multidimensional
|
||
systems. Instruction set design issues; architectural support for
|
||
contemporary software structures. 4 Engineering Design Points. 6.004
|
||
offers an introduction to the engineering of digital systems. Starting
|
||
with MOS transistors, the course develops of series of building blocks
|
||
logic gates, combinational and sequential circuits, finite-state
|
||
machines, computers and finally complete systems. Both hardware and
|
||
software mechanisms are explored through a series of design
|
||
examples.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=9DWlqtsNGV0&index=1&list=PLmP5iIyVnKPQ-cO_EENdUgEdlRf0u5LYa">Youtube
|
||
Playlist</a></li>
|
||
<li><a
|
||
href="http://computationstructures.org/notes/tradeoffs/notes.html">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://computationstructures.org/exercises/cmos/lab.html">Labs-Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://cs162.eecs.berkeley.edu/">CS 162</a>
|
||
<strong>Operating Systems and Systems Programming</strong> <em>UC
|
||
Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The purpose of this course is to teach the design of operating
|
||
systems and operating systems concepts that appear in other advanced
|
||
systems. Topics we will cover include concepts of operating systems,
|
||
systems programming, networked and distributed systems, and storage
|
||
systems, including multiple-program systems (processes, interprocess
|
||
communication, and synchronization), memory allocation (segmentation,
|
||
paging), resource allocation and scheduling, file systems, basic
|
||
networking (sockets, layering, APIs, reliability), transactions,
|
||
security, and privacy.
|
||
<ul>
|
||
<li>Operating Systems course by the Chair of EECS, UC Berkeley <a
|
||
href="http://www.cs.berkeley.edu/~culler/">David Culler</a></li>
|
||
<li><a
|
||
href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c">Lecture
|
||
Videos</a> Spring 2015 lectures</li>
|
||
<li><a href="https://inst.eecs.berkeley.edu/~cs162/sp15/">Lecture
|
||
Notes</a> Spring 2015 lectures</li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="https://inst.eecs.berkeley.edu/~cs168/fa14/">CS 168</a>
|
||
<strong>Introduction to the Internet: Architecture and
|
||
Protocols</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>This course is an introduction to the Internet architecture. We will
|
||
focus on the concepts and fundamental design principles that have
|
||
contributed to the Internet’s scalability and robustness and survey the
|
||
various protocols and algorithms used within this architecture. Topics
|
||
include layering, addressing, intradomain routing, interdomain routing,
|
||
reliable delivery, congestion control, and the core protocols (e.g.,
|
||
TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet,
|
||
wireless).</li>
|
||
<li><a
|
||
href="https://inst.eecs.berkeley.edu/~cs168/fa14/class.html">Lecture
|
||
Notes & Assignments</a></li>
|
||
<li><a href="https://inst.eecs.berkeley.edu/~cs168/fa14/">Discussion
|
||
Notes</a></li>
|
||
</ul></li>
|
||
<li><a href="http://courses.cms.caltech.edu/cs179/">CS 179</a>
|
||
<strong>GPU Programming</strong> <em>Caltech</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course will cover programming techniques for the GPU. The
|
||
course will introduce NVIDIA’s parallel computing language, CUDA. Beyond
|
||
covering the CUDA programming model and syntax, the course will also
|
||
discuss GPU architecture, high performance computing on GPUs, parallel
|
||
algorithms, CUDA libraries, and applications of GPU computing.</li>
|
||
<li><a href="http://courses.cms.caltech.edu/cs179/">Assignments</a></li>
|
||
<li><a href="http://courses.cms.caltech.edu/cs179/">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
<li><a href="https://sites.google.com/site/cs186spring2015/">CS 186</a>
|
||
<strong>Introduction to Database Systems</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>In the project assignments in CS186, you will write a basic database
|
||
management system called SimpleDB. For this project, you will focus on
|
||
implementing the core modules required to access stored data on disk; in
|
||
future projects, you will add support for various query processing
|
||
operators, as well as transactions, locking, and concurrent
|
||
queries.</li>
|
||
<li><a
|
||
href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBVK2QzAV-R7NMA1ZkaiR2y">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="https://sites.google.com/site/cs186fall2013/section-notes">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://sites.google.com/site/cs186fall2013/homeworks">Projects</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs241/sp2016/index.html">CS
|
||
241</a> <strong>Systems Programming (Spring 2016)</strong> <em>Univ of
|
||
Illinois, Urbana-Champaign</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>System programming refers to writing code that tasks advantage of
|
||
operating system support for programmers. This course is designed to
|
||
introduce you to system programming. By the end of this course, you
|
||
should be proficient at writing programs that take full advantage of
|
||
operating system support. To be concrete, we need to fix an operating
|
||
system and we need to choose a programming language for writing
|
||
programs. We chose the C language running on a Linux/UNIX operating
|
||
system (which implements the POSIX standard interface between the
|
||
programmer and the OS).</li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs241/sp2016/mps.html">Assignments</a></li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs241/sp2016/labs.html">Labs</a></li>
|
||
<li><a href="http://angrave.github.io/sys/#">Github Page</a></li>
|
||
<li><a href="https://github.com/angrave/SystemProgramming/wiki">Crowd
|
||
Sourced Book</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs425/fa2016/index.html">CS
|
||
425</a> <strong>Distributed Systems</strong> <em>Univ of Illinois,
|
||
Urbana-Champaign</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Brilliant set of lectures and reading material covering fundamental
|
||
concepts in distributed systems such as Vector clocks, Consensus and
|
||
Paxos. This is the 2016 version by Prof Indranil Gupta.</li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs425/fa2016/lectures.html">Lectures</a></li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs425/fa2016/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/">CS
|
||
452</a> <strong>Real-Time Programming</strong> <em>University of
|
||
Waterloo</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Write a real-time OS microkernel in C, and application code to
|
||
operate a model train set in response to real-time sensor information.
|
||
The communication with the train set runs at 2400 baud so it takes about
|
||
61 milliseconds to ask all of the sensors for data about the train’s
|
||
possible location. This makes it particularly challenging because a
|
||
train can move about 3 centimeters in that time. One of the most
|
||
challenging and time-consuming courses at the University of
|
||
Waterloo.</li>
|
||
<li><a
|
||
href="http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/assignments/index.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/notes/index.html">Lecture
|
||
notes</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS2043/2014sp/">CS
|
||
2043</a> <strong>Unix Tools & Scripting</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>UNIX-like systems are increasingly being used on personal computers,
|
||
mobile phones, web servers, and many other systems. They represent a
|
||
wonderful family of programming environments useful both to computer
|
||
scientists and to people in many other fields, such as computational
|
||
biology and computational linguistics, in which data is naturally
|
||
represented by strings. This course provides an intensive training to
|
||
develop skills in Unix command line tools and scripting that enable the
|
||
accomplishment and automation of large and challenging computing tasks.
|
||
The syllabus takes students from shell basics and piping, to
|
||
regular-expression processing tools, to shell scripting and Python.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS2043/2014sp/">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS2043/2014sp/">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS2043/2014sp/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/cs3410/2016fa/">CS
|
||
3410</a> <strong>Computer System Organization and Programming</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>CS3410 provides an introduction to computer organization, systems
|
||
programming and the hardware/software interface. Topics include
|
||
instruction sets, computer arithmetic, datapath design, data formats,
|
||
addressing modes, memory hierarchies including caches and virtual
|
||
memory, I/O devices, bus-based I/O systems, and multicore architectures.
|
||
Students learn assembly language programming and design a pipelined RISC
|
||
processor.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3410/2014sp/schedule.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3410/2014sp/schedule.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS4410/2014fa/">CS
|
||
4410</a> <strong>Operating Systems</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>CS 4410 covers systems programming and introductory operating system
|
||
design and implementation. We will cover the basics of operating
|
||
systems, namely structure, concurrency, scheduling, synchronization,
|
||
memory management, filesystems, security and networking. The course is
|
||
open to any undergraduate who has mastered the material in
|
||
CS3410/ECE3140.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4410/2014fa/slides/01-intro.pptx">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4410/2014fa/lectures.php">Lectures</a></li>
|
||
</ul></li>
|
||
<li><a href="http://rust-class.org/index.html">CS 4414</a>
|
||
<strong>Operating Systems</strong> <em>University of Virginia</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>A course (that) covers topics including: Analysis process
|
||
communication and synchronization; resource management; virtual memory
|
||
management algorithms; file systems; and networking and distributed
|
||
systems. The primary goal of this course is to improve your ability to
|
||
build scalable, robust and secure computing systems. It focuses on doing
|
||
that by understanding what underlies the core abstractions of modern
|
||
computer systems.</li>
|
||
<li><a
|
||
href="http://rust-class.org/pages/syllabus.html">Syllabus</a></li>
|
||
<li><a href="http://rust-class.org/pages/classes.html">Lectures</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/Courses/CS5412/2014sp/">CS
|
||
5412</a> <strong>Cloud Computing</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Taught by one of the stalwarts of this field, Prof Ken Birman, this
|
||
course has a fantastic set of slides that one can go through. The Prof’s
|
||
<a
|
||
href="http://www.amazon.com/Guide-Reliable-Distributed-Systems-High-Assurance/dp/1447124154">book</a>
|
||
is also a gem and recommended as a must read in Google’s tutorial on <a
|
||
href="http://www.hpcs.cs.tsukuba.ac.jp/~tatebe/lecture/h23/dsys/dsd-tutorial.html">Distributed
|
||
System Design</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/Courses/CS5412/2014sp/Syllabus.htm">Slides</a></li>
|
||
</ul></li>
|
||
<li><a href="http://comp.uark.edu/~wingning/csce3613/csce3613.html">CSCE
|
||
3613</a> <strong>Operating Systems</strong> <em>University of Arkansas
|
||
(Fayetteville)</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- An introduction to operating systems including topics in system
|
||
structures, process management, storage management, files, distributed
|
||
systems, and case studies.
|
||
<ul>
|
||
<li><a
|
||
href="http://comp.uark.edu/~wingning/csce3613/CSCE3613.pdf">Syllabus</a></li>
|
||
<li><a
|
||
href="http://comp.uark.edu/~wingning/csce3613/Homework3613.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://comp.uark.edu/~wingning/csce3613/CourseNote3613.html">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://comp.uark.edu/~wingning/csce3613/Link3613.html">Readings</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/index.html">CSCI-UA.0202:
|
||
Operating Systems (Undergrad)</a> <strong>Operating Systems</strong>
|
||
<em>NYU</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>NYU’s operating system course. It’s a fundamental course focusing
|
||
basic ideas of operating systems, including memory management, process
|
||
scheduling, file system, ect. It also includes some recommended reading
|
||
materials. What’s more, there are a series of hands-on lab materials,
|
||
helping you easily understand OS.</li>
|
||
<li><a
|
||
href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/labs.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/syllabus.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/exams.html">Old
|
||
Exams</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci360/csci360_f14.php">CSCI
|
||
360</a> <strong>Computer Architecture 3</strong> <em>CUNY Hunter
|
||
College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>A course that covers cache design, buses, memory hierarchies,
|
||
processor-peripheral interfaces, and multiprocessors, including
|
||
GPUs.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci493.66/csci493.66_spr12.php">CSCI
|
||
493.66</a> <strong>UNIX System Programming (formerly UNIX
|
||
Tools)</strong> <em>CUNY Hunter College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>A course that is mostly about writing programs against the UNIX API,
|
||
covering all of the basic parts of the kernel interface and libraries,
|
||
including files, processes, terminal control, signals, and
|
||
threading.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci493.65/csci493.65_spr14.php">CSCI
|
||
493.75</a> <strong>Parallel Computing</strong> <em>CUNY Hunter
|
||
College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>The course is an introduction to parallel algorithms and parallel
|
||
programming in C and C++, using the Message Passing Interface (MPI) and
|
||
the OpenMP application programming interface. It also includes a brief
|
||
introduction to parallel architectures and interconnection networks. It
|
||
is both theoretical and practical, including material on design
|
||
methodology, performance analysis, and mathematical concepts, as well as
|
||
details on programming using MPI and OpenMP.</li>
|
||
</ul></li>
|
||
<li><a href="https://www.ops-class.org/">Hack the Kernel</a>
|
||
<strong>Introduction to Operating Systems</strong> <em>SUNY University
|
||
at Buffalo, NY</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course is an introduction to operating system design and
|
||
implementation. We study operating systems because they are examples of
|
||
mature and elegant solutions to a difficult design problem: how to
|
||
safely and efficiently share system resources and provide abstractions
|
||
useful to applications.</li>
|
||
<li>For the processor, memory, and disks, we discuss how the operating
|
||
system allocates each resource and explore the design and implementation
|
||
of related abstractions. We also establish techniques for testing and
|
||
improving system performance and introduce the idea of hardware
|
||
virtualization. Programming assignments provide hands-on experience with
|
||
implementing core operating system components in a realistic development
|
||
environment. Course by <a
|
||
href="https://blue.cse.buffalo.edu/people/gwa/">Dr.Geoffrey
|
||
Challen</a></li>
|
||
<li><a
|
||
href="https://www.ops-class.org/courses/buffalo/CSE421_Spring2016/">Syllabus</a></li>
|
||
<li><a href="https://www.ops-class.org/slides/">Slides</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLE6LEE8y2Jp-kbEcVR2W3vfx0Pdca0BD3">Video
|
||
lectures</a></li>
|
||
<li><a href="https://www.ops-class.org/asst/0/">Assignments</a></li>
|
||
<li><a href="https://www.ops-class.org/exams/">Old Exams</a></li>
|
||
</ul></li>
|
||
<li><a href="http://patricklam.ca/p4p/">ECE 459</a> <strong>Programming
|
||
for Performance</strong> <em>University of Waterloo</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>Learn techniques for profiling, rearchitecting, and implementing
|
||
software systems that can handle industrial-sized inputs, and to design
|
||
and build critical software infrastructure. Learn performance
|
||
optimization through parallelization, multithreading, async I/O,
|
||
vectorization and GPU programming, and distributed computing.</li>
|
||
<li><a
|
||
href="https://github.com/patricklam/p4p-2015/tree/master/lectures">Lecture
|
||
slides</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://webpages.uncc.edu/~jmconrad/EducationalMaterials/index.html">ECGR4101/5101</a>
|
||
<strong>Embedded Systems using the Renesas RX63N Processor</strong>
|
||
<em>University of North Carolina at Charlotte</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Introduction to designing microcontroller-based embedded computer
|
||
systems using assembly and C programs. Examination of Real-time
|
||
Operating Systems and their impact on performance. Computer engineering
|
||
applications will be emphasized.</li>
|
||
<li>The goal of this course is to solidify and build upon a student’s
|
||
knowledge of computer organization by presenting hands-on experience
|
||
with microcontrollers. Students will also examine a few sensors that are
|
||
used in commercial and medical products and learn how to interface them
|
||
in a microcontroller system.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLPIqCiMhcdO5gxLJWt_hY5CPMzqg75IU5">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="https://webpages.uncc.edu/~jmconrad/EducationalMaterials/index.html">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
<li><a href="http://dcg.ethz.ch/lectures/podc_allstars/">PODC</a>
|
||
<strong>Principles of Distributed Computing</strong> <em>ETH-Zurich</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Explore essential algorithmic ideas and lower bound techniques,
|
||
basically the “pearls” of distributed computing in an easy-to-read set
|
||
of lecture notes, combined with complete exercises and solutions.</li>
|
||
<li><a
|
||
href="http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf">Book</a></li>
|
||
<li><a href="http://dcg.ethz.ch/lectures/podc_allstars/">Assignments and
|
||
Solutions</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://homes.cs.washington.edu/~djg/teachingMaterials/spac/">SPAC</a>
|
||
<strong>Parallelism and Concurrency</strong> <em>Univ of Washington</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Technically not a course nevertheless an awesome collection of
|
||
materials used by Prof Dan Grossman to teach parallelism and concurrency
|
||
concepts to sophomores at UWash</li>
|
||
</ul></li>
|
||
<li><a href="http://css.csail.mit.edu/6.824/2014/index.html">6.824</a>
|
||
<strong>Distributed Systems</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>MIT’s graduate-level DS course with a focus on fault tolerance,
|
||
replication, and consistency, all taught via awesome lab assignments in
|
||
Golang!</li>
|
||
<li><a href="http://css.csail.mit.edu/6.824/2014/labs/">Assignments</a>
|
||
- Just do
|
||
<code>git clone git://g.csail.mit.edu/6.824-golabs-2014 6.824</code></li>
|
||
<li><a
|
||
href="http://css.csail.mit.edu/6.824/2014/schedule.html">Readings</a></li>
|
||
</ul></li>
|
||
<li><a href="http://pdos.csail.mit.edu/6.828/2014/">6.828</a>
|
||
<strong>Operating Systems</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>MIT’s operating systems course focusing on the fundamentals of OS
|
||
design including booting, memory management, environments, file systems,
|
||
multitasking, and more. In a series of lab assignments, you will build
|
||
JOS, an OS exokernel written in C.</li>
|
||
<li><a
|
||
href="http://pdos.csail.mit.edu/6.828/2014/labguide.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://pdos.csail.mit.edu/6.828/2014/schedule.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://pdos.csail.mit.edu/6.828/2011/schedule.html">Videos</a>
|
||
Note: These are student recorded cam videos of the 2011 course. The
|
||
videos explain a lot of concepts required for the labs and
|
||
assignments.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://courses.cs.washington.edu/courses/csep552/16wi/">CSEP
|
||
552</a> <strong>Distributed Systems</strong> <em>University of
|
||
Washington</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CSEP552 is a graduate course on distributed systems. Distributed
|
||
systems have become central to many aspects of how computers are used,
|
||
from web applications to e-commerce to content distribution. This course
|
||
will cover abstractions and implementation techniques for the
|
||
construction of distributed systems, including client server computing,
|
||
the web, cloud computing, peer-to-peer systems, and distributed storage
|
||
systems. Topics will include remote procedure call, maintaining
|
||
consistency of distributed state, fault tolerance, high availability,
|
||
and other topics. As we believe the best way to learn the material is to
|
||
build it, there will be a series of hands-on programming projects.</li>
|
||
<li><a
|
||
href="http://courses.cs.washington.edu/courses/csep552/13sp/video/">Lectures</a>
|
||
of a previous session are available to watch.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cmu.edu/~213/">15-213</a>
|
||
<strong>Introduction to Computer Systems (ICS)</strong>
|
||
<em>Carnegie-Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>The ICS course provides a programmer’s view of how computer systems
|
||
execute programs, store information, and communicate. It enables
|
||
students to become more effective programmers, especially in dealing
|
||
with issues of performance, portability and robustness. It also serves
|
||
as a foundation for courses on compilers, networks, operating systems,
|
||
and computer architecture, where a deeper understanding of systems-level
|
||
issues is required. Topics covered include: machine-level code and its
|
||
generation by optimizing compilers, performance evaluation and
|
||
optimization, computer arithmetic, memory organization and management,
|
||
networking technology and protocols, and supporting concurrent
|
||
computation.</li>
|
||
<li>This is the must-have course for everyone in CMU who wants to learn
|
||
some computer science no matter what major are you in. Because it’s CMU
|
||
(The course number is as same as the zip code of CMU)!</li>
|
||
<li><a href="http://www.cs.cmu.edu/~213/schedule.html">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22">Videos</a></li>
|
||
<li><a
|
||
href="http://csapp.cs.cmu.edu/public/labs.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html">15-319/619</a>
|
||
<strong>Cloud Computing (ICS)</strong> <em>Carnegie-Mellon
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>This project-based on-line course focuses on skill building across
|
||
various aspects of cloud computing. We cover conceptual topics and
|
||
provide hands-on experience through projects utilizing public cloud
|
||
infrastructures (Amazon Web Services (AWS), Microsoft Azure and Google
|
||
Cloud Platform (GCP)). The adoption of cloud computing services
|
||
continues to grow across a variety of organizations and in many domains.
|
||
Simply, cloud computing is the delivery of computing as a service over a
|
||
network, whereby distributed resources and services are rented, rather
|
||
than owned, by an end user as a utility.</li>
|
||
<li>For the projects, students will work with Amazon Web Services,
|
||
Microsoft Azure and Google Cloud Platform, use them to rent and
|
||
provision compute resources and then program and deploy applications
|
||
that run on these resources. Students will develop and evaluate virtual
|
||
machine (VM) and container scaling, elasticity and load balancing
|
||
solutions. In addition, students will work with cloud storage systems
|
||
and learn to develop different applications using batch, iterative and
|
||
stream processing frameworks. 15-619 students will have to complete an
|
||
extra project which entails designing and implementing a complete
|
||
web-service solution for querying big data. For the extra project, the
|
||
student teams are evaluated based on the cost and performance of their
|
||
web service.</li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html">Videos</a></li>
|
||
</ul></li>
|
||
<li><a href="https://www.cs.cmu.edu/~410/">15-410</a> <strong>Operating
|
||
System Design and Implementation</strong> <em>Carnegie-Mellon
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>This awesome course covers some fundamental topics of operating
|
||
system, such as process model, virtual memory concurrency, threads,
|
||
locking, interrupts, preemptibility, race conditions. It also covers
|
||
introductory understanding of typical OS topics (file systems,
|
||
transactions, scheduling, security concepts and technologies, memory
|
||
consistency)Parallel programming models / frameworks.</li>
|
||
<li><a href="https://www.cs.cmu.edu/~410/lecture.html">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://www.cs.cmu.edu/~410/p1/proj1.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://15418.courses.cs.cmu.edu/spring2015/">15-418</a>
|
||
<strong>Parallel Computer Architecture and Programming</strong>
|
||
<em>Carnegie-Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The goal of this course is to provide a deep understanding of the
|
||
fundamental principles and engineering trade-offs involved in designing
|
||
modern parallel computing systems as well as to teach parallel
|
||
programming techniques necessary to effectively utilize these machines.
|
||
Because writing good parallel programs requires an understanding of key
|
||
machine performance characteristics, this course will cover both
|
||
parallel hardware and software design.</li>
|
||
<li><a
|
||
href="http://15418.courses.cs.cmu.edu/spring2015/exercises">Assignments</a></li>
|
||
<li><a href="http://15418.courses.cs.cmu.edu/spring2015/reading">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22a5862643-2416-49ef-b46b-13465d1b6df0%22">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://15418.courses.cs.cmu.edu/spring2015/reading">Readings</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~dga/15-440/F12/index.html">15-440</a>
|
||
<strong>Distributed Systems</strong> <em>Carnegie-Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Introduction to distributed systems with a focus on teaching
|
||
concepts via projects implemented in the Go programming language.</li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~dga/15-440/F12/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://15721.courses.cs.cmu.edu/spring2016/">15-721</a>
|
||
<strong>Database Systems</strong> <em>Carnegie-Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course is a comprehensive study of the internals of modern
|
||
database management systems. It will cover the core concepts and
|
||
fundamentals of the components that are used in both high-performance
|
||
transaction processing systems (OLTP) and large-scale analytical systems
|
||
(OLAP). The class will stress both efficiency and correctness of the
|
||
implementation of these ideas. All class projects will be in the context
|
||
of a real in-memory, multi-core database system. The course is
|
||
appropriate for graduate students in software systems and for advanced
|
||
undergraduates with strong systems programming skills.</li>
|
||
<li><a
|
||
href="http://15721.courses.cs.cmu.edu/spring2016/syllabus.html">Assignments</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLSE8ODhjZXjbisIGOepfnlbfxeH7TW-8O">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://15721.courses.cs.cmu.edu/spring2016/schedule.html">Readings</a></li>
|
||
</ul></li>
|
||
<li><a href="http://15445.courses.cs.cmu.edu/fall2017/">15-445/645</a>
|
||
<strong>Database Systems</strong> <em>Carnegie-Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course covers fundamental topics of DBMS, compared to CMU
|
||
15-721.</li>
|
||
<li><a
|
||
href="http://15445.courses.cs.cmu.edu/fall2017/assignments.html">Assignments</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLSE8ODhjZXjYutVzTeAds8xUt1rcmyT7x">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://15445.courses.cs.cmu.edu/fall2017/schedule.html">Readings</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.andrew.cmu.edu/course/15-749/">15-749</a>
|
||
<strong>Engineering Distributed Systems</strong> <em>Carnegie-Mellon
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>A project focused course on Distributed Systems with an awesome list
|
||
of readings</li>
|
||
<li><a
|
||
href="http://www.andrew.cmu.edu/course/15-749/READINGS/">Readings</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=start">18-447</a>
|
||
<strong>Introduction to Computer Architecture</strong> <em>CMU</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Very comprehensive material on Computer Architecture - definitely
|
||
more than just “introduction”. Online material is very user-friendly,
|
||
even the recitation videos available online. This is the Spring’15
|
||
version by Prof. <a href="http://users.ece.cmu.edu/~omutlu/">Onur
|
||
Mutlu</a></li>
|
||
<li><a
|
||
href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=schedule">Lectures
|
||
and Recitation</a></li>
|
||
<li><a
|
||
href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=homeworks">Homeworks</a>
|
||
7 HWs with answer set as well</li>
|
||
<li><a
|
||
href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=readings">Readings</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
<table style="width:12%;">
|
||
<colgroup>
|
||
<col style="width: 12%" />
|
||
</colgroup>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>### Programming Languages / Compilers</td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td>- <a
|
||
href="https://www.cs.swarthmore.edu/~jpolitz/cs75/s16/index.html">CS
|
||
75</a> <strong>Principles of Compiler Design</strong> <em>Swathmore
|
||
College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Modelled after the influential paper on <a
|
||
href="http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf">incremental
|
||
approach to compiler design</a>, this course teaches how to build a
|
||
compiler in OCaml - <a
|
||
href="https://github.com/compilers-course-materials">Course on
|
||
Github</a> - <a
|
||
href="https://github.com/compilers-course-materials/cs75-s16-lectures">Notes</a>
|
||
- <a
|
||
href="https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/index.html">CS
|
||
91</a> <strong>Introduction to Programming Languages</strong>
|
||
<em>Swathmore College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- Uses the <a href="https://www.pyret.org/">Pyret</a> programming
|
||
language & <a href="http://papl.cs.brown.edu/2014/">PAPL</a> book to
|
||
understand the fundamentals of programming languages. - <a
|
||
href="https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/s_labs.html">Labs</a>
|
||
- <a href="http://www.seas.upenn.edu/~cis194/">CIS 194</a>
|
||
<strong>Introduction to Haskell</strong> <em>Penn Engineering</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Explore the joys of functional programming, using Haskell as a
|
||
vehicle. The aim of the course will be to allow you to use Haskell to
|
||
easily and conveniently write practical programs. - <a
|
||
href="http://www.seas.upenn.edu/~cis194/spring13/index.html">Previous</a>
|
||
semester also available, with more exercises - <a
|
||
href="http://cis198-2016s.github.io/">CIS 198</a> <strong>Rust
|
||
Programming</strong> <em>UPenn</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- This course covers what makes Rust so unique and applies it to
|
||
practical systems programming problems. Topics covered include traits
|
||
and generics; memory safety (move semantics, borrowing, and lifetimes);
|
||
Rust’s rich macro system; closures; and concurrency. - <a
|
||
href="https://github.com/cis198-2016s/homework">Assignments</a> - <a
|
||
href="http://www.cs.umd.edu/class/spring2015/cmsc430/">CMSC 430</a>
|
||
<strong>Introduction to Compilers</strong> <em>Univ of Maryland</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- The goal of CMSC 430 is to arm students with the ability to design,
|
||
implement, and extend a programming language. Throughout the course,
|
||
students will design and implement several related languages, and will
|
||
explore parsing, syntax querying, dataflow analysis, compilation to
|
||
bytecode, type systems, and language interoperation. - <a
|
||
href="http://www.cs.umd.edu/class/spring2015/cmsc430/Schedule.html">Lecture
|
||
Notes</a> - <a
|
||
href="http://www.cs.umd.edu/class/spring2015/cmsc430/Projects.html">Assignments</a>
|
||
- <a href="https://pradella.faculty.polimi.it/PL.html">Corsopl</a>
|
||
<strong>Principles of Programming Languages</strong> <em>Politecnico di
|
||
Milano</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Lecture Notes
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- Readings - This course gives an overview of Scheme, Haskell and Erlang
|
||
while analyzing the languages’ similarities and differences. As a
|
||
result, many important/prevalent concepts and how they manifest
|
||
differently in different programming languages are explained. Among
|
||
these are (purely) functional programming, object orientation, type
|
||
inference and evaluation order. - Thorough introduction to functional
|
||
programming with no preknowledge in any functional language required. -
|
||
<a
|
||
href="http://www.cs.princeton.edu/~dpw/courses/cos326-12/info.php">COS
|
||
326</a> <strong>Functional Programming</strong> <em>Princeton
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Covers functional programming concepts like closures, tail-call
|
||
recursion & parallelism using the OCaml programming language - <a
|
||
href="http://www.cs.princeton.edu/~dpw/courses/cos326-12/lectures.php">Lectures</a>
|
||
- <a
|
||
href="http://www.cs.princeton.edu/~dpw/courses/cos326-12/assignments.php">Assignments</a>
|
||
- <a href="https://web.stanford.edu/class/cs143/">CS 143</a>
|
||
<strong>Compiler construction</strong> <em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- CS143 is a Stanford’s course in the practical and theoretical aspects
|
||
of compiler construction. - <a
|
||
href="https://web.stanford.edu/class/cs143/">Home</a> - <a
|
||
href="https://web.stanford.edu/class/cs143/syllabus.html">Syllabus</a> -
|
||
<a href="https://web.stanford.edu/class/cs143/">Lectures</a> - <a
|
||
href="https://web.stanford.edu/class/cs143/">Assignments</a> - <a
|
||
href="http://www.keithschwarz.com/cs143/WWW/sum2011/">CS143 - 2011</a> -
|
||
<a href="https://sites.google.com/a/bodik.org/cs164/home">CS 164</a>
|
||
<strong>Hack your language!</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Introduction to programming languages by designing and implementing
|
||
domain-specific languages. - <a
|
||
href="https://archive.org/details/ucberkeley-webcast-PL3A16CFC42CA6EF4F">Lecture
|
||
Videos</a> - <a href="https://bitbucket.org/cs164_overlord/">Code for
|
||
Assignments</a> - <a href="http://cs.brown.edu/courses/cs173/2014/">CS
|
||
173</a> <strong>Programming Languages</strong> <em>Brown University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- Course by Prof. Krishnamurthi (author of <a
|
||
href="http://htdp.org/2003-09-26/Book/">HtDP</a>) and numerous other <a
|
||
href="http://cs.brown.edu/courses/cs173/2012/book/">awesome</a> <a
|
||
href="http://papl.cs.brown.edu/2014/index.html">books</a> on programming
|
||
languages. Uses a custom designed <a
|
||
href="http://www.pyret.org/">Pyret</a> programming language to teach the
|
||
concepts. There was an <a
|
||
href="http://cs.brown.edu/courses/cs173/2012/OnLine/">online class</a>
|
||
hosted in 2012, which includes all lecture videos for you to enjoy. - <a
|
||
href="http://cs.brown.edu/courses/cs173/2012/Videos/">Videos</a> - <a
|
||
href="http://cs.brown.edu/courses/cs173/2014/assignments.html">Assignments</a>
|
||
- <a
|
||
href="https://www.classes.cs.uchicago.edu/archive/2016/winter/22300-1/">CS
|
||
223</a> <strong>Purely Functional Data Structures In Elm</strong>
|
||
<em>University of Chicago</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- This course teaches functional reactive programming and purely
|
||
functional data structures based on Chris Okazaki’s book and using the
|
||
Elm programming language. - <a
|
||
href="https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/Schedule.html">Lectures</a>
|
||
- <a
|
||
href="https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/Schedule.html">Assignments</a>
|
||
- <a href="http://www.scs.stanford.edu/14sp-cs240h/">CS 240h</a>
|
||
<strong>Functional Systems in Haskell</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Building software systems in Haskell - <a
|
||
href="http://www.scs.stanford.edu/14sp-cs240h/slides/">Lecture
|
||
Slides</a> - 3 Assignments: <a
|
||
href="http://www.scs.stanford.edu/14sp-cs240h/labs/lab1.html">Lab1</a>,
|
||
<a
|
||
href="http://www.scs.stanford.edu/14sp-cs240h/labs/lab2.html">Lab2</a>,
|
||
<a
|
||
href="http://www.scs.stanford.edu/14sp-cs240h/labs/lab3.html">Lab3</a> -
|
||
<a href="https://courses.engr.illinois.edu/cs421/fa2014/">CS 421</a>
|
||
<strong>Programming Languages and Compilers</strong> <em>Univ of
|
||
Illinois, Urbana-Champaign</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
Course that uses OCaml to teach functional programming and programming
|
||
language design. - <a
|
||
href="https://courses.engr.illinois.edu/cs421/fa2014/lectures/index.html">Lectures</a>
|
||
- <a
|
||
href="http://recordings.engineering.illinois.edu/ess/portal/section/631edaeb-2a33-4537-b7c8-0c1cba783a4f">Videos</a>
|
||
- <a
|
||
href="https://courses.engr.illinois.edu/cs421/fa2014/mps/index.html">Assignments</a>
|
||
- <a
|
||
href="https://courses.engr.illinois.edu/cs421/fa2014/exams/index.html">Exams</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/Courses/cs3110/2014fa/course_info.php">CS
|
||
3110</a> <strong>Data Structures and Functional Programming</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Another course that uses OCaml to teach alternative programming
|
||
paradigms, especially functional and concurrent programming. - <a
|
||
href="http://www.cs.cornell.edu/Courses/cs3110/2014fa/lecture_notes.php">Lecture
|
||
Slides</a> - <a
|
||
href="http://www.cs.cornell.edu/Courses/cs3110/2014fa/">Assignments</a>
|
||
- <a href="http://www.cs.cornell.edu/courses/CS4120/2013fa/">CS 4120</a>
|
||
<strong>Introduction to Compilers</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- An introduction to the specification and implementation of modern
|
||
compilers. Topics covered include lexical scanning, parsing, type
|
||
checking, code generation and translation, an introduction to
|
||
optimization, and compile-time and run-time support for modern
|
||
programming languages. As part of the course, students build a working
|
||
compiler for an object-oriented language. - <a
|
||
href="http://www.cs.cornell.edu/courses/CS4120/2013fa/overview.html">Syllabus</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/courses/CS4120/2013fa/schedule.html">Lectures</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/courses/CS4120/2013fa/homework.html">Assignments</a>
|
||
- <a href="https://pl.barzilay.org/">CS 4400</a> <strong>Programming
|
||
Languages</strong> <em>Northeastern University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- This is a course on the study, design, and implementation of
|
||
programming languages. - The course works at two simultaneous levels:
|
||
first, we will use a programming language that can demonstrate a wide
|
||
variety of programming paradigms. Second, using this language, we will
|
||
learn about the mechanics behind programming languages by implementing
|
||
our own language(s). The two level approach usually means that we will
|
||
often see how to use a certain feature, and continue by implementing it.
|
||
- <a href="https://pl.barzilay.org/syllabus.html">Syllabus</a> - <a
|
||
href="https://pl.barzilay.org/resources.html">Lecture
|
||
Notes/Resources</a> - <a
|
||
href="http://www.cs.virginia.edu/~weimer/4610/">CS 4610</a>
|
||
<strong>Programming Languages and Compilers</strong> <em>University of
|
||
Virginia</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Course that uses OCaml to teach functional programming and programming
|
||
language design. Each assignment is a part of an interpreter and
|
||
compiler for an object-oriented language similar to Java, and you are
|
||
required to use a different language for each assignment (i.e., choose 4
|
||
from Python, JS, OCaml, Haskell, Ruby). - <a
|
||
href="http://www.cs.virginia.edu/~weimer/4610/lectures.html">Lecture
|
||
Notes</a> - <a
|
||
href="http://www.cs.virginia.edu/~weimer/4610/pa.html">Assignments</a> -
|
||
<a href="http://www.cs.cornell.edu/courses/CS5114/2013sp/index.php">CS
|
||
5114</a> <strong>Network Programming Languages</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- This course provides an introduction to the languages used to program
|
||
computer networks. It will examine recent proposals based on logic,
|
||
functional, and distributed languages, as well as tools for establishing
|
||
correctness using automatic solvers, model checkers, and proof
|
||
assistants. - <a
|
||
href="http://www.cs.cornell.edu/courses/CS5114/2013sp/syllabus.php">Syllabus</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/courses/CS5114/2013sp/syllabus.php">Lectures</a>
|
||
- <a href="http://www.cs.cornell.edu/courses/CS5142/2013fa/">CS 5142</a>
|
||
<strong>Scripting Languages</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- Perl, PHP, JavaScript, VisualBasic – they are often-requested skills
|
||
for employment, but most of us do not have the time to find out what
|
||
they are all about. In this course, you learn how to use scripting
|
||
languages for rapid prototyping, web programming, data processing, and
|
||
application extension. Besides covering traditional programming
|
||
languages concepts as they apply to scripting (e.g., dynamic typing and
|
||
scoping), this course looks at new concepts rarely found in traditional
|
||
languages (e.g., string interpolation, hashes, and polylingual code).
|
||
Through a series of small projects, you use different languages to
|
||
achieve programming tasks that highlight the strengths and weaknesses of
|
||
scripting. As a side effect, you practice teaching yourself new
|
||
languages. - <a
|
||
href="http://www.cs.cornell.edu/courses/CS5142/2013fa/">Syllabus</a> -
|
||
<a
|
||
href="http://www.cs.cornell.edu/courses/CS5142/2013fa/#schedule">Lectures</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/courses/CS5142/2013fa/#schedule">Assignments</a>
|
||
- <a href="http://matt.might.net/teaching/compilers/spring-2015/">CS
|
||
5470</a> <strong>Compilers</strong> <em>University of Utah</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- If you’re a fan of Prof Matt’s writing on his <a
|
||
href="http://matt.might.net/articles/">fantastic blog</a> you ought to
|
||
give this a shot. The course covers the design and implementation of
|
||
compilers, and it explores related topics such as interpreters, virtual
|
||
machines and runtime systems. Aside from the Prof’s witty take on <a
|
||
href="http://matt.might.net/teaching/compilers/spring-2015/#collaboration">cheating</a>
|
||
the page has tons of interesting links on programming languages, parsing
|
||
and compilers. - <a
|
||
href="https://www.dropbox.com/sh/zanwtoflw4pcfu8/5pdT6axS3y">Lecture
|
||
Notes</a> - <a
|
||
href="http://matt.might.net/teaching/compilers/spring-2015/#projects">Projects</a>
|
||
- <a href="http://www.cs.cornell.edu/courses/CS6118/2012fa/">CS 6118</a>
|
||
<strong>Types and Semantics</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- Types and Semantics is about designing and understand programming
|
||
languages, whether they be domain specific or general purpose. The goal
|
||
of this class is to provide a variety of tools for designing custom
|
||
(programming) languages for whatever task is at hand. Part of that will
|
||
be a variety of insights on how languages work along with experiences
|
||
from working with academics and industry on creating new languages such
|
||
as Ceylon and Kotlin. The class focuses on types and semantics and the
|
||
interplay between them. This means category theory and constructive type
|
||
theory (e.g. Coq and richer variations) are ancillary topics of the
|
||
class. The class also covers unconventional semantic domains such as
|
||
classical linear type theory in order to both break students from
|
||
conventional thinking and to provide powerful targets capable of
|
||
formalizing thinks like networking protocols, resource-sensitive
|
||
computation, and concurrency constructs. The class project is to design
|
||
and formalize a (programming) language for a purpose of the student’s
|
||
choosing, and assignments are designed to ensure students have had a
|
||
chance to practice applying the techniques learned in class before
|
||
culminating these skills in the class project. - <a
|
||
href="http://www.cs.cornell.edu/courses/CS6118/2012fa/">Syllabus</a> -
|
||
<a href="http://www.cs.cornell.edu/courses/CS6118/2012fa/">Lectures</a>
|
||
- <a href="http://pgbovine.net/cpython-internals.htm">CSC 253</a>
|
||
<strong>CPython internals: A ten-hour codewalk through the Python
|
||
interpreter source code</strong> <em>University of Rochester</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- Nine lectures walking through the internals of CPython, the canonical
|
||
Python interpreter implemented in C. They were from the <em>Dynamic
|
||
Languages and Software Development</em> course taught in Fall 2014 at
|
||
the University of Rochester. - <a
|
||
href="http://courses.cs.washington.edu/courses/cse341/16sp/">CSE 341</a>
|
||
<strong>Programming Languages</strong> <em>University of Washington</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Covers non-imperative paradigms and languages such as Ruby, Racket,
|
||
and ML and the fundamentals of programming languages. - <a
|
||
href="https://courses.cs.washington.edu/courses/cse341/16sp/#lectures">Lectures
|
||
and Videos</a> - <a
|
||
href="https://courses.cs.washington.edu/courses/cse341/16sp/#homeworks">Assignments
|
||
and Tests</a> - <a
|
||
href="http://courses.cs.washington.edu/courses/csep501/09au/lectures/video.html">CSE
|
||
P 501</a> <strong>Compiler Construction</strong> <em>University of
|
||
Washington</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- Teaches understanding of how a modern compiler is structured and the
|
||
major algorithms that are used to translate code from high-level to
|
||
machine language. The best way to do this is to actually build a working
|
||
compiler, so there will be a significant project to implement one that
|
||
translates programs written in a core subset of Java into executable x86
|
||
assembly language. The compilers themselves will use scanner and parser
|
||
generator tools and the default implementation language is Java. - <a
|
||
href="http://courses.cs.washington.edu/courses/csep501/09au/lectures/video.html">Lectures</a>
|
||
- <a
|
||
href="http://courses.cs.washington.edu/courses/csep501/09au/homework/index.html">Assignments,
|
||
Tests, and Solutions</a> - <a
|
||
href="http://cs.wheaton.edu/~tvandrun/dmfp/">DMFP</a> <strong>Discrete
|
||
Mathematics and Functional Programming</strong> <em>Wheaton College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- A course that teaches discrete maths concepts with functional
|
||
programming - <a href="http://cs.wheaton.edu/~tvandrun/dmfp/">Lecture
|
||
Videos</a> - <a
|
||
href="http://cs.wheaton.edu/~tvandrun/dmfp/source.html">Assignments</a>
|
||
- <a href="http://www.itu.dk/people/sestoft/itu/PCPP/E2015/">PCPP</a>
|
||
<strong>Practical Concurrent and Parallel Programming</strong> <em>IT
|
||
University of Copenhagen</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- In this MSc course you learn how to write correct and efficient
|
||
concurrent and parallel software, primarily using Java, on standard
|
||
shared-memory multicore hardware. - The course covers basic mechanisms
|
||
such as threads, locks and shared memory as well as more advanced
|
||
mechanisms such as parallel streams for bulk data, transactional memory,
|
||
message passing, and lock-free data structures with compare-and-swap. -
|
||
It covers concepts such as atomicity, safety, liveness and deadlock. -
|
||
It covers how to measure and understand performance and scalability of
|
||
parallel programs. - It covers tools and methods to find bugs in
|
||
concurrent programs. - <a
|
||
href="https://groups.csail.mit.edu/mac/users/gjs/6.945/index.html">6.945</a>
|
||
<strong>Adventures in Advanced Symbolic Programming</strong>
|
||
<em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- Taught by Gerald Sussman of SICP fame, this class deals with concepts
|
||
and techniques for the design an implementation of large software
|
||
systems that can be adapted to uses not anticipated by the designer.
|
||
Applications include compilers, computer-algebra systems, deductive
|
||
systems, and some artificial intelligence applications. - <a
|
||
href="https://groups.csail.mit.edu/mac/users/gjs/6.945/assignments.html">Assignments</a>:
|
||
Extensive programming assignments, using MIT/GNU Scheme. Students should
|
||
have significant programming experience in Scheme, Common Lisp, Haskell,
|
||
CAML or other “functional” language. - <a
|
||
href="https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/">Readings</a>
|
||
- <a href="http://www.eli.sdsu.edu/courses/fall15/cs696/index.html">CS
|
||
696</a> <strong>Functional Design and Programming</strong> <em>San Diego
|
||
State University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- Covers functional programming basis using Clojure. - Topics include
|
||
testing, functional programming, immutable collections and concurrency.
|
||
- Also includes assignments covering Clojurescript, <a
|
||
href="Reagent%20Github">Reagent</a> etc. - <a
|
||
href="https://www.cl.cam.ac.uk/teaching/1516/L28/">L28</a>
|
||
<strong>Advanced Functional Programming</strong> <em>University of
|
||
Cambridge</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- 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.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h3 id="algorithms">Algorithms</h3>
|
||
<ul>
|
||
<li><a href="http://datastructur.es/sp16/">CS 61B</a> <strong>Data
|
||
Structures</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>In this course, you will study advanced programming techniques
|
||
including data structures, encapsulation, abstract data types,
|
||
interfaces, and algorithms for sorting and searching, and you will get a
|
||
taste of “software engineering”—the design and implementation of large
|
||
programs.</li>
|
||
<li><a href="http://datastructur.es/sp16/">Full Lecture Materials</a>
|
||
Lecture of Spring 2016. This website contains full matrials including
|
||
video links, labs, homeworks, projects. Very good for self-learner. Also
|
||
a good start for Java. And it includes some other useful resources for
|
||
Java Documentation, Data Structure Resources, Git/GitHub and Java
|
||
Development Resources. <a
|
||
href="http://datastructur.es/sp16/resources.html">Resources</a></li>
|
||
<li><a
|
||
href="http://www.cs.berkeley.edu/~jrs/61b/lab/index.html">Labs</a> The
|
||
link to labs and projects is included in the website.</li>
|
||
<li><a
|
||
href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iC2Khb1B5NnbE7SHPQ1-W17">Lecture
|
||
Videos</a></li>
|
||
</ul></li>
|
||
<li><a href="http://web.stanford.edu/class/cs97si/">CS 97SI</a>
|
||
<strong>Introduction to Competitive Programming</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Fantastic repository of theory and practice problems across various
|
||
topics for students who are interested to participate in ACM-ICPC.</li>
|
||
<li><a href="https://github.com/jaehyunp/stanfordacm">Lectures and
|
||
Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://people.seas.harvard.edu/~minilek/cs224/fall14/index.html">CS
|
||
224</a> <strong>Advanced Algorithms</strong> <em>Harvard University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS 224 is an advanced course in algorithm design, and topics we will
|
||
cover include the word RAM model, data structures, amortization, online
|
||
algorithms, linear programming, semidefinite programming, approximation
|
||
algorithms, hashing, randomized algorithms, fast exponential time
|
||
algorithms, graph algorithms, and computational geometry.</li>
|
||
<li><a
|
||
href="http://people.seas.harvard.edu/~minilek/cs224/fall14/lec.html">Lecture
|
||
Videos</a> (<a
|
||
href="https://www.youtube.com/playlist?list=PL2SOU6wwxB0uP4rJgf5ayhHWgw7akUWSf">Youtube</a>)</li>
|
||
<li><a
|
||
href="http://people.seas.harvard.edu/~minilek/cs224/fall14/hmwk.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://theory.stanford.edu/~tim/w16/w16.html">CS 261</a>
|
||
<strong>A Second Course in Algorithms</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Algorithms for network optimization: max-flow, min-cost flow,
|
||
matching, assignment, and min-cut problems. Introduction to linear
|
||
programming. Use of LP duality for design and analysis of algorithms.
|
||
Approximation algorithms for NP-complete problems such as Steiner Trees,
|
||
Traveling Salesman, and scheduling problems. Randomized algorithms.
|
||
Introduction to online algorithms.</li>
|
||
<li><a href="http://theory.stanford.edu/~tim/w16/w16.html">Lecture
|
||
Notes, Videos & Assignments</a> (<a
|
||
href="https://www.youtube.com/playlist?list=PLEGCF-WLh2RJh2yDxlJJjnKswWdoO8gAc">Youtube</a>)</li>
|
||
</ul></li>
|
||
<li><a href="http://jeffe.cs.illinois.edu/teaching/algorithms/">CS
|
||
473/573</a> <strong>Fundamental Algorithms</strong> <em>Univ of
|
||
Illinois, Urbana-Champaign</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Algorithms class covering recursion, randomization, amortization,
|
||
graph algorithms, network flows and hardness. The lecture notes by
|
||
Prof. Erikson are comprehensive enough to be a book by themselves.
|
||
Highly recommended!</li>
|
||
<li><a
|
||
href="http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-algorithms.pdf">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-hwex.pdf">Labs
|
||
and Exams</a></li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/aaronbloomfield/pdr">CS 2150</a>
|
||
<strong>Program & Data Representation</strong> <em>University of
|
||
Virginia</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This data structures course introduces C++, linked-lists, stacks,
|
||
queues, trees, numerical representation, hash tables, priority queues,
|
||
heaps, huffman coding, graphs, and x86 assembly.</li>
|
||
<li><a
|
||
href="http://aaronbloomfield.github.io/pdr/slides/">Lectures</a></li>
|
||
<li><a
|
||
href="http://aaronbloomfield.github.io/pdr/labs/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS4820/2015sp/">CS
|
||
4820</a> <strong>Introduction to Analysis of Algorithms</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course develops techniques used in the design and analysis of
|
||
algorithms, with an emphasis on problems arising in computing
|
||
applications. Example applications are drawn from systems and networks,
|
||
artificial intelligence, computer vision, data mining, and computational
|
||
biology. This course covers four major algorithm design techniques
|
||
(greedy algorithms, divide and conquer, dynamic programming, and network
|
||
flow), computability theory focusing on undecidability, computational
|
||
complexity focusing on NP-completeness, and algorithmic techniques for
|
||
intractable problems, including identification of structured special
|
||
cases, approximation algorithms, and local search heuristics.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4820/2015sp/lectures/">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4820/2015sp/syllabus/">Syllabus</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www-scf.usc.edu/~csci104/20142/lectures/">CSCI
|
||
104</a> <strong>Data Structures and Object Oriented Design</strong>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<em>University of Southern California (USC)</em>
|
||
<ul>
|
||
<li><a
|
||
href="http://www-scf.usc.edu/~csci104/20142/lectures">Lectures</a></li>
|
||
<li><a href="http://www-scf.usc.edu/~csci104/20142/labs">Labs</a></li>
|
||
<li><a
|
||
href="http://www-scf.usc.edu/~csci104/20142/assignments/">Assignments</a></li>
|
||
<li><a
|
||
href="http://www-scf.usc.edu/~csci104/20142/resources.html">Additional
|
||
Resources</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/courses/csci135.php">CSCI
|
||
135</a> <strong>Software Design and Analysis I</strong>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<em>CUNY Hunter College</em>
|
||
<ul>
|
||
<li>It is currently an intensive introduction to program development and
|
||
problem solving. Its emphasis is on the process of designing,
|
||
implementing, and evaluating small-scale programs. It is not supposed to
|
||
be a C++ programming course, although much of the course is spent on the
|
||
details of C++. C++ is an extremely large and complex programming
|
||
language with many features that interact in unexpected ways. One does
|
||
not need to know even half of the language to use it well.</li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci135/csci135_36_fall12.php">Lectures
|
||
and Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/courses/csci235.php">CSCI
|
||
235</a> <strong>Software Design and Analysis II</strong> <em>CUNY Hunter
|
||
College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Introduces algorithms for a few common problems such as sorting.
|
||
Practically speaking, it furthers the students’ programming skills with
|
||
topics such as recursion, pointers, and exception handling, and provides
|
||
a chance to improve software engineering skills and to give the students
|
||
practical experience for more productive programming.</li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci235/csci235_f14.php">Lectures
|
||
and Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/courses/csci335.php">CSCI
|
||
335</a> <strong>Software Design and Analysis III</strong>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<em>CUNY Hunter College</em>
|
||
<ul>
|
||
<li>This includes the introduction of hashes, heaps, various forms of
|
||
trees, and graphs. It also revisits recursion and the sorting problem
|
||
from a higher perspective than was presented in the prequels. On top of
|
||
this, it is intended to introduce methods of algorithmic analysis.</li>
|
||
<li><a
|
||
href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci335/csci335_s14.php">Lectures
|
||
and Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://courses.cs.washington.edu/courses/cse331/15sp/">CSE
|
||
331</a> <strong>Software Design and Implementation</strong>
|
||
<em>University of Washington</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Explores concepts and techniques for design and construction of
|
||
reliable and maintainable software systems in modern high-level
|
||
languages; program structure and design; program-correctness approaches,
|
||
including testing.</li>
|
||
<li><a
|
||
href="http://courses.cs.washington.edu/courses/cse331/15sp/#all">Lectures,
|
||
Assignments, and Exams</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www3.cs.stonybrook.edu/~skiena/373/">CSE 373</a>
|
||
<strong>Analysis of Algorithms</strong> <em>Stony Brook University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Prof Steven Skiena’s no stranger to any student when it comes to
|
||
algorithms. His seminal <a href="http://www.algorist.com/">book</a> has
|
||
been touted by many to be best for <a
|
||
href="http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html">getting
|
||
that job in Google</a>. In addition, he’s also well-known for tutoring
|
||
students in competitive <a
|
||
href="http://www.programming-challenges.com/pg.php?page=index">programming
|
||
competitions</a>. If you’re looking to brush up your knowledge on
|
||
Algorithms, you can’t go wrong with this course.</li>
|
||
<li><a href="http://www.cs.sunysb.edu/~algorith/video-lectures/">Lecture
|
||
Videos</a></li>
|
||
</ul></li>
|
||
<li><a href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/">ECS 122A</a>
|
||
<strong>Algorithm Design and Analysis</strong> <em>UC Davis</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Taught by <a href="http://web.cs.ucdavis.edu/~gusfield/">Dan
|
||
Gusfield</a> in 2010, this course is an undergraduate introduction to
|
||
algorithm design and analysis. It features traditional topics, such as
|
||
Big Oh notation, as well as an importance on implementing specific
|
||
algorithms. Also featured are sorting (in linear time), graph
|
||
algorithms, depth-first search, string matching, dynamic programming,
|
||
NP-completeness, approximation, and randomization.</li>
|
||
<li><a
|
||
href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/syll122.pdf">Syllabus</a></li>
|
||
<li><a
|
||
href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/videolist.html">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://web.cs.ucdavis.edu/~gusfield/cs222w11/">ECS 222A</a>
|
||
<strong>Graduate Level Algorithm Design and Analysis</strong> <em>UC
|
||
Davis</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This is the graduate level complement to the ECS 122A undergraduate
|
||
algorithms course by <a href="http://web.cs.ucdavis.edu/~gusfield/">Dan
|
||
Gusfield</a> in 2011. It assumes an undergrad course has already been
|
||
taken in algorithms, and, while going over some undergraduate algorithms
|
||
topics, focuses more on increasingly complex and advanced
|
||
algorithms.</li>
|
||
<li><a
|
||
href="http://web.cs.ucdavis.edu/~gusfield/cs222f07/videolist.html">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://web.cs.ucdavis.edu/~gusfield/cs222w11/syll11.pdf">Syllabus</a></li>
|
||
<li><a
|
||
href="http://web.cs.ucdavis.edu/~gusfield/cs222w11/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courses.csail.mit.edu/iap/interview/index.php">6.INT</a>
|
||
<strong>Hacking a Google Interview</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course taught in the MIT Independent Activities Period in 2009
|
||
goes over common solution to common interview questions for software
|
||
engineer interviews at highly selective companies like Apple, Google,
|
||
and Facebook. They cover time complexity, hash tables, binary search
|
||
trees, and other common algorithm topics you should have already covered
|
||
in a different course, but goes more in depth on things you wouldn’t
|
||
otherwise learn in class- like bitwise logic and problem solving
|
||
tricks.</li>
|
||
<li><a
|
||
href="https://courses.csail.mit.edu/iap/interview/materials.php">Handouts</a></li>
|
||
<li><a
|
||
href="https://courses.csail.mit.edu/iap/interview/calendar.php">Topics
|
||
Covered</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/index.htm">6.006</a>
|
||
<strong>Introduction to Algorithms</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course provides an introduction to mathematical modeling of
|
||
computational problems. It covers the common algorithms, algorithmic
|
||
paradigms, and data structures used to solve these problems. The course
|
||
emphasizes the relationship between algorithms and programming, and
|
||
introduces basic performance measures and analysis techniques for these
|
||
problems.</li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/assignments/">Assignments</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/readings/">Readings</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/download-course-materials/">Resources</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/exams/">Old
|
||
Exams</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/index.htm">6.046J/18.410J</a>
|
||
<strong>Design and Analysis of Algorithms</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This is an intermediate algorithms course with an emphasis on
|
||
teaching techniques for the design and analysis of efficient algorithms,
|
||
emphasizing methods of application. Topics include divide-and-conquer,
|
||
randomization, dynamic programming, greedy algorithms, incremental
|
||
improvement, complexity, and cryptography. This course assumes that
|
||
students know how to analyze simple algorithms and data structures from
|
||
having taken <a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/">6.006</a>.
|
||
It introduces students to the design of computer algorithms, as well as
|
||
analysis of sophisticated algorithms.</li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-videos/">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-notes/">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/assignments/">Assignments</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/download-course-materials/">Resources</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/exams/">Old
|
||
Exams</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courses.csail.mit.edu/6.851/spring21/index.html">6.851</a>
|
||
<strong>Advanced Data Structures</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This is an advanced DS course, you must be done with the <a
|
||
href="https://courses.csail.mit.edu/6.854/current/">Advanced
|
||
Algorithms</a> course before attempting this one.</li>
|
||
<li><a
|
||
href="https://courses.csail.mit.edu/6.851/spring21/lectures/">Lectures</a>
|
||
Contains videos from sp2012 version, but there isn’t much
|
||
difference.</li>
|
||
<li><a
|
||
href="https://courses.csail.mit.edu/6.851/spring21/psets/">Assignments</a>
|
||
contains the calendar as well.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courses.csail.mit.edu/6.854/current/">6.854/18.415J</a>
|
||
<strong>Advanced Algorithms</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Advanced course in algorithms by Dr. David Karger covering topics
|
||
such as amortization, randomization, fingerprinting, word-level
|
||
parallelism, bit scaling, dynamic programming, network flow, linear
|
||
programming, fixed-parameter algorithms, and approximation
|
||
algorithms.</li>
|
||
<li><strong>Register</strong> on <a
|
||
href="http://nb.mit.edu/subscribe?key=D3a8CYpoO2VcR1ZcfaxmR5KbyjCGXd3INNXvL3mxEakYJ7qGJw">NB</a>
|
||
to access the <a href="http://nb.mit.edu/">problem set and
|
||
lectures</a>.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/index.htm">6.854J/18.415J</a>
|
||
<strong>Advanced Algorithms</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course is a first-year graduate course in algorithms. Emphasis
|
||
is placed on fundamental algorithms and advanced methods of algorithmic
|
||
design, analysis, and implementation. Techniques to be covered include
|
||
amortization, randomization, fingerprinting, word-level parallelism, bit
|
||
scaling, dynamic programming, network flow, linear programming,
|
||
fixed-parameter algorithms, and approximation algorithms. Domains
|
||
include string algorithms, network optimization, parallel algorithms,
|
||
computational geometry, online algorithms, external memory, cache, and
|
||
streaming algorithms, and data structures. The need for efficient
|
||
algorithms arises in nearly every area of computer science. But the type
|
||
of problem to be solved, the notion of what algorithms are “efficient,’’
|
||
and even the model of computation can vary widely from area to area. In
|
||
this second class in algorithms, we will survey many of the techniques
|
||
that apply broadly in the design of efficient algorithms, and study
|
||
their application in a wide range of application domains and
|
||
computational models. The goal is for the class to be broad rather than
|
||
deep. Our plan is to touch upon the following areas. This is a tentative
|
||
list of topics that might be covered in the class; we will select
|
||
material adaptively based on the background, interests, and rate of
|
||
progress of the students.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PL6ogFv-ieghdoGKGg2Bik3Gl1glBTEu8c">Lecture
|
||
Videos - Spring 2016</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/lecture-notes/">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/assignments/">Assignments</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/readings/">Readings</a></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/download-course-materials/">Resources</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/afs/cs/academic/class/15451-f10/www/">15-451/651</a>
|
||
<strong>Algorithms</strong> <em>Carnegie Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>The required algorithms class that go in depth into all basic
|
||
algorithms and the proofs behind them. This is one of the heavier
|
||
algorithms curriculums on this page. Taught by Avrim Blum and <a
|
||
href="http://en.wikipedia.org/wiki/Manuel_Blum">Manuel Blum</a> who has
|
||
a Turing Award due to his contributions to algorithms. Course link
|
||
includes a very comprehensive set of reference notes by Avrim Blum.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.virginia.edu/~shelat/16s-4102/">16s-4102</a>
|
||
<strong>Algorithms</strong> <em>University of Virginia</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li><a href="http://www.cs.virginia.edu/~shelat/16s-4102/">Lecture
|
||
Videos & Homeworks</a> (<a
|
||
href="https://www.youtube.com/channel/UCxXYk53cSZof2bR_Ax0uJYQ/videos">Youtube</a>)</li>
|
||
</ul></li>
|
||
</ul>
|
||
<hr />
|
||
<h3 id="cs-theory">CS Theory</h3>
|
||
<ul>
|
||
<li><a
|
||
href="http://www.seas.upenn.edu/~cis500/cis500-f14/index.html">CIS
|
||
500</a> <strong>Software Foundations</strong> <em>University of
|
||
Pennsylvania</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>An introduction to formal verification of software using the Coq
|
||
proof assistant. Topics include basic concepts of logic,
|
||
computer-assisted theorem proving, functional programming, operational
|
||
semantics, Hoare logic, and static type systems.</li>
|
||
<li><a
|
||
href="http://www.seas.upenn.edu/~cis500/cis500-f14/index.html#schedule">Lectures
|
||
and Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cis.upenn.edu/~bcpierce/sf/current/index.html">Textbook</a></li>
|
||
</ul></li>
|
||
<li><a href="http://web.stanford.edu/class/cs103/">CS 103</a>
|
||
<strong>Mathematical Foundations of Computing</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS103 is a first course in discrete math, computability theory, and
|
||
complexity theory. In this course, we’ll probe the limits of computer
|
||
power, explore why some problems are harder to solve than others, and
|
||
see how to reason with mathematical certainty.</li>
|
||
<li>Links to all lectures notes and assignments are directly on the
|
||
course page</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/index.html">CS
|
||
173</a> <strong>Discrete Structures</strong> <em>Univ of Illinois
|
||
Urbana-Champaign</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course is an introduction to the theoretical side of computer
|
||
science. In it, you will learn how to construct proofs, read and write
|
||
literate formal mathematics, get a quick introduction to key theory
|
||
topics and become familiar with a range of standard mathematics concepts
|
||
commonly used in computer science.</li>
|
||
<li><a
|
||
href="http://web.engr.illinois.edu/~mfleck/building-blocks/">Textbook</a>
|
||
Written by the professor. Includes Instructor’s Guide.</li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/Homework/index.html">Assignments</a></li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/Exams/index.html">Exams</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.berkeley.edu/~sanjamg/classes/cs276-fall14/">CS
|
||
276</a> <strong>Foundations of Cryptography</strong> <em>UC
|
||
Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course discusses the complexity-theory foundations of modern
|
||
cryptography, and looks at recent results in the field such as Fully
|
||
Homomorphic Encryption, Indistinguishability Obfuscation, MPC and so
|
||
on.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.berkeley.edu/~luca/cs278-08/">CS 278</a>
|
||
<strong>Complexity Theory</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>A graduate level course on complexity theory that introduces P vs
|
||
NP, the power of randomness, average-case complexity, hardness of
|
||
approximation, and so on.</li>
|
||
</ul></li>
|
||
<li><a href="https://courses.engr.illinois.edu/cs498374/fa2014/">CS
|
||
374</a> <strong>Algorithms & Models of Computation (Fall
|
||
2014)</strong> <em>University of Illinois Urbana-Champaign</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS 498 section 374 (unofficially “CS 374”) covers fundamental tools
|
||
and techniques from theoretical computer science, including design and
|
||
analysis of algorithms, formal languages and automata, computability,
|
||
and complexity. Specific topics include regular and context-free
|
||
languages, finite-state automata, recursive algorithms (including divide
|
||
and conquer, backtracking, dynamic programming, and greedy algorithms),
|
||
fundamental graph algorithms (including depth- and breadth-first search,
|
||
topological sorting, minimum spanning trees, and shortest paths),
|
||
undecidability, and NP-completeness. The course also has a strong focus
|
||
on clear technical communication.</li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs498374/fa2014/work.html">Assignments/Exams</a></li>
|
||
<li><a
|
||
href="https://courses.engr.illinois.edu/cs498374/fa2014/lectures.html">Lecture
|
||
Notes/Labs</a></li>
|
||
<li><a
|
||
href="http://recordings.engineering.illinois.edu/ess/portal/section/115f3def-7371-4e98-b72f-6efe53771b2a">Lecture
|
||
videos</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS3110/2014fa/">CS
|
||
3110</a> <strong>Data Structures and Functional Programming</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>CS 3110 (formerly CS 312) is the third programming course in the
|
||
Computer Science curriculum, following CS 1110/1112 and CS 2110. The
|
||
goal of the course is to help students become excellent programmers and
|
||
software designers who can design and implement software that is
|
||
elegant, efficient, and correct, and whose code can be maintained and
|
||
reused.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3110/2014fa/course_info.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3110/2014fa/lecture_notes.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3110/2014fa/index.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/">CS
|
||
3220</a> <strong>Introduction to Scientific Computing</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>In this one-semester survey course, we introduce numerical methods
|
||
for solving linear and nonlinear equations, interpolating data,
|
||
computing integrals, and solving differential equations, and we describe
|
||
how to use these tools wisely (we hope!) when solving scientific
|
||
problems.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/syllabus.html">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/lectures.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS4300/2013fa/">CS
|
||
4300</a> <strong>Information Retrieval</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Studies the methods used to search for and discover information in
|
||
large-scale systems. The emphasis is on information retrieval applied to
|
||
textual materials, but there is some discussion of other formats.The
|
||
course includes techniques for searching, browsing, and filtering
|
||
information and the use of classification systems and thesauruses. The
|
||
techniques are illustrated with examples from web searching and digital
|
||
libraries.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures/introduction.pdf">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures.htm">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures.htm">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="https://www.dsteurer.org/toc13/">CS 4810</a>
|
||
<strong>Introduction to Theory of Computing</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This undergraduate course provides a broad introduction to the
|
||
mathematical foundations of computer science. We will examine basic
|
||
computational models, especially Turing machines. The goal is to
|
||
understand what problems can or cannot be solved in these models.</li>
|
||
<li><a href="https://www.dsteurer.org/toc13/syllabus/">Syllabus</a></li>
|
||
<li><a href="https://www.dsteurer.org/toc13/lectures/">Lectures</a></li>
|
||
<li><a
|
||
href="https://www.dsteurer.org/toc13/homework/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="https://complexity16.dsteurer.org/">CS 6810</a>
|
||
<strong>Theory of Computing</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This graduate course gives a broad introduction to complexity
|
||
theory, including classical results and recent developments. Complexity
|
||
theory aims to understand the power of efficient computation (when
|
||
computational resources like time and space are limited). Many
|
||
compelling conceptual questions arise in this context. Most of these
|
||
questions are (surprisingly?) difficult and far from being resolved.
|
||
Nevertheless, a lot of progress has been made toward understanding them
|
||
(and also why they are difficult). We will learn about these advances in
|
||
this course. A theme will be combinatorial constructions with
|
||
random-like properties, e.g., expander graphs and error-correcting
|
||
codes. Some examples:
|
||
<ul>
|
||
<li>Is finding a solution inherently more difficult than verifying
|
||
it?</li>
|
||
<li>Do more computational resources mean more computing power?</li>
|
||
<li>Is it easier to find approximate solutions than exact ones?</li>
|
||
<li>Are randomized algorithms more powerful than deterministic
|
||
ones?</li>
|
||
<li>Is it easier to solve problems in the average case than in the worst
|
||
case?</li>
|
||
<li>Are quantum computers more powerful than classical ones?</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://complexity16.dsteurer.org/syllabus/">Syllabus</a></li>
|
||
<li><a
|
||
href="https://complexity16.dsteurer.org/lectures/">Lectures</a></li>
|
||
<li><a
|
||
href="https://complexity16.dsteurer.org/homework/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.csce.uark.edu/~sgauch/3193/S11/index.html">CSCE
|
||
3193</a> <strong>Programming Paradigms</strong> <em>University of
|
||
Arkansas (Fayetteville)</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Programming in different paradigms with emphasis on object oriented
|
||
programming, network programming and functional programming. Survey of
|
||
programming languages, event driven programming, concurrency, software
|
||
validation.</li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/3193/S11/syllabus.html">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/3193/S11/notes/index.html">Notes</a></li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/3193/S11/hw/index.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/3193/S11/exams/index.html">Practice
|
||
Exams</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://stellar.mit.edu/S/course/6/sp15/6.045/index.html">6.045</a>
|
||
<strong>Great Ideas in Theoretical Computer Science</strong>
|
||
<em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course provides a challenging introduction to some of the
|
||
central ideas of theoretical computer science. Beginning in antiquity,
|
||
the course will progress through finite automata, circuits and decision
|
||
trees, Turing machines and computability, efficient algorithms and
|
||
reducibility, the P versus NP problem, NP-completeness, the power of
|
||
randomness, cryptography and one-way functions, computational learning
|
||
theory, and quantum computing. It examines the classes of problems that
|
||
can and cannot be solved by various kinds of machines. It tries to
|
||
explain the key differences between computational models that affect
|
||
their power.</li>
|
||
<li><a
|
||
href="https://stellar.mit.edu/S/course/6/sp15/6.045/courseMaterial/topics/topic1/syllabus/syllabus2015/syllabus2015.pdf">Syllabus</a></li>
|
||
<li><a
|
||
href="https://stellar.mit.edu/S/course/6/sp15/6.045/materials.html">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://stellar.mit.edu/S/course/6/sp15/6.045/special/videos/index.html">Lecture
|
||
Videos</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
<hr />
|
||
<h3 id="introduction-to-cs">Introduction to CS</h3>
|
||
<ul>
|
||
<li><a href="https://inst.eecs.berkeley.edu/~cs10/fa14/">CS 10</a>
|
||
<strong>The Beauty and Joy of Computing</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS10 is UCB’s introductory computer science class, taught using the
|
||
beginners’ drag-and-drop language. Students learn about history, social
|
||
implications, great principles, and future of computing. They also learn
|
||
the joy of programming a computer using a friendly, graphical language,
|
||
and will complete a substantial team programming project related to
|
||
their interests.</li>
|
||
<li><a href="http://snap.berkeley.edu">Snap<em>!</em></a> (based on
|
||
Scratch by MIT).</li>
|
||
<li><a href="http://bjc.berkeley.edu">Curriculum</a></li>
|
||
</ul></li>
|
||
<li><a href="https://cs50.harvard.edu/">CS 50</a> <strong>Introduction
|
||
to Computer Science</strong> <em>Harvard University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS50x is Harvard College’s introduction to the intellectual
|
||
enterprises of computer science and the art of programming for majors
|
||
and non-majors alike, with or without prior programming experience. An
|
||
entry-level course taught by David J. Malan.</li>
|
||
<li><a href="http://cs50.tv/2017/fall/#about,lectures">Lectures</a></li>
|
||
<li><a href="http://cs50.tv/2017/fall/#about,psets">Problem
|
||
Sets</a></li>
|
||
<li>The course can also be taken from <a
|
||
href="https://www.edx.org/course/introduction-computer-science-harvardx-cs50x">edX</a>.</li>
|
||
<li>The course’s OpenCourseware resides <a
|
||
href="http://cs50.tv">here</a></li>
|
||
</ul></li>
|
||
<li><a href="http://cs61a.org/">CS 61A</a> <strong>Structure and
|
||
Interpretation of Computer Programs [Python]</strong> <em>UC
|
||
Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>In CS 61A, we are interested in teaching you about programming, not
|
||
about how to use one particular programming language. We consider a
|
||
series of techniques for controlling program complexity, such as
|
||
functional programming, data abstraction, and object-oriented
|
||
programming. Mastery of a particular programming language is a very
|
||
useful side effect of studying these general techniques. However, our
|
||
hope is that once you have learned the essence of programming, you will
|
||
find that picking up a new programming language is but a few days’
|
||
work.</li>
|
||
<li><a
|
||
href="http://www.infocobuild.com/education/audio-video-courses/computer-science/cs61a-spring2014-berkeley.html">Lecture
|
||
Videos</a></li>
|
||
<li><a href="http://cs61a.org/by_type.html">Lecture Resources by
|
||
Type</a></li>
|
||
<li><a href="http://cs61a.org/by_topic.html">Lecture Resources by
|
||
Topic</a></li>
|
||
<li><a href="http://cs61a.org/articles/resources.html">Additional
|
||
Resources</a></li>
|
||
<li><a href="http://cs61a.org/problems/">Practice Problems</a></li>
|
||
<li><a href="http://cs61a.org/extra.html">Extra Lectures</a></li>
|
||
</ul></li>
|
||
<li><a href="http://berkeley-cs61as.github.io/">CS 61AS</a>
|
||
<strong>Structure & Interpretation of Computer Programs
|
||
[Racket]</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>A self-paced version of the CS61 Course but in Racket / Scheme. 61AS
|
||
is a great introductory course that will ease you into all the amazing
|
||
concepts that future CS courses will cover, so remember to keep an open
|
||
mind, have fun, and always respect the data abstraction</li>
|
||
<li><a
|
||
href="https://www.youtube.com/course?category=University%2FEngineering%2FComputer%2520Science%2FProgramming%2520Languages&list=EC6D76F0C99A731667">Lecture
|
||
Videos</a></li>
|
||
<li><a href="http://berkeley-cs61as.github.io/textbook.html">Assignments
|
||
and Notes</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://online.stanford.edu/course/computer-science-101-self-paced">CS
|
||
101</a> <strong>Computer Science 101</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS101 teaches the essential ideas of Computer Science for a
|
||
zero-prior-experience audience. Participants play and experiment with
|
||
short bits of “computer code” to bring to life to the power and
|
||
limitations of computers.</li>
|
||
<li>Lectures videos will available for free after registration.</li>
|
||
</ul></li>
|
||
<li><a href="https://see.stanford.edu/Course/CS106A">CS 106A</a>
|
||
<strong>Programming Methodology</strong> <em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course is the largest of the introductory programming courses
|
||
and is one of the largest courses at Stanford. Topics focus on the
|
||
introduction to the engineering of computer applications emphasizing
|
||
modern software engineering principles: object-oriented design,
|
||
decomposition, encapsulation, abstraction, and testing. Programming
|
||
Methodology teaches the widely-used Java programming language along with
|
||
good software engineering principles.</li>
|
||
<li><a href="https://see.stanford.edu/Course/CS106A">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="https://see.stanford.edu/Course/CS106A">Assignments</a></li>
|
||
<li><a
|
||
href="http://see.stanford.edu/materials/icspmcs106a/ProgrammingMethodologyAllMaterials.zip">All
|
||
materials in a zip file</a></li>
|
||
</ul></li>
|
||
<li><a href="https://see.stanford.edu/Course/CS106B">CS 106B</a>
|
||
<strong>Programming Abstractions</strong> <em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course is the natural successor to Programming Methodology and
|
||
covers such advanced programming topics as recursion, algorithmic
|
||
analysis, and data abstraction using the C++ programming language, which
|
||
is similar to both C and Java.</li>
|
||
<li><a href="https://see.stanford.edu/Course/CS106B">Lectures</a></li>
|
||
<li><a
|
||
href="https://see.stanford.edu/Course/CS106B">Assignments</a></li>
|
||
<li><a
|
||
href="http://see.stanford.edu/materials/icspacs106b/ProgrammingAbstractionsAllMaterials.zip">All
|
||
materials in a zip file</a></li>
|
||
</ul></li>
|
||
<li><a href="https://see.stanford.edu/Course/CS107">CS 107</a>
|
||
<strong>Programming Paradigms</strong> <em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Topics: Advanced memory management features of C and C++; the
|
||
differences between imperative and object-oriented paradigms. The
|
||
functional paradigm (using LISP) and concurrent programming (using C and
|
||
C++)</li>
|
||
<li><a href="https://see.stanford.edu/Course/CS107">Lectures</a></li>
|
||
<li><a href="https://see.stanford.edu/Course/CS107">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://otfried.org/courses/cs109/index.html">CS 109</a>
|
||
<strong>Programming Practice Using Scala</strong> <em>KAIST</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course introduces basic concepts of programming and computer
|
||
science, such as dynamic and static typing, dynamic memory allocation,
|
||
objects and methods, binary representation of numbers, using an editor
|
||
and compiler from the command line, running programs with arguments from
|
||
the command line, using libraries, and the use of basic data structures
|
||
such as arrays, lists, sets, and maps. We will use Scala for this
|
||
course.</li>
|
||
<li>[Lectures] (http://otfried.org/courses/cs109/index.html)</li>
|
||
<li>[Assignments] (http://otfried.org/courses/cs109/index.html)</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS1109/2013su/">CS
|
||
1109</a> <strong>Fundamental Programming Concepts</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course provides an introduction to programming and problem
|
||
solving using a high-level programming language. It is designed to
|
||
increase your knowledge level to comfortably continue to courses CS111x.
|
||
Our focus will be on generic programming concepts: variables,
|
||
expressions, control structures, loops, arrays, functions, pseudocode
|
||
and algorithms. You will learn how to analyze problems and convert your
|
||
ideas into solutions interpretable by computers. We will use MATLAB;
|
||
because it provides a productive environment, and it is widely used by
|
||
all engineering communities.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1109/2013su/syllabus.html">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1109/2013su/calendar.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1109/2013su/calendar.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS1110/2014fa/">CS
|
||
1110</a> <strong>Introduction to Computing Using Python</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Programming and problem solving using Python. Emphasizes principles
|
||
of software development, style, and testing. Topics include procedures
|
||
and functions, iteration, recursion, arrays and vectors, strings, an
|
||
operational model of procedure and function calls, algorithms,
|
||
exceptions, object-oriented programming, and GUIs (graphical user
|
||
interfaces). Weekly labs provide guided practice on the computer, with
|
||
staff present to help. Assignments use graphics and GUIs to help develop
|
||
fluency and understanding.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1110/2014fa/about/grading.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1110/2014fa/lectures/index.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1110/2014fa/assignments/index.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS1112/2014fa/">CS
|
||
1112</a> <strong>Introduction to Computing Using Matlab</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Programming and problem solving using MATLAB. Emphasizes the
|
||
systematic development of algorithms and programs. Topics include
|
||
iteration, functions, arrays and vectors, strings, recursion,
|
||
algorithms, object-oriented programming, and MATLAB graphics.
|
||
Assignments are designed to build an appreciation for complexity,
|
||
dimension, fuzzy data, inexact arithmetic, randomness, simulation, and
|
||
the role of approximation. NO programming experience is necessary; some
|
||
knowledge of Calculus is required.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1112/2014fa/syllabus.html">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1112/2014fa/syllabus.html#schedule">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1112/2014fa/Exercises/exercises.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1112/2014fa/Projects/projects.html">Projects</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS1115/2013fa/">CS
|
||
1115</a> <strong>Introduction to Computational Science and Engineering
|
||
Using Matlab Graphical User Interfaces</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Programming and problem solving using MATLAB. Emphasizes the
|
||
systematic development of algorithms and programs. Topics include
|
||
iteration, functions, arrays and vectors, strings, recursion,
|
||
algorithms, object-oriented programming, and MATLAB graphics.
|
||
Assignments are designed to build an appreciation for complexity,
|
||
dimension, fuzzy data, inexact arithmetic, randomness, simulation, and
|
||
the role of approximation. NO programming experience is necessary; some
|
||
knowledge of Calculus is required.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1115/2013fa/syllabus.htm">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1115/2013fa/lecture_slides.htm">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1115/2013fa/projects_and_exams.htm">Projects</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS1130/2014sp/">CS
|
||
1130</a> <strong>Transition to OO Programming</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Introduction to object-oriented concepts using Java. Assumes
|
||
programming knowledge in a language like MATLAB, C, C++, or Fortran.
|
||
Students who have learned Java but were not exposed heavily to OO
|
||
programming are welcome.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1130/2014sp/about/overview.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1130/2014sp/web-lectures/index.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1130/2014sp/assignments/index.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS1133/2013fa/">CS
|
||
1133</a> <strong>Transition to Python</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Introduction to the Python programming language. Covers the basic
|
||
programming constructs of Python, including assignment, conditionals,
|
||
iteration, functions, object-oriented design, arrays, and vectorized
|
||
computation. Assumes programming knowledge in a language like Java,
|
||
Matlab, C, C++, or Fortran.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1133/2013fa/about/overview.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1133/2013fa/lectures/index.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS1133/2013fa/assignments/index.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.eng.utah.edu/~cs1410-20/">CS 1410-2</a> and <a
|
||
href="http://www.eng.utah.edu/~cs2420-20/">CS2420-20</a>
|
||
<strong>Computer Science I and II for Hackers</strong> <em>University of
|
||
Utah</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>An intro course in the spirit of SICP designed by <a
|
||
href="http://www.cs.utah.edu/~mflatt/">Professor Matthew Flatt</a> (one
|
||
of the lead designers of Racket and author of HtDP). Mostly Racket and
|
||
C, and a bit of Java, with explanations on how high level functional
|
||
programming concepts relate to the design of OOP programs. Do this one
|
||
before SICP if SICP is a bit too much…</li>
|
||
<li><a href="http://www.eng.utah.edu/~cs1410-20/schedule.html">Lectures
|
||
and Assignments 1</a></li>
|
||
<li><a href="http://www.eng.utah.edu/~cs2420-20/schedule.html">Lectures
|
||
and Assignments 2</a></li>
|
||
<li><a
|
||
href="http://htdp.org/2003-09-26/Book/curriculum.html">Textbook</a></li>
|
||
<li><a href="http://racket-lang.org/">Racket Language</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS2110/2014fa/index.html">CS
|
||
2110</a> <strong>Object-Oriented Programming and Data
|
||
Structures</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>CS 2110 is an intermediate-level programming course and an
|
||
introduction to computer science. Topics include program design and
|
||
development, debugging and testing, object-oriented programming, proofs
|
||
of correctness, complexity analysis, recursion, commonly used data
|
||
structures, graph algorithms, and abstract data types. Java is the
|
||
principal programming language. The course syllabus can easily be
|
||
extracted by looking at the link to <a
|
||
href="http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html">lectures</a>.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS2110/2014fa/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://courses2.cit.cornell.edu/info4302_2012fa/">CS
|
||
4302</a> <strong>Web Information Systems</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course will introduce you to technologies for building
|
||
data-centric information systems on the World Wide Web, show the
|
||
practical applications of such systems, and discuss their design and
|
||
their social and policy context by examining cross-cutting issues such
|
||
as citizen science, data journalism and open government. Course work
|
||
involves lectures and readings as well as weekly homework assignments,
|
||
and a semester-long project in which the students demonstrate their
|
||
expertise in building data-centric Web information systems.</li>
|
||
<li><a
|
||
href="http://courses2.cit.cornell.edu/info4302_2012fa/course_information.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://courses2.cit.cornell.edu/info4302_2012fa/lectures.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://courses2.cit.cornell.edu/info4302_2012fa/homeworks.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.csce.uark.edu/~sgauch/2004/S14/index.html">CSCE
|
||
2004</a> <strong>Programming Foundations I</strong> <em>University of
|
||
Arkansas (Fayetteville)</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Introductory course for students majoring in computer science or
|
||
computer engineering. Software development process: problem
|
||
specification, program design, implementation, testing and
|
||
documentation. Programming topics: data representation, conditional and
|
||
iterative statements, functions, arrays, strings, file I/O, and classes.
|
||
Using C++ in a UNIX environment.</li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/2004/S14/syllabus.html">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/2004/S14/notes/index.html">Notes</a></li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/2004/S14/hw/index.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.csce.uark.edu/~sgauch/2004/S14/index.html">Practice
|
||
Exams</a></li>
|
||
</ul></li>
|
||
<li><a href="http://cse1.net/lectures">CSCI E-1</a>
|
||
<strong>Understanding Computers and the Internet</strong> <em>Harvard
|
||
University Extension College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course is all about understanding: understanding what’s going
|
||
on inside your computer when you flip on the switch, why tech support
|
||
has you constantly rebooting your computer, how everything you do on the
|
||
Internet can be watched by others, and how your computer can become
|
||
infected with a worm just by being turned on. Designed for students who
|
||
use computers and the Internet every day but don’t fully understand how
|
||
it all works, this course fills in the gaps. Through lectures on
|
||
hardware, software, the Internet, multimedia, security, privacy, website
|
||
development, programming, and more, this course “takes the hood off” of
|
||
computers and the Internet so that students understand how it all works
|
||
and why. Through discussions of current events, students are exposed
|
||
also to the latest technologies.</li>
|
||
<li><a href="http://cse1.net/lectures">Lecture Videos</a></li>
|
||
<li><a href="http://cse1.net/syllabus">Syllabus</a></li>
|
||
<li><a href="http://cse1.net/recaps">Notes / Recaps</a></li>
|
||
<li><a href="http://cse1.net/psets">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.hmc.edu/csforall/">CS-for-all</a> <strong>CS
|
||
for All</strong> <em>Harvey Mudd College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This book (and course) takes a unique approach to “Intro CS.” In a
|
||
nutshell, our objective is to provide an introduction to computer
|
||
science as an intellectually rich and vibrant field rather than focusing
|
||
exclusively on computer programming. While programming is certainly an
|
||
important and pervasive element of our approach, we emphasize concepts
|
||
and problem-solving over syntax and programming language features.</li>
|
||
<li><a href="https://www.cs.hmc.edu/twiki/bin/view/ModularCS1">Lectures
|
||
and Other resources</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/index.htm">6.001</a>
|
||
<strong>Structure and Interpretation of Computer Programs</strong>
|
||
<em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Teaches big-picture computing concepts using the Scheme programming
|
||
language. Students will implement programs in a variety of different
|
||
programming paradigms (functional, object-oriented, logical). Heavy
|
||
emphasis on function composition, code-as-data, control abstraction with
|
||
continuations, and syntactic abstraction through macros. An excellent
|
||
course if you are looking to build a mental framework on which to hang
|
||
your programming knowledge.</li>
|
||
<li><a
|
||
href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures">Lectures</a></li>
|
||
<li><a
|
||
href="http://mitpress.mit.edu/sicp/full-text/book/book.html">Textbook</a>
|
||
(<a href="https://github.com/sarabander/sicp">epub</a>, <a
|
||
href="https://github.com/sarabander/sicp-pdf">pdf</a>)</li>
|
||
<li><a href="http://www.neilvandyke.org/racket-sicp/">IDE</a></li>
|
||
</ul></li>
|
||
<li><a href="http://web.mit.edu/6.005/www/fa16/">6.005</a>
|
||
<strong>Software Construction, Fall 2016</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>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.</li>
|
||
<li><a href="http://web.mit.edu/6.005/www/fa16/">Lectures
|
||
Notes/Assignments</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
<hr />
|
||
<h3 id="machine-learning">Machine Learning</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/oxford-cs-deepnlp-2017/">DEEPNLP</a>
|
||
<strong>Deep Learning for Natural Language Processing</strong>
|
||
<em>University of Oxford</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This is an applied course focussing on recent advances in analysing
|
||
and generating speech and text using recurrent neural networks. We
|
||
introduce the mathematical definitions of the relevant machine learning
|
||
models and derive their associated optimisation algorithms. The course
|
||
covers a range of applications of neural networks in NLP including
|
||
analysing latent dimensions in text, transcribing speech to text,
|
||
translating between languages, and answering questions. This course is
|
||
organised by Phil Blunsom and delivered in partnership with the
|
||
<strong>DeepMind Natural Language Research Group</strong>.</li>
|
||
<li><a
|
||
href="https://github.com/oxford-cs-deepnlp-2017/lectures">Lectures</a></li>
|
||
<li>Assignments are available on the organisation page titled as
|
||
“practicals”</li>
|
||
</ul></li>
|
||
<li><a href="http://web.stanford.edu/class/cs20si/index.html">CS20si</a>
|
||
<strong>Tensorflow for Deep Learning Research</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course will cover the fundamentals and contemporary usage of
|
||
the Tensorflow library for deep learning research. We aim to help
|
||
students understand the graphical computational model of Tensorflow,
|
||
explore the functions it has to offer, and learn how to build and
|
||
structure models best suited for a deep learning project. Through the
|
||
course, students will use Tensorflow to build models of different
|
||
complexity, from simple linear/logistic regression to convolutional
|
||
neural network and recurrent neural networks with LSTM to solve tasks
|
||
such as word embeddings, translation, optical character recognition.
|
||
Students will also learn best practices to structure a model and manage
|
||
research experiments.</li>
|
||
<li><a
|
||
href="https://github.com/chiphuyen/tf-stanford-tutorials">Assignments</a>
|
||
available on Github.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.columbia.edu/~jebara/4771/index.html">COMS
|
||
4771</a> <strong>Machine Learning</strong> <em>Columbia University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Course taught by <a
|
||
href="http://www.cs.columbia.edu/~jebara/resume.html">Tony Jebara</a>
|
||
introduces topics in Machine Learning for both generative and
|
||
discriminative estimation. Material will include least squares methods,
|
||
Gaussian distributions, linear classification, linear regression,
|
||
maximum likelihood, exponential family distributions, Bayesian networks,
|
||
Bayesian inference, mixture models, the EM algorithm, graphical models,
|
||
hidden Markov models, support vector machines, and kernel methods.</li>
|
||
<li><a
|
||
href="http://www.cs.columbia.edu/~jebara/4771/handouts.html">Lectures
|
||
and Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://cs109.github.io/2015/">CS 109</a> <strong>Data
|
||
Science</strong> <em>Harvard University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Learning from data in order to gain useful predictions and insights.
|
||
This course introduces methods for five key facets of an investigation:
|
||
data wrangling, cleaning, and sampling to get a suitable data set; data
|
||
management to be able to access big data quickly and reliably;
|
||
exploratory data analysis to generate hypotheses and intuition;
|
||
prediction based on statistical methods such as regression and
|
||
classification; and communication of results through visualization,
|
||
stories, and interpretable summaries.</li>
|
||
<li><a
|
||
href="http://cm.dce.harvard.edu/2015/01/14328/publicationListing.shtml">Lectures</a></li>
|
||
<li><a
|
||
href="http://cs109.github.io/2014/pages/schedule.html">Slides</a></li>
|
||
<li><a href="http://cs109.github.io/2014/pages/homework.html">Labs and
|
||
Assignments</a></li>
|
||
<li><a href="http://cs109.github.io/2014/">2014 Lectures</a></li>
|
||
<li><a
|
||
href="http://cm.dce.harvard.edu/2014/01/14328/publicationListing.shtml">2013
|
||
Lectures</a> <em>(slightly better)</em></li>
|
||
</ul></li>
|
||
<li><a href="https://work.caltech.edu/telecourse.html">CS 156</a>
|
||
<strong>Learning from Data</strong> <em>Caltech</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This is an introductory course in machine learning (ML) that covers
|
||
the basic theory, algorithms, and applications. ML is a key technology
|
||
in Big Data, and in many financial, medical, commercial, and scientific
|
||
applications. It enables computational systems to adaptively improve
|
||
their performance with experience accumulated from the observed data. ML
|
||
has become one of the hottest fields of study today, taken up by
|
||
undergraduate and graduate students from 15 different majors at Caltech.
|
||
This course balances theory and practice, and covers the mathematical as
|
||
well as the heuristic aspects.<br />
|
||
</li>
|
||
<li><a href="https://work.caltech.edu/lectures.html">Lectures</a></li>
|
||
<li><a href="https://work.caltech.edu/homeworks.html">Homework</a></li>
|
||
<li><a href="https://work.caltech.edu/textbook.html">Textbook</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.eecs189.org/">CS 189</a> <strong>Introduction To
|
||
Machine Learning</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Introductory ML course covering a wide range of topics: ranging from
|
||
least squares to convolutional neural networks</li>
|
||
<li><a href="http://www.eecs189.org/">Notes</a></li>
|
||
<li><a href="http://www.eecs189.org/">Homework</a></li>
|
||
</ul></li>
|
||
<li><a href="http://cs224d.stanford.edu/">CS 224d</a> <strong>Deep
|
||
Learning for Natural Language Processing</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Natural language processing (NLP) is one of the most important
|
||
technologies of the information age. Understanding complex language
|
||
utterances is also a crucial part of artificial intelligence.
|
||
Applications of NLP are everywhere because people communicate most
|
||
everything in language: web search, advertisement, emails, customer
|
||
service, language translation, radiology reports, etc. There are a large
|
||
variety of underlying tasks and machine learning models powering NLP
|
||
applications. Recently, deep learning approaches have obtained very high
|
||
performance across many different NLP tasks. These models can often be
|
||
trained with a single end-to-end model and do not require traditional,
|
||
task-specific feature engineering. In this spring quarter course
|
||
students will learn to implement, train, debug, visualize and invent
|
||
their own neural network models. The course provides a deep excursion
|
||
into cutting-edge research in deep learning applied to NLP.</li>
|
||
<li><a href="http://cs224d.stanford.edu/syllabus.html">Syllabus</a></li>
|
||
<li><a href="http://cs224d.stanford.edu/syllabus.html">Lectures and
|
||
Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://people.seas.harvard.edu/~minilek/cs229r/fall15/index.html">CS
|
||
229r</a> <strong>Algorithms for Big Data</strong> <em>Harvard
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Big data is data so large that it does not fit in the main memory of
|
||
a single machine, and the need to process big data by efficient
|
||
algorithms arises in Internet search, network traffic monitoring,
|
||
machine learning, scientific computing, signal processing, and several
|
||
other areas. This course will cover mathematically rigorous models for
|
||
developing such algorithms, as well as some provable limitations of
|
||
algorithms operating in those models.</li>
|
||
<li><a
|
||
href="http://people.seas.harvard.edu/~minilek/cs229r/fall15/lec.html">Lectures</a>
|
||
(<a
|
||
href="https://www.youtube.com/playlist?list=PL2SOU6wwxB0v1kQTpqpuu5kEJo2i-iUyf">Youtube</a>)</li>
|
||
<li><a
|
||
href="http://people.seas.harvard.edu/~minilek/cs229r/fall15/hmwk.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://cs231n.stanford.edu/">CS 231n</a>
|
||
<strong>Convolutional Neural Networks for Visual Recognition</strong>
|
||
<em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<ul>
|
||
<li>Computer Vision has become ubiquitous in our society, with
|
||
applications in search, image understanding, apps, mapping, medicine,
|
||
drones, and self-driving cars. This course is a deep dive into details
|
||
of the deep learning architectures with a focus on learning end-to-end
|
||
models for these tasks, particularly image classification. During the
|
||
10-week course, students will learn to implement, train and debug their
|
||
own neural networks and gain a detailed understanding of cutting-edge
|
||
research in computer vision.</li>
|
||
<li><a href="http://cs231n.stanford.edu/syllabus.html">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=NfnWJUyUJYU&list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC">Lecture
|
||
Videos</a></li>
|
||
<li><a href="http://cs231n.github.io/">Github Page</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/">CS 287</a>
|
||
<strong>Advanced Robotics</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>The course introduces the math and algorithms underneath
|
||
state-of-the-art robotic systems. The majority of these techniques are
|
||
heavily based on probabilistic reasoning and optimization—two areas with
|
||
wide applicability in modern Artificial Intelligence. An intended
|
||
side-effect of the course is to generally strengthen your expertise in
|
||
these two areas.</li>
|
||
<li><a
|
||
href="http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/#syllabus">Lectures
|
||
Notes</a></li>
|
||
<li><a
|
||
href="http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/#assignments">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.nr.com/CS395T/">CS 395T</a> <strong>Statistical
|
||
and Discrete Methods for Scientific Computing</strong> <em>University of
|
||
Texas</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>Practical course in applying modern statistical techniques to real
|
||
data, particularly bioinformatic data and large data sets. The emphasis
|
||
is on efficient computation and concise coding, mostly in MATLAB and
|
||
C++. Topics covered include probability theory and Bayesian inference;
|
||
univariate distributions; Central Limit Theorem; generation of random
|
||
deviates; tail (p-value) tests; multiple hypothesis correction;
|
||
empirical distributions; model fitting; error estimation; contingency
|
||
tables; multivariate normal distributions; phylogenetic clustering;
|
||
Gaussian mixture models; EM methods; maximum likelihood estimation;
|
||
Markov Chain Monte Carlo; principal component analysis; dynamic
|
||
programming; hidden Markov models; performance measures for classifiers;
|
||
support vector machines; Wiener filtering; wavelets; multidimensional
|
||
interpolation; information theory.</li>
|
||
<li><a href="http://wpressutexas.net/forum/">Lectures and
|
||
Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS4780/2014fa/">CS
|
||
4780</a> <strong>Machine Learning</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course will introduce you to technologies for building
|
||
data-centric information systems on the World Wide Web, show the
|
||
practical applications of such systems, and discuss their design and
|
||
their social and policy context by examining cross-cutting issues such
|
||
as citizen science, data journalism and open government. Course work
|
||
involves lectures and readings as well as weekly homework assignments,
|
||
and a semester-long project in which the students demonstrate their
|
||
expertise in building data-centric Web information systems.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4780/2014fa/">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4780/2014fa/">Lectures</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4786/2015sp/index.htm">CS
|
||
4786</a> <strong>Machine Learning for Data Science</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>An introductory course in machine learning, with a focus on data
|
||
modeling and related methods and learning algorithms for data sciences.
|
||
Tentative topic list:
|
||
<ul>
|
||
<li>Dimensionality reduction, such as principal component analysis (PCA)
|
||
and the singular value decomposition (SVD), canonical correlation
|
||
analysis (CCA), independent component analysis (ICA), compressed
|
||
sensing, random projection, the information bottleneck. (We expect to
|
||
cover some, but probably not all, of these topics).</li>
|
||
<li>Clustering, such as k-means, Gaussian mixture models, the
|
||
expectation-maximization (EM) algorithm, link-based clustering. (We do
|
||
not expect to cover hierarchical or spectral clustering.).</li>
|
||
<li>Probabilistic-modeling topics such as graphical models,
|
||
latent-variable models, inference (e.g., belief propagation), parameter
|
||
learning.</li>
|
||
<li>Regression will be covered if time permits.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4786/2015sp/assignments.htm">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4786/2015sp/lectures.htm">Lectures</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/info">CVX
|
||
101</a> <strong>Convex Optimization</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The course concentrates on recognizing and solving convex
|
||
optimization problems that arise in applications. Topics addressed
|
||
include the following. Convex sets, functions, and optimization
|
||
problems. Basics of convex analysis. Least-squares, linear and quadratic
|
||
programs, semidefinite programming, minimax, extremal volume, and other
|
||
problems. Optimality conditions, duality theory, theorems of
|
||
alternative, and applications. Interior-point methods. Applications to
|
||
signal processing, statistics and machine learning, control and
|
||
mechanical engineering, digital and analog circuit design, and
|
||
finance.</li>
|
||
<li><a href="http://web.stanford.edu/~boyd/cvxbook/">Textbook</a></li>
|
||
<li><a
|
||
href="https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/courseware/7206c57866504e83821d00b5d3f80793/">Lectures
|
||
and Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule">DS-GA
|
||
1008</a> <strong>Deep Learning</strong> <em>New York University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>This increasingly popular course is taught through the Data Science
|
||
Center at NYU. Originally introduced by <a
|
||
href="http://yann.lecun.com/">Yann Lecun</a>, it is now led by <a
|
||
href="http://www.harchaoui.eu/">Zaid Harchaoui</a>, although Prof. Lecun
|
||
is rumored to still stop by from time to time. It covers the theory,
|
||
technique, and tricks that are used to achieve very high accuracy for
|
||
machine learning tasks in computer vision and natural language
|
||
processing. The assignments are in Lua and hosted on Kaggle.</li>
|
||
<li><a
|
||
href="http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule">Course
|
||
Page</a></li>
|
||
<li><a
|
||
href="http://techtalks.tv/deep-learning-nyu-spring-2015/">Recorded
|
||
Lectures</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.ee.columbia.edu/~cylin/course/bigdata/">EECS
|
||
E6893 & EECS E6895</a> <strong>Big Data Analytics & Advanced Big
|
||
Data Analytics</strong> <em>Columbia University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Students will gain knowledge on analyzing Big Data. It serves as an
|
||
introductory course for graduate students who are expecting to face Big
|
||
Data storage, processing, analysis, visualization, and application
|
||
issues on both workplaces and research environments.</li>
|
||
<li>Taught by <a
|
||
href="http://researcher.watson.ibm.com/researcher/view.php?person=us-chingyung">Dr. Ching-Yung
|
||
Lin</a></li>
|
||
<li><a href="http://www.ee.columbia.edu/~cylin/course/bigdata/">Course
|
||
Site</a></li>
|
||
<li>Assignments - Assignments are present in the Course Slides</li>
|
||
</ul></li>
|
||
<li><a href="http://llcao.net/cu-deeplearning15/index.html">EECS
|
||
E6894</a> <strong>Deep Learning for Computer Vision and Natural Language
|
||
Processing</strong> <em>Columbia University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This graduate level research class focuses on deep learning
|
||
techniques for vision and natural language processing problems. It gives
|
||
an overview of the various deep learning models and techniques, and
|
||
surveys recent advances in the related fields. This course uses Theano
|
||
as the main programming tool. GPU programming experiences are preferred
|
||
although not required. Frequent paper presentations and a heavy
|
||
programming workload are expected.</li>
|
||
<li><a
|
||
href="http://llcao.net/cu-deeplearning15/reading.html">Readings</a></li>
|
||
<li><a
|
||
href="http://llcao.net/cu-deeplearning15/programming_problem.html">Assignments</a></li>
|
||
<li><a href="http://llcao.net/cu-deeplearning15/index.html">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
<li><a href="http://stanford.edu/class/ee103/">EE103</a>
|
||
<strong>Introduction to Matrix Methods</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The course covers the basics of matrices and vectors, solving linear
|
||
equations, least-squares methods, and many applications. It’ll cover the
|
||
mathematics, but the focus will be on using matrix methods in
|
||
applications such as tomography, image processing, data fitting, time
|
||
series prediction, finance, and many others. EE103 is based on a book
|
||
that <a href="http://stanford.edu/~boyd/">Stephen Boyd</a> and <a
|
||
href="http://www.seas.ucla.edu/~vandenbe/">Lieven Vandenberghe</a> are
|
||
currently writing. Students will use a new language called <a
|
||
href="http://julialang.org/">Julia</a> to do computations with matrices
|
||
and vectors.</li>
|
||
<li><a
|
||
href="http://stanford.edu/class/ee103/lectures.html">Lectures</a></li>
|
||
<li><a href="http://stanford.edu/class/ee103/mma.html">Book</a></li>
|
||
<li><a
|
||
href="http://stanford.edu/class/ee103/homework.html">Assignments</a></li>
|
||
<li><a href="http://stanford.edu/class/ee103/julia_files">Code</a></li>
|
||
</ul></li>
|
||
<li><a href="http://course.fast.ai/ml.html">Fast.ai Introduction to
|
||
Machine Learning for Coders</a> <em>Fast.ai / University of San
|
||
Francisco</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>There are around 24 hours of lessons, and you should plan to spend
|
||
around 8 hours a week for 12 weeks to complete the material. The course
|
||
is based on lessons recorded at the University of San Francisco for the
|
||
Masters of Science in Data Science program. We assume that you have at
|
||
least one year of coding experience, and either remember what you
|
||
learned in high school math, or are prepared to do some independent
|
||
study to refresh your knowledge.</li>
|
||
<li><a href="http://course.fast.ai/lessonsml1/lessonsml1.html">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="https://medium.com/@hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236">Lecture
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://github.com/fastai/fastai/tree/master/courses/ml1">Jupyter
|
||
Notebooks</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.ischool.berkeley.edu/courses/i290-abdt">Info
|
||
290</a> <strong>Analyzing Big Data with Twitter</strong> <em>UC Berkeley
|
||
school of information</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<ul>
|
||
<li>In this course, UC Berkeley professors and Twitter engineers provide
|
||
lectures on the most cutting-edge algorithms and software tools for data
|
||
analytics as applied to Twitter’s data. Topics include applied natural
|
||
language processing algorithms such as sentiment analysis, large scale
|
||
anomaly detection, real-time search, information diffusion and outbreak
|
||
detection, trend detection in social streams, recommendation algorithms,
|
||
and advanced frameworks for distributed computing.</li>
|
||
<li><a
|
||
href="http://www.ischool.berkeley.edu/newsandevents/audiovideo/webcast/21963">Lecture
|
||
Videos</a></li>
|
||
<li><a href="http://blogs.ischool.berkeley.edu/i290-abdt-s12/">Previous
|
||
Years coursepage</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/">Machine
|
||
Learning: 2014-2015</a> <em>University of Oxford</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>The course focusses on neural networks and uses the <a
|
||
href="https://github.com/torch/torch7/wiki/Cheatsheet">Torch</a> deep
|
||
learning library (implemented in Lua) for exercises and assignments.
|
||
Topics include: logistic regression, back-propagation, convolutional
|
||
neural networks, max-margin learning, siamese networks, recurrent neural
|
||
networks, LSTMs, hand-writing with recurrent neural networks,
|
||
variational autoencoders and image generation and reinforcement
|
||
learning</li>
|
||
<li><a
|
||
href="https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/">Lectures
|
||
and Assignments</a></li>
|
||
<li><a href="https://github.com/oxford-cs-ml-2015/">Source code</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about">StatLearning</a>
|
||
<strong>Intro to Statistical Learning</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<ul>
|
||
<li>This is an introductory-level course in supervised learning, with a
|
||
focus on regression and classification methods. The syllabus includes:
|
||
linear and polynomial regression, logistic regression and linear
|
||
discriminant analysis; cross-validation and the bootstrap, model
|
||
selection and regularization methods (ridge and lasso); nonlinear
|
||
models, splines and generalized additive models; tree-based methods,
|
||
random forests and boosting; support-vector machines.</li>
|
||
<li>The lectures cover all the material in <a
|
||
href="http://www-bcf.usc.edu/~gareth/ISL/">An Introduction to
|
||
Statistical Learning, with Applications in R</a> which is a more
|
||
approachable version of the <a
|
||
href="http://statweb.stanford.edu/~tibs/ElemStatLearn/">Elements of
|
||
Statistical Learning</a> (or ESL) book.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cmu.edu/~ninamf/courses/601sp15/">10-601</a>
|
||
<strong>Machine Learning</strong> <em>Carnegie Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<ul>
|
||
<li>This course covers the theory and practical algorithms for machine
|
||
learning from a variety of perspectives. It covers topics such as
|
||
Bayesian networks, decision tree learning, Support Vector Machines,
|
||
statistical learning methods, unsupervised learning and reinforcement
|
||
learning. The course covers theoretical concepts such as inductive bias,
|
||
the PAC learning framework, Bayesian learning methods, margin-based
|
||
learning, and Occam’s Razor. Short programming assignments include
|
||
hands-on experiments with various learning algorithms. This course is
|
||
designed to give a graduate-level student a thorough grounding in the
|
||
methodologies, technologies, mathematics and algorithms currently needed
|
||
by people who do research in machine learning.</li>
|
||
<li>Taught by one of the leading experts on Machine Learning -
|
||
<strong>Tom Mitchell</strong></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml">Lectures</a></li>
|
||
<li><a href="http://www.cs.cmu.edu/~tom/10701_sp11/proj.shtml">Project
|
||
Ideas and Datasets</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~epxing/Class/10708-14/index.html">10-708</a>
|
||
<strong>Probabilistic Graphical Models</strong> <em>Carnegie Mellon
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Many of the problems in artificial intelligence, statistics,
|
||
computer systems, computer vision, natural language processing, and
|
||
computational biology, among many other fields, can be viewed as the
|
||
search for a coherent global conclusion from local information. The
|
||
probabilistic graphical models framework provides a unified view for
|
||
this wide range of problems, enabling efficient inference,
|
||
decision-making and learning in problems with a very large number of
|
||
attributes and huge datasets. This graduate-level course will provide
|
||
you with a strong foundation for both applying graphical models to
|
||
complex problems and for addressing core research topics in graphical
|
||
models.</li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~epxing/Class/10708-14/homework.html">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html">Lecture
|
||
notes</a></li>
|
||
<li><a
|
||
href="http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html">Readings</a></li>
|
||
</ul></li>
|
||
<li><a href="http://deeplearning.cs.cmu.edu/">11-785</a> <strong>Deep
|
||
Learning</strong> <em>Carnegie Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The course presents the subject through a series of seminars and
|
||
labs, which will explore it from its early beginnings, and work
|
||
themselves to some of the state of the art. The seminars will cover the
|
||
basics of deep learning and the underlying theory, as well as the
|
||
breadth of application areas to which it has been applied, as well as
|
||
the latest issues on learning from very large amounts of data. We will
|
||
concentrate largely, although not entirely, on the connectionist
|
||
architectures that are most commonly associated with it.
|
||
<em>Lectures</em> and <em>Reading Notes</em> are available on the
|
||
page.</li>
|
||
</ul></li>
|
||
<li><a href="http://web.stanford.edu/class/cs246/">CS246</a>
|
||
<strong>Mining Massive Data Sets</strong> <em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The course will discuss data mining and machine learning algorithms
|
||
for analyzing very large amounts of data. The emphasis will be on Map
|
||
Reduce as a tool for creating parallel algorithms that can process very
|
||
large amounts of data.</li>
|
||
<li><a href="http://www.mmds.org/#mooc">Lecture Videos</a></li>
|
||
<li><a
|
||
href="http://web.stanford.edu/class/cs246/handouts.html">Assignments</a></li>
|
||
<li><a href="http://web.stanford.edu/class/cs246/handouts.html">Lecture
|
||
notes</a></li>
|
||
<li><a href="http://www.mmds.org/#book">Readings</a></li>
|
||
</ul></li>
|
||
<li><a href="http://web.stanford.edu/class/cs276/index.html">CS276</a>
|
||
<strong>Information Retrieval and Web Search</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Basic and advanced techniques for text-based information systems:
|
||
efficient text indexing; Boolean and vector space retrieval models;
|
||
evaluation and interface issues; Web search including crawling,
|
||
link-based algorithms, and Web metadata; text/Web clustering,
|
||
classification; text mining.</li>
|
||
<li><a
|
||
href="http://web.stanford.edu/class/cs276/index.html#syllabus">Lecture
|
||
notes</a></li>
|
||
<li><a
|
||
href="http://web.stanford.edu/class/cs276/index.html#books">Readings</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://github.com/yandexdataschool/Practical_RL">Practical_RL</a>
|
||
<strong>Reinforcement Learning in the Wild</strong> <em>Yandex SDA</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>A course on reinforcement learning in the wild. Taught on-campus in
|
||
HSE and Yandex SDA (russian) and maintained to be friendly to online
|
||
students (both english and russian).</li>
|
||
<li><a
|
||
href="https://github.com/yandexdataschool/Practical_RL#syllabus">Syllabus</a></li>
|
||
</ul></li>
|
||
<li><a href="http://uvadlc.github.io/">UvA DEEP LEARNING</a> <strong>UvA
|
||
Deep Learning Course</strong> <em>University of Amsterdam</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course is taught in the MSc program in Artificial Intelligence
|
||
of the University of Amsterdam. In this course we study the theory of
|
||
deep learning, namely of modern, multi-layered neural networks trained
|
||
on big data. The course focuses particularly on computer vision and
|
||
language modelling, which are perhaps two of the most recognizable and
|
||
impressive applications of the deep learning theory.</li>
|
||
<li><a href="http://uvadlc.github.io/#lecture">Lecture Videos &
|
||
Notes</a></li>
|
||
<li><a href="http://uvadlc.github.io/#practicals">Practicals</a></li>
|
||
<li><a href="http://uvadlc.github.io/#other-links">Readings</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
<hr />
|
||
<h3 id="security">Security</h3>
|
||
<ul>
|
||
<li><a
|
||
href="http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/">CIS
|
||
4930 / CIS 5930</a> <strong>Offensive Computer Security</strong>
|
||
<em>Florida State University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Course taught by <a href="http://ww2.cs.fsu.edu/~redwood/">W. Owen
|
||
Redwood</a> and <a href="http://www.cs.fsu.edu/~liux/">Xiuwen Liu</a>.
|
||
It covers a wide range of computer security topics, starting from Secure
|
||
C Coding and Reverse Engineering to Penetration Testing, Exploitation
|
||
and Web Application Hacking, both from the defensive and the offensive
|
||
point of view.</li>
|
||
<li><a
|
||
href="http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/lectures.html">Lectures
|
||
and Videos</a></li>
|
||
<li><a
|
||
href="http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="https://crypto.stanford.edu/cs155/">CS 155</a>
|
||
<strong>Computer and Network Security</strong> <em>Stanford</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Principles of computer systems security. Attack techniques and how
|
||
to defend against them. Topics include: network attacks and defenses,
|
||
operating system holes, application security (web, email, databases),
|
||
viruses, social engineering attacks, privacy, and digital rights
|
||
management. Course projects focus on building reliable code.
|
||
Recommended: Basic Unix. Primarily intended for seniors and first-year
|
||
graduate students.</li>
|
||
</ul></li>
|
||
<li><a href="http://www-inst.eecs.berkeley.edu/~cs161/sp15/">CS 161</a>
|
||
<strong>Computer Security</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Introduction to computer security. Cryptography, including
|
||
encryption, authentication, hash functions, cryptographic protocols, and
|
||
applications. Operating system security, access control. Network
|
||
security, firewalls, viruses, and worms. Software security, defensive
|
||
programming, and language-based security. Case studies from real-world
|
||
systems.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courseware.stanford.edu/pg/courses/331628/cs259-winter-2013">CS
|
||
259</a> <strong>Security Modeling and Analysis</strong>
|
||
<em>Stanford</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>The course will cover a variety of contemporary network protocols
|
||
and other systems with security properties. The course goal is to give
|
||
students hands-on experience in using automated tools and related
|
||
techniques to analyze and evaluate security mechanisms. To understand
|
||
security properties and requirements, we will look at several network
|
||
protocols and their properties, including secrecy, authentication, key
|
||
establishment, and fairness. In parallel, the course will look at
|
||
several models and tools used in security analysis and examine their
|
||
advantages and limitations. In addition to fully automated finite-state
|
||
model checking techniques, we will also study other approaches, such as
|
||
constraint solving, process algebras, protocol logics, probabilistic
|
||
model checking, game theory, and executable models based on logic
|
||
programming.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.icir.org/vern/cs261n-Sp14/">CS 261</a>
|
||
<strong>Internet/Network Security</strong> <em>UC Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This class aims to provide a thorough grounding in network security
|
||
suitable for those interested in conducting research in the area, as
|
||
well as students more generally interested in either security or
|
||
networking. We will also look at broader issues relating to Internet
|
||
security for which networking plays a role. Topics include:
|
||
denial-of-service; capabilities; network intrusion detection; worms;
|
||
forensics; scanning; traffic analysis / inferring activity;
|
||
architecture; protocol issues; legality and ethics; web attacks;
|
||
anonymity; honeypots; botnets; spam; the underground economy; research
|
||
pitfalls. The course is taught with an emphasis on seminal papers rather
|
||
than bleeding-edge for a given topic.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS5430/2013sp/">CS
|
||
5430</a> <strong>System Security</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>This course discusses security for computers and networked
|
||
information systems. We focus on abstractions, principles, and defenses
|
||
for implementing military as well as commercial-grade secure
|
||
systems.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS5430/2013sp/01.intro.html">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS5430/2013sp/02.outline.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS5430/2013sp/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/RPISEC/MBE">CSCI 4968</a> <strong>Modern
|
||
Binary Exploitation</strong> <em>Rensselaer Polytechnic Institute</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>This repository contains the materials as developed and used by <a
|
||
href="http://rpis.ec">RPISEC</a> to teach Modern Binary Exploitation at
|
||
<a href="http://rpi.edu">Rensselaer Polytechnic Institute</a> in Spring
|
||
2015. This was a university course developed and run solely by students
|
||
to teach skills in vulnerability research, reverse engineering, and
|
||
binary exploitation.</li>
|
||
<li><a
|
||
href="http://security.cs.rpi.edu/courses/binexp-spring2015/lectures/">Lectures
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://github.com/RPISEC/MBE/tree/master/src">Labs</a></li>
|
||
<li><a
|
||
href="https://github.com/RPISEC/MBE/tree/master/src">Projects</a></li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/RPISEC/Malware">CSCI 4976</a>
|
||
<strong>Malware Analysis</strong> <em>Rensselaer Polytechnic
|
||
Institute</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>This repository contains the materials as developed and used by <a
|
||
href="http://rpis.ec">RPISEC</a> to teach Malware Analysis at <a
|
||
href="http://rpi.edu">Rensselaer Polytechnic Institute</a> in Fall 2015.
|
||
This was a university course developed and run solely by students,
|
||
primarily using the</li>
|
||
</ul></li>
|
||
<li><a href="https://www.eecs.umich.edu/courses/eecs588/">EECS 588</a>
|
||
<strong>Computer & Network Security</strong> <em>University of
|
||
Michigan</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Taught by <a href="https://jhalderm.com/">J. Alex Halderman</a> who
|
||
has analyzed the security of Electronic Voting Machines in the <a
|
||
href="https://jhalderm.com/pub/papers/dcvoting-fc12.pdf">US</a> and <a
|
||
href="https://jhalderm.com/pub/papers/ivoting-ccs14.pdf">over</a> <a
|
||
href="https://jhalderm.com/pub/papers/evm-ccs10.pdf">seas</a>.</li>
|
||
<li>This intensive research seminar covers foundational work and current
|
||
topics in computer systems security.</li>
|
||
<li><a
|
||
href="https://www.eecs.umich.edu/courses/eecs588/readings.html">Readings</a>
|
||
<a
|
||
href="http://www.amazon.com/Practical-Malware-Analysis-Dissecting-Malicious/dp/1593272901">Practical
|
||
Malware Analysis</a> book by Michael Sikorski and Andrew Honig, to teach
|
||
skills in reverse engineering, malicious behaviour, malware, and
|
||
anti-analysis techniques.</li>
|
||
<li><a
|
||
href="https://github.com/RPISEC/Malware/tree/master/Lectures">Lectures
|
||
Notes</a></li>
|
||
<li><a
|
||
href="https://github.com/RPISEC/Malware/tree/master/Labs">Labs</a></li>
|
||
<li><a
|
||
href="https://github.com/RPISEC/Malware/tree/master/Projects">Projects</a></li>
|
||
</ul></li>
|
||
<li><a href="https://courses.csail.mit.edu/6.857/2015/">6.857</a>
|
||
<strong>Computer and Network Security</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Emphasis on applied cryptography and may include: basic notion of
|
||
systems security, cryptographic hash functions, symmetric cryptography
|
||
(one-time pad, stream ciphers, block ciphers), cryptanalysis,
|
||
secret-sharing, authentication codes, public-key cryptography
|
||
(encryption, digital signatures), public-key attacks, web browser
|
||
security, biometrics, electronic cash, viruses, electronic voting,
|
||
Assignments include a group final project. Topics may vary year to year.
|
||
<a href="https://courses.csail.mit.edu/6.857/2015/handouts">Lecture
|
||
Notes</a> <a
|
||
href="https://courses.csail.mit.edu/6.857/2015/references">References</a></li>
|
||
</ul></li>
|
||
<li><a href="http://css.csail.mit.edu/6.858/2014/">6.858</a>
|
||
<strong>Computer Systems Security</strong> <em>MIT</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Design and implementation of secure computer systems. Lectures cover
|
||
threat models, attacks that compromise security, and techniques for
|
||
achieving security, based on recent research papers. Topics include
|
||
operating system (OS) security, capabilities, information flow control,
|
||
language security, network protocols, hardware security, and security in
|
||
web applications.</li>
|
||
<li>Taught by <a
|
||
href="http://research.microsoft.com/en-us/people/mickens/">James
|
||
Mickens</a> and <a href="http://people.csail.mit.edu/nickolai/">Nickolai
|
||
Zeldovich</a></li>
|
||
<li><a href="http://css.csail.mit.edu/6.858/2014/schedule.html">Video
|
||
Lectures and Labs</a></li>
|
||
<li><a
|
||
href="http://css.csail.mit.edu/6.858/2014/quiz.html">Quizzes</a></li>
|
||
<li><a
|
||
href="http://css.csail.mit.edu/6.858/2014/reference.html">Readings</a></li>
|
||
<li><a href="http://css.csail.mit.edu/6.858/2014/projects.html">Final
|
||
Projects</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courseware.stanford.edu/pg/courses/334553/18636-spring-2013">18-636</a>
|
||
<strong>Browser Security</strong> <em>Stanford</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>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.</li>
|
||
</ul></li>
|
||
</ul>
|
||
<table style="width:11%;">
|
||
<colgroup>
|
||
<col style="width: 11%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th>### Artificial Intelligence</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td>### Computer Graphics - <a
|
||
href="http://crcv.ucf.edu/courses/CAP5415/">CAP 5415</a>
|
||
<strong>Computer Vision</strong> <em>University of Central Florida</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
- An introductory level course covering the basic topics of computer
|
||
vision, and introducing some fundamental approaches for computer vision
|
||
research. - <a
|
||
href="http://crcv.ucf.edu/videos/Lecture_Videos/">Lectures and
|
||
Videos</a> - <a
|
||
href="http://crcv.ucf.edu/courses/CAP5415/Fall2014/index.php">Assignments</a>
|
||
- <a
|
||
href="https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=CIS_581:_Computer_Vision_%26_Computational_Photography">CIS
|
||
581</a> <strong>Computer Vision and Computational Photography</strong>
|
||
<em>University of Pennsylvania</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- An introductory course in computer vision and computational
|
||
photography focusing on four topics: image features, image morphing,
|
||
shape matching, and image search. - <a
|
||
href="https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=Schedule">Lectures</a>
|
||
- <a
|
||
href="https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=Projects">Assignments</a>
|
||
- <a href="http://15462.courses.cs.cmu.edu/fall2015">CMU 462</a>
|
||
<strong>Computer Graphics</strong> <em>Carnegie Mellon University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- This course provides a comprehensive introduction to computer
|
||
graphics. Focuses on fundamental concepts and techniques, and their
|
||
cross-cutting relationship to multiple problem domains in graphics
|
||
(rendering, animation, geometry, imaging). Topics include: sampling,
|
||
aliasing, interpolation, rasterization, geometric transformations,
|
||
parameterization, visibility, compositing, filtering, convolution,
|
||
curves & surfaces, geometric data structures, subdivision, meshing,
|
||
spatial hierarchies, ray tracing, radiometry, reflectance, light fields,
|
||
geometric optics, Monte Carlo rendering, importance sampling, camera
|
||
models, high-performance ray tracing, differential equations, time
|
||
integration, numerical differentiation, physically-based animation,
|
||
optimization, numerical linear algebra, inverse kinematics, Fourier
|
||
methods, data fitting, example-based synthesis. - <a
|
||
href="http://15462.courses.cs.cmu.edu/fall2015/reading">Lectures and
|
||
Readings</a> - <a
|
||
href="http://15462.courses.cs.cmu.edu/fall2015/exercises">Assignments
|
||
and Quizes</a> - <a
|
||
href="https://github.com/ut-cs378-vision-2014fall/course-info">CS
|
||
378</a> <strong>3D Reconstruction with Computer Vision</strong>
|
||
<em>UTexas</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- In this lab-based class, we’ll dive into practical applications of 3D
|
||
reconstruction, combining hardware and software to build our own 3D
|
||
environments from scratch. We’ll use open-source frameworks like OpenCV
|
||
to do the heavy lifting, with the focus on understanding and applying
|
||
state-of-the art approaches to geometric computer vision - <a
|
||
href="https://github.com/ut-cs378-vision-2014fall/course-info/tree/master/meeting-notes">Lectures</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#">CS
|
||
4620</a> <strong>Introduction to Computer Graphics</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" />
|
||
- The study of creating, manipulating, and using visual images in the
|
||
computer. - <a
|
||
href="http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#asgn">Assignments</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#exams">Exams</a>
|
||
- <a href="http://www.cs.cornell.edu/courses/CS4670/2015sp/">CS 4670</a>
|
||
<strong>Introduction to Computer Vision</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
- This course will provide an introduction to computer vision, with
|
||
topics including image formation, feature detection, motion estimation,
|
||
image mosaics, 3D shape reconstruction, and object and face detection
|
||
and recognition. Applications of these techniques include building 3D
|
||
maps, creating virtual characters, organizing photo and video databases,
|
||
human computer interaction, video surveillance, automatic vehicle
|
||
navigation, and mobile computer vision. This is a project-based course,
|
||
in which you will implement several computer vision algorithms
|
||
throughout the semester. - <a
|
||
href="http://www.cs.cornell.edu/courses/CS4670/2015sp/projects/projects.html">Assignments</a>
|
||
- <a
|
||
href="http://www.cs.cornell.edu/courses/CS4670/2015sp/lectures/lectures.html">Lectures</a>
|
||
- <a href="https://canvas.instructure.com/courses/904706">CS 6670</a>
|
||
<strong>Computer Vision</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- Introduction to computer vision. Topics include edge detection, image
|
||
segmentation, stereopsis, motion and optical flow, image mosaics, 3D
|
||
shape reconstruction, and object recognition. Students are required to
|
||
implement several of the algorithms covered in the course and complete a
|
||
final project. - <a
|
||
href="https://canvas.instructure.com/courses/904706/assignments/syllabus">Syllabus</a>
|
||
- <a href="https://canvas.instructure.com/courses/904706">Lectures</a> -
|
||
<a
|
||
href="https://canvas.instructure.com/courses/904706/assignments">Assignments</a>
|
||
- <a href="http://cs.brown.edu/courses/csci1230/index.html">CSCI
|
||
1230</a> <strong>Introduction to Computer Graphics</strong> <em>Brown
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
- This course offers an in-depth exploration of fundamental concepts in
|
||
2D and 3D computer graphics. It introduces 2D raster graphics
|
||
techniques, including scan conversion, simple image processing,
|
||
interaction techniques and user interface design. The bulk of the course
|
||
is devoted to 3D modeling, geometric transformations, and 3D viewing and
|
||
rendering. - <a
|
||
href="http://cs.brown.edu/courses/csci1230/lectures.html">Lectures</a> -
|
||
<a href="http://cs.brown.edu/courses/csci1230/labs.html">Labs</a> - <a
|
||
href="http://cs.brown.edu/courses/csci1230/demos.html">Demos</a> - <a
|
||
href="https://mrl.nyu.edu/~perlin/courses/fall2015/">CSCI-GA.2270-001</a>
|
||
<strong>Graduate Computer Graphics</strong> <em>New York University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" />
|
||
- Step-by-step study computer graphics, with reading and homework at
|
||
each lecture (Fall2015) - <a
|
||
href="https://mrl.nyu.edu/~perlin/courses/fall2015/">Lectures</a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h3 id="misc">Misc</h3>
|
||
<ul>
|
||
<li><a href="http://am207.github.io/2016/index.html">AM 207</a>
|
||
<strong>Monte Carlo Methods and Stochastic Optimization</strong>
|
||
<em>Harvard University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<ul>
|
||
<li>This course introduces important principles of Monte Carlo
|
||
techniques and demonstrates the power of these techniques with simple
|
||
(but very useful) applications. All of this in Python!</li>
|
||
<li><a
|
||
href="http://cm.dce.harvard.edu/2015/02/24104/publicationListing.shtml">Lecture
|
||
Videos</a></li>
|
||
<li><a
|
||
href="http://am207.github.io/2016/homework.html">Assignments</a></li>
|
||
<li><a href="http://am207.github.io/2016/lectures.html">Lecture
|
||
Notes</a></li>
|
||
</ul></li>
|
||
<li><a href="http://ocw.tufts.edu/Course/75">CS 75</a>
|
||
<strong>Introduction to Game Development</strong> <em>Tufts
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>The course taught by <a href="http://mchow01.github.io">Ming Y.
|
||
Chow</a> teaches game development initially in PyGame through Python,
|
||
before moving on to addressing all facets of game development. Topics
|
||
addressed include game physics, sprites, animation, game development
|
||
methodology, sound, testing, MMORPGs and online games, and addressing
|
||
mobile development in Android, HTML5, and iOS. Most to all of the
|
||
development is focused on PyGame for learning principles</li>
|
||
<li><a href="http://ocw.tufts.edu/Course/75/Learningunits">Text
|
||
Lectures</a></li>
|
||
<li><a
|
||
href="http://ocw.tufts.edu/Course/75/Assignments">Assignments</a></li>
|
||
<li><a href="http://ocw.tufts.edu/Course/75/Labs">Labs</a></li>
|
||
</ul></li>
|
||
<li><a href="https://cs50.github.io/games/">CS 50</a> <strong>Intro to
|
||
Game Developement</strong> <em>Harvard University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course picks up where Harvard College’s <a
|
||
href="https://cs50.harvard.edu/">CS50</a> leaves off, focusing on the
|
||
development of 2D and 3D interactive games. Students explore the design
|
||
of such childhood games as Super Mario Bros., Legend of Zelda, and
|
||
Portal in a quest to understand how video games themselves are
|
||
implemented. Via lectures and hands-on projects, the course explores
|
||
principles of 2D and 3D graphics, animation, sound, and collision
|
||
detection using frameworks like Unity and <a
|
||
href="https://love2d.org/">LÖVE 2D</a>, as well as languages like Lua
|
||
and C#. By class’s end, students will have programmed several of their
|
||
own games and gained a thorough understanding of the basics of game
|
||
design and development.</li>
|
||
<li><a
|
||
href="https://cs50.github.io/games/assignments">Assignments</a></li>
|
||
<li><a href="https://cs50.github.io/games/lectures">Lecture
|
||
Videos</a></li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/mikeizbicki/ucr-cs100">CS 100</a>
|
||
<strong>Open Source Software Construction</strong> <em>UC Riverside</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This is a course on how to be a hacker. Your first four homework
|
||
assignments walk you through the process of building your own unix
|
||
shell. You’ll be developing it as an open source project, and you will
|
||
collaborate with each other at various points.</li>
|
||
<li><a href="https://github.com/mikeizbicki/ucr-cs100">Github
|
||
Page</a></li>
|
||
<li><a
|
||
href="https://github.com/mikeizbicki/ucr-cs100/tree/2015winter/assignments">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://web.stanford.edu/class/archive/cs/cs108/cs108.1092/">CS
|
||
108</a> <strong>Object Oriented System Design</strong> <em>Stanford</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Software design and construction in the context of large OOP
|
||
libraries. Taught in Java. Topics: OOP design, design patterns, testing,
|
||
graphical user interface (GUI) OOP libraries, software engineering
|
||
strategies, approaches to programming in teams.</li>
|
||
</ul></li>
|
||
<li><a href="https://inst.eecs.berkeley.edu/~cs168/fa15/">CS 168</a>
|
||
<strong>Computer Networks</strong> <em>UC
|
||
Berkeley</em><img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This is an undergraduate level course covering the fundamental
|
||
concepts of networking as embodied in the Internet. The course will
|
||
cover a wide range of topics; see the lecture schedule for more details.
|
||
While the class has a textbook, we will not follow its order of
|
||
presentation but will instead use the text as a reference when covering
|
||
each individual topic. The course will also have several projects that
|
||
involve programming (in Python).</li>
|
||
<li>You should know programming, data structures, and software
|
||
engineering. In terms of mathematics, your algebra should be very solid,
|
||
you need to know basic probability, and you should be comfortable with
|
||
thinking abstractly. The TAs will spend very little time reviewing
|
||
material that is not specific to networking. We assume that you either
|
||
know the material covered in those courses, or are willing to learn the
|
||
material as necessary. We won’t cover any of this material in
|
||
lecture.</li>
|
||
</ul></li>
|
||
<li><a href="http://web.stanford.edu/class/cs193a/lectures.shtml">CS
|
||
193a</a> <strong>Android App Development, Spring 2016</strong>
|
||
<em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Course Description: This course provides an introduction to
|
||
developing applications for the Android mobile platform.</li>
|
||
<li>Prerequisite: CS 106B or equivalent. Java experience highly
|
||
recommended. OOP highly recommmended.</li>
|
||
<li>Devices: Access to an Android phone and/or tablet recommended but
|
||
not required.</li>
|
||
<li>Videos: Videos list can be found <a
|
||
href="http://web.stanford.edu/class/cs193a/videos.shtml">here</a></li>
|
||
<li>Other materials: Some codes, handsout, homework ….. and lecture
|
||
notes are not downloadable on the site due to login requirement. Please
|
||
head to my Github repo <a
|
||
href="https://github.com/VoLuong/Materials-CS193A-Android-App-Development-Standford">here</a>
|
||
to download them.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550">CS
|
||
193p</a> <strong>Developing Applications for iOS</strong> <em>Stanford
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Updated for iOS 7. Tools and APIs required to build applications for
|
||
the iPhone and iPad platform using the iOS SDK. User interface designs
|
||
for mobile devices and unique user interactions using multi-touch
|
||
technologies. Object-oriented design using model-view-controller
|
||
paradigm, memory management, Objective-C programming language. Other
|
||
topics include: object-oriented database API, animation, multi-threading
|
||
and performance considerations.</li>
|
||
<li>Prerequisites: C language and object-oriented programming
|
||
experience</li>
|
||
<li>Recommended: <a
|
||
href="https://itunes.apple.com/us/course/programming-abstractions/id495054099">Programming
|
||
Abstractions</a></li>
|
||
<li><a
|
||
href="https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099">Updated
|
||
courses for iOS8 - Swift</a></li>
|
||
<li><a
|
||
href="https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961">Updated
|
||
courses for iOS9 - Swift</a></li>
|
||
</ul></li>
|
||
<li><a href="https://see.stanford.edu/Course/CS223A">CS 223A</a>
|
||
<strong>Introduction to Robotics</strong> <em>Stanford University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>The purpose of this course is to introduce you to basics of
|
||
modeling, design, planning, and control of robot systems. In essence,
|
||
the material treated in this course is a brief survey of relevant
|
||
results from geometry, kinematics, statics, dynamics, and control.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.berkeley.edu/~brewer/cs262/">CS 262a</a>
|
||
<strong>Advanced Topics in Computer Systems</strong> <em>UC
|
||
Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS262a is the first semester of a year-long sequence on computer
|
||
systems research, including operating systems, database systems, and
|
||
Internet infrastructure systems. The goal of the course is to cover a
|
||
broad array of research topics in computer systems, and to engage you in
|
||
top-flight systems research. The first semester is devoted to basic
|
||
thematic issues and underlying techniques in computer systems, while the
|
||
second semester goes deeper into topics related to scalable, parallel
|
||
and distributed systems. The class is based on a discussion of important
|
||
research papers and a research project.<br />
|
||
</li>
|
||
<li><strong>Parts</strong>: Some Classics, Persistent Storage,
|
||
Concurrency, Higher-Level Models, Virtual Machines, Cloud Computing,
|
||
Parallel and Distributed Computing, Potpourri.<br />
|
||
</li>
|
||
<li>Prerequisites: The historical prerequisite was to pass an entrance
|
||
exam in class, which covered undergraduate operating systems material
|
||
(similar to <a href="https://cs162.eecs.berkeley.edu/">UCB’s CS162</a>).
|
||
There is no longer an exam. However, if you have not already taken a
|
||
decent undergrad OS class, you should talk with me before taking this
|
||
class. The exam had the benefit of “paging in” the undergrad material,
|
||
which may have been its primary value (since the pass rate was
|
||
high).</li>
|
||
<li><a href="http://www.cs.berkeley.edu/~brewer/cs262/">Readings &
|
||
Lectures</a></li>
|
||
</ul></li>
|
||
<li><a href="http://inst.eecs.berkeley.edu/~cs294-101/sp15/">CS 294</a>
|
||
<strong>Cutting-edge Web Technologies</strong> <em>Berkeley</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Want to learn what makes future web technologies tick? Join us for
|
||
the class where we will dive into the internals of many of the newest
|
||
web technologies, analyze and dissect them. We will conduct survey
|
||
lectures to provide the background and overview of the area as well as
|
||
invite guest lecturers from various leading projects to present their
|
||
technologies.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://video.bilkent.edu.tr/course_videos.php?courseid=10">CS
|
||
411</a> <strong>Software Architecture Design</strong> <em>Bilkent
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<ul>
|
||
<li>This course teaches the basic concepts, methods and techniques for
|
||
designing software architectures. The topics include: rationale for
|
||
software architecture design, modeling software architecture design,
|
||
architectural styles/patterns, architectural requirements analysis,
|
||
comparison and evaluation of architecture design methods,
|
||
synthesis-based software architecture design, software product-line
|
||
architectures, domain modeling, domain engineering and application
|
||
engineering, software architecture implementation, evaluating software
|
||
architecture designs.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS3152/2014sp/">CS
|
||
3152</a> <strong>Introduction to Computer Game Development</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>A project-based course in which programmers and designers
|
||
collaborate to make a computer game. This course investigates the theory
|
||
and practice of developing computer games from a blend of technical,
|
||
aesthetic, and cultural perspectives. Technical aspects of game
|
||
architecture include software engineering, artificial intelligence, game
|
||
physics, computer graphics, and networking. Aesthetic and cultural
|
||
include art and modeling, sound and music, game balance, and player
|
||
experience.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3152/2014sp/about/faq.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3152/2014sp/lectures/index.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS3152/2014sp/assignments/index.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS4152/2014sp/">CS
|
||
4152</a> <strong>Advanced Topics in Computer Game Development</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Project-based follow-up course to CS/INFO 3152. Students work in a
|
||
multidisciplinary team to develop a game that incorporates innovative
|
||
game technology. Advanced topics include 3D game development, mobile
|
||
platforms, multiplayer gaming, and nontraditional input devices. There
|
||
is a special emphasis on developing games that can be submitted to
|
||
festivals and competitions, or that can be commercialized.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4152/2014sp/about/faq.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4152/2014sp/sessions/index.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4152/2014sp/assignments/index.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS4154/2014fa/">CS
|
||
4154</a> <strong>Analytics-driven Game Design</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>A project-based course in which programmers and designers
|
||
collaborate to design, implement, and release a video game online
|
||
through popular game portals. In this course, students will use the
|
||
internet to gather data anonymously from players. Students will analyze
|
||
this data in order to improve their game over multiple iterations.
|
||
Technical aspects of this course include programming, database
|
||
architecture, and statistical analysis.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4154/2014fa/about/faq.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4154/2014fa/lectures/index.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4154/2014fa/assignments/index.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://courses.cit.cornell.edu/physics4481-7681_2018fa/">CS
|
||
4812</a> <strong>Quantum Information Processing</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Hardware that exploits quantum phenomena can dramatically alter the
|
||
nature of computation. Though constructing a working quantum computer is
|
||
a formidable technological challenge, there has been much recent
|
||
experimental progress. In addition, the theory of quantum computation is
|
||
of interest in itself, offering strikingly different perspectives on the
|
||
nature of computation and information, as well as providing novel
|
||
insights into the conceptual puzzles posed by the quantum theory. The
|
||
course is intended both for physicists, unfamiliar with computational
|
||
complexity theory or cryptography, and also for computer scientists and
|
||
mathematicians, unfamiliar with quantum mechanics. The prerequisites are
|
||
familiarity (and comfort) with finite dimensional vector spaces over the
|
||
complex numbers, some standard group theory, and ability to count in
|
||
binary.</li>
|
||
<li><a
|
||
href="https://courses.cit.cornell.edu/physics4481-7681_2018fa/">Syllabus</a></li>
|
||
<li><a
|
||
href="https://courses.cit.cornell.edu/physics4481-7681_2018fa/">Lectures</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS4860/2012fa/">CS
|
||
4860</a> <strong>Applied Logic</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>In addition to basic first-order logic, when taught by Computer
|
||
Science this course involves elements of Formal Methods and Automated
|
||
Reasoning. Formal Methods is concerned with proving properties of
|
||
algorithms, specifying programming tasks and synthesizing programs from
|
||
proofs. We will use formal methods tools such as interactive proof
|
||
assistants (see <a href="http://www.nuprl.org">www.nuprl.org</a>). We
|
||
will also spend two weeks on constructive type theory, the language used
|
||
by the Coq and Nuprl proof assistants.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS5150/2014fa/overview.html">CS
|
||
5150</a> <strong>Software Engineering</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Introduction to the practical problems of specifying, designing,
|
||
building, testing, and delivering reliable software systems</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS5150/2014fa/materials.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS5150/2014fa/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/~bindel/class/cs5220-f11/">CS
|
||
5220</a> <strong>Applications of Parallel Computers</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>How do we solve the large-scale problems of science quickly on
|
||
modern computers? How do we measure the performance of new or existing
|
||
simulation codes, and what things can we do to make them run faster? How
|
||
can we best take advantage of features like multicore processors, vector
|
||
units, and graphics co-processors? These are the types of questions we
|
||
will address in CS 5220, Applications of Parallel Computers. Topics
|
||
include:
|
||
<ul>
|
||
<li>Single-processor architecture, caches, and serial performance
|
||
tuning</li>
|
||
<li>Basics of parallel machine organization</li>
|
||
<li>Distributed memory programming with MPI</li>
|
||
<li>Shared memory programming with OpenMP</li>
|
||
<li>Parallel patterns: data partitioning, synchronization, and load
|
||
balancing</li>
|
||
<li>Examples of parallel numerical algorithms</li>
|
||
<li>Applications from science and engineering</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/~bindel/class/cs5220-f11/lectures.html">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/~bindel/class/cs5220-f11/assignments.html">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="https://sites.google.com/site/cs5540sp2013/">CS 5540</a>
|
||
<strong>Computational Techniques for Analyzing Clinical Data</strong>
|
||
<em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>CS5540 is a masters-level course that covers a wide range of
|
||
clinical problems and their associated computational challenges. The
|
||
practice of medicine is filled with digitally accessible information
|
||
about patients, ranging from EKG readings to MRI images to electronic
|
||
health records. This poses a huge opportunity for computer tools that
|
||
make sense out of this data. Computation tools can be used to answer
|
||
seemingly straightforward questions about a single patient’s test
|
||
results (“Does this patient have a normal heart rhythm?”), or to address
|
||
vital questions about large populations (“Is there any clinical
|
||
condition that affects the risks of Alzheimer”). In CS5540 we will look
|
||
at many of the most important sources of clinical data and discuss the
|
||
basic computational techniques used for their analysis, ranging in
|
||
sophistication from current clinical practice to state-of-the-art
|
||
research projects.</li>
|
||
<li><a
|
||
href="https://sites.google.com/site/cs5540sp2013/home/course-description">Syllabus</a></li>
|
||
<li><a
|
||
href="https://sites.google.com/site/cs5540sp2013/lectures">Lectures</a></li>
|
||
<li><a
|
||
href="https://sites.google.com/site/cs5540sp2013/assignments">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://courses2.cit.cornell.edu/cs5724/">CS 5724</a>
|
||
<strong>Evolutionary Computation</strong> <em>Cornell University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course will cover advanced topics in evolutionary algorithms
|
||
and their application to open-ended computational design. The field of
|
||
evolutionary computation tries to address large-scale optimization and
|
||
planning problems through stochastic population-based methods. It draws
|
||
inspiration from evolutionary processes in nature and in engineering,
|
||
and also serves as abstract models for these phenomena. Evolutionary
|
||
processes are generally weak methods that require little information
|
||
about the problem domain and hence can be applied across a wide variety
|
||
of applications. They are especially useful for open-ended problem
|
||
domains for which little formal knowledge exists and the number of
|
||
parameters is undefined, such as for the general engineering design
|
||
process. This course will provide insight to a variety of evolutionary
|
||
computation paradigms, such as genetic algorithms, genetic programming,
|
||
and evolutionary strategies, as well as governing dynamics of
|
||
co-evolution, arms races and mediocre stable states. New methods
|
||
involving symbiosis models and pattern recognition will also be
|
||
presented. The material will be intertwined with discussions of
|
||
representations and results for design problems in a variety of problem
|
||
domains including software, electronics, and mechanics.</li>
|
||
<li><a href="http://courses2.cit.cornell.edu/cs5724/">Syllabus</a></li>
|
||
<li><a
|
||
href="http://courses2.cit.cornell.edu/cs5724/schedule.htm">Lectures</a></li>
|
||
<li><a
|
||
href="http://courses2.cit.cornell.edu/cs5724/">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6452/2012sp/index.php">CS
|
||
6452</a> <strong>Datacenter Networks and Services</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>CS6452 focuses on datacenter networks and services. The emerging
|
||
demand for web services and cloud computing have created need for large
|
||
scale data centers. The hardware and software infrastructure for
|
||
datacenters critically determines the functionality, performance, cost
|
||
and failure tolerance of applications running on that datacenter. This
|
||
course will examine design alternatives for both the hardware
|
||
(networking) infrastructure, and the software infrastructure for
|
||
datacenters.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6452/2012sp/lectures.php">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6452/2012sp/lectures.php">Lectures</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6630/2012sp/about.stm">CS
|
||
6630</a> <strong>Realistic Image Synthesis</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>CS6630 is an introduction to physics-based rendering at the graduate
|
||
level. Starting from the fundamentals of light transport we will look at
|
||
formulations of the Rendering Equation, and a series of Monte Carlo
|
||
methods, from sequential sampling to multiple importance sampling to
|
||
Markov Chains, for solving the equation to make pictures. We’ll look at
|
||
light reflection from surfaces and scattering in volumes, illumination
|
||
from luminaries and environments, and diffusion models for translucent
|
||
materials. We will build working implementations of many of the
|
||
algorithms we study, and learn how to make sure they are actually
|
||
working correctly. It’s fun to watch integrals and probability
|
||
distributions transform into photographs of a slightly too perfect
|
||
synthetic world.</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6630/2012sp/about.stm">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm">Readings</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#">CS
|
||
6640</a> <strong>Computational Photography</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>A course on the emerging applications of computation in photography.
|
||
Likely topics include digital photography, unconventional cameras and
|
||
optics, light field cameras, image processing for photography,
|
||
techniques for combining multiple images, advanced image editing
|
||
algorithms, and projector-camera
|
||
systems.cornell.edu/courses/CS6630/2012sp/about.stm)</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#schedule">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#hw">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS6650/2013fa/">CS
|
||
6650</a> <strong>Computational Motion</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Covers computational aspects of motion, broadly construed. Topics
|
||
include the computer representation, modeling, analysis, and simulation
|
||
of motion, and its relationship to various areas, including
|
||
computational geometry, mesh generation, physical simulation, computer
|
||
animation, robotics, biology, computer vision, acoustics, and
|
||
spatio-temporal databases. Students implement several of the algorithms
|
||
covered in the course and complete a final project. This offering will
|
||
also explore the special role of motion processing in physically based
|
||
sound rendering.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.cs.cornell.edu/courses/CS6840/2014sp/">CS
|
||
6840</a> <strong>Algorithmic Game Theory</strong> <em>Cornell
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments"/>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Algorithmic Game Theory combines algorithmic thinking with
|
||
game-theoretic, or, more generally, economic concepts. The course will
|
||
study a range of topics at this interface</li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6840/2014sp/">Syllabus</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6840/2014sp/">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6840/2014sp/">Assignments</a></li>
|
||
<li><a
|
||
href="http://www.cs.cornell.edu/courses/CS6840/2014sp/">Readings</a></li>
|
||
</ul></li>
|
||
<li><a href="http://courses.cs.washington.edu/courses/cse154/14au/">CSE
|
||
154</a> <strong>Web Programming</strong> <em>University of
|
||
Washington</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course is an introduction to programming for the World Wide
|
||
Web. Covers use of HTML, CSS, PHP, JavaScript, AJAX, and SQL.</li>
|
||
<li><a
|
||
href="http://courses.cs.washington.edu/courses/cse154/14au/lectures.shtml#today">Lectures</a></li>
|
||
<li><a
|
||
href="http://courses.cs.washington.edu/courses/cse154/14au/homework.shtml">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://ucsb-bren.github.io/esm296-4f/">ESM 296-4F</a>
|
||
<strong>GIS & Spatial Analysis</strong> <em>UC Santa Barbara</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Taught by <a
|
||
href="http://www.bren.ucsb.edu/people/Faculty/james_frew.htm">James
|
||
Frew</a>, <a href="http://mgel.env.duke.edu/people/ben-best/">Ben
|
||
Best</a>, and <a
|
||
href="http://www.centerforoceansolutions.org/team/lisa-wedding">Lisa
|
||
Wedding</a></li>
|
||
<li>Focuses on specific computational languages (e.g., Python, R, shell)
|
||
and tools (e.g., GDAL/OGR, InVEST, MGET, ModelBuilder) applied to the
|
||
spatial analysis of environmental problems</li>
|
||
<li><a href="http://ucsb-bren.github.io/esm296-4f/">GitHub</a> (includes
|
||
lecture materials and labs)</li>
|
||
</ul></li>
|
||
<li><a href="http://philipmjohnson.github.io/ics314f13/">ICS 314</a>
|
||
<strong>Software Engineering</strong> <em>University of Hawaii</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<ul>
|
||
<li>Taught by <a href="http://philipmjohnson.org/">Philip
|
||
Johnson</a></li>
|
||
<li>Introduction to software engineering using the <a
|
||
href="http://philipmjohnson.org/essays/ase-initial-results.html">“Athletic
|
||
Software Engineering” pedagogy</a></li>
|
||
<li><a
|
||
href="http://philipmjohnson.github.io/ics314f13/readings/">Readings</a></li>
|
||
<li><a
|
||
href="http://philipmjohnson.github.io/ics314f13/experiences/">Experiences</a></li>
|
||
<li><a
|
||
href="http://philipmjohnson.github.io/ics314f13/assessments/">Assessments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://hfoss-fossrit.rhcloud.com">IGME 582</a>
|
||
<strong>Humanitarian Free & Open Source Software
|
||
Development</strong> <em>Rochester Institute of Technology</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>This course provides students with exposure to the design, creation
|
||
and production of Open Source Software projects. Students will be
|
||
introduced to the historic intersections of technology and intellectual
|
||
property rights and will become familiar with Open Source development
|
||
processes, tools and practices.</li>
|
||
</ul></li>
|
||
<li><a href="http://www.informatics.indiana.edu/rocha/i-bic/">I485 /
|
||
H400</a> <strong>Biologically Inspired Computation</strong> <em>Indiana
|
||
University</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>Course taught by <a
|
||
href="http://www.informatics.indiana.edu/rocha/lr_form.html">Luis
|
||
Rocha</a> about the multi-disciplinary field algorithms inspired by
|
||
naturally occurring phenomenon. This course provides introduces the
|
||
following areas: L-systems, Cellular Automata, Emergence, Genetic
|
||
Algorithms, Swarm Intelligence and Artificial Immune Systems. It’s aim
|
||
is to cover the fundamentals and enable readers to build up a
|
||
proficiency in applying various algorithms to real-world problems.</li>
|
||
<li><a
|
||
href="http://www.informatics.indiana.edu/rocha/i-bic/#materials">Lectures</a></li>
|
||
<li><a
|
||
href="http://www.informatics.indiana.edu/rocha/i-bic/#labs">Assignments</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.schneems.com/ut-rails/">Open Sourced Elective:
|
||
Database and Rails</a> <strong>Intro to Ruby on Rails</strong>
|
||
<em>University of Texas</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>An introductory course in Ruby on Rails open sourced by University
|
||
of Texas’ CS Adjunct Professor, Richard Schneeman.</li>
|
||
<li><a href="http://www.schneems.com/ut-rails/">Lectures</a></li>
|
||
<li><a href="http://www.schneems.com/ut-rails/">Assignments</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PL7A85FD7803A8CB1F">Videos</a></li>
|
||
</ul></li>
|
||
<li><a
|
||
href="http://mlecture.uni-bremen.de/ml/index.php?option=com_content&view=article&id=233">SCICOMP</a>
|
||
<strong>An Introduction to Efficient Scientific Computation</strong>
|
||
<em>Universität Bremen</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<ul>
|
||
<li>This is a graduate course in scientific computing created and taught
|
||
by <a href="http://colorfulengineering.org/">Oliver Serang</a> in 2014,
|
||
which covers topics in computer science and statistics with applications
|
||
from biology. The course is designed top-down, starting with a problem
|
||
and then deriving a variety of solutions from scratch.</li>
|
||
<li>Topics include memoization, recurrence closed forms, string matching
|
||
(sorting, hash tables, radix tries, and suffix tries), dynamic
|
||
programming (e.g. Smith-Waterman and Needleman-Wunsch), Bayesian
|
||
statistics (e.g. the envelope paradox), graphical models (HMMs, Viterbi,
|
||
junction tree, belief propagation), FFT, and the probabilistic
|
||
convolution tree.</li>
|
||
<li><a href="https://www.youtube.com/user/fillwithlight/videos">Lecture
|
||
videos on Youtube</a> and for direct <a
|
||
href="http://mlecture.uni-bremen.de/ml/index.php?option=com_content&view=article&id=233">download</a></li>
|
||
</ul></li>
|
||
<li><a href="http://www.ini740.rocks/F20">14-740</a>
|
||
<strong>Fundamentals of Computer Networks</strong> <em>CMU</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" width="20" height="20" alt="Readings" title="Readings" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" />
|
||
<ul>
|
||
<li>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.</li>
|
||
<li>As far as prerequisites are concerned - basic computer, programming
|
||
and probability theory background is required.</li>
|
||
<li>The course site contains links to the lecture videos, reading
|
||
material and assignments.</li>
|
||
</ul></li>
|
||
</ul>
|
||
<hr />
|
||
<h3 id="statistics">Statistics</h3>
|
||
<ul>
|
||
<li><p><a href="https://andrewpbray.github.io/reg/index.html">STAT
|
||
340</a> <strong>Applied Regression Methods</strong> <em>Smith
|
||
College</em>
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" width="20" height="20" alt="Assignments" title="Assignments" />
|
||
<img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" /></p></li>
|
||
<li><p>This course covers the beautiful and useful tool of regression,
|
||
which is the central technique of statistical modeling. By the end of
|
||
this course you will be able to:</p>
|
||
<ul>
|
||
<li>Discern research questions and data that are well-suited to
|
||
regression analysis.</li>
|
||
<li>Conduct thorough exploratory data analysis of data in multiple
|
||
dimensions.</li>
|
||
<li>Understand the mathematical foundations of regression.</li>
|
||
<li>Perform regression analysis in a modern computing environment.</li>
|
||
<li>Interpret your model and communicate what it implies.</li>
|
||
</ul></li>
|
||
<li><p><a
|
||
href="https://andrewpbray.github.io/reg/syllabus.html">Syllabus</a></p></li>
|
||
<li><p><a href="https://andrewpbray.github.io/reg/index.html">Lecture
|
||
Notes</a></p></li>
|
||
</ul>
|
||
<p><a href="https://github.com/prakhar1989/awesome-courses">courses.md
|
||
Github</a></p>
|