From f34f49fbf4605c27eeffeae3ba892fea2e020b99 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Thu, 2 Jun 2016 07:09:57 -0700 Subject: [PATCH] Update README URLs based on HTTP redirects --- README.md | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 3ac060c9..cfc9df48 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Courses Assignments - 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. - [Lecture Videos](https://www.youtube.com/playlist?list=PL08D9FA018A965057&spfreload=10) - - [Assignments](http://web.stanford.edu/class/cs107/assignments.html) + - [Assignments](https://web.stanford.edu/class/cs107/assignments.html) - [CS 140](http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php) **Operating Systems** *Stanford University* Assignments Lecture Notes - 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. - [Lecture Notes](http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php) @@ -140,7 +140,7 @@ Courses - [15-749](http://www.andrew.cmu.edu/course/15-749/) **Engineering Distributed Systems** *Carnegie-Mellon University* Readings - A project focused course on Distributed Systems with an awesome list of readings - [Readings](http://www.andrew.cmu.edu/course/15-749/READINGS/) - [18-447](http://www.ece.cmu.edu/~ece447/s14/doku.php?id=start) **Introduction to Computer Architecture** *CMU* Lecture Videos Assignments Readings - - 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'14 version by Prof. [Onur Mutlu ](http://users.ece.cmu.edu/~omutlu/) + - 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'14 version by Prof. [Onur Mutlu ](https://users.ece.cmu.edu/~omutlu/) - [Lectures and Recitation](http://www.ece.cmu.edu/~ece447/s14/doku.php?id=schedule) - [Homeworks](http://www.ece.cmu.edu/~ece447/s14/doku.php?id=homeworks) 7 HWs with answer set as well - [Readings] (http://www.ece.cmu.edu/~ece447/s14/doku.php?id=readings) @@ -281,7 +281,7 @@ Courses - [CS 61B](http://cs61b.ug/sp16/) **Data Structures** *UC Berkeley* Lecture Videos Assignments - 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. - [Labs](http://www.cs.berkeley.edu/~jrs/61b/lab/index.html) The link to labs and projects is included in the website. - - [Lecture Videos on Youtube](http://www.youtube.com/watch?v=frxF7Vs96YU&list=PLMM0a7ZGnITrgfhOxMNP7bpP4hhhKNY9s) The link to videos is included in the website. + - [Lecture Videos on Youtube](https://www.youtube.com/watch?v=frxF7Vs96YU&list=PLMM0a7ZGnITrgfhOxMNP7bpP4hhhKNY9s) The link to videos is included in the website. - [CS 473/573](http://web.engr.illinois.edu/~jeffe/teaching/algorithms/) **Fundamental Algorithms** *Univ of Illinois, Urbana-Champaign* Assignments Lecture Notes - 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! - [Lecture Notes](http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-algorithms.pdf) @@ -295,9 +295,9 @@ Courses - [Lectures](http://www.cs.cornell.edu/courses/CS4820/2014sp/lectures/) - [Assignments](http://www.cs.cornell.edu/courses/CS4820/2014sp/homework/) - [Syllabus](http://www.cs.cornell.edu/courses/CS4820/2014sp/syllabus/) -- [CSCI 104](http://www-scf.usc.edu/~csci104/20142/lectures/) **Data Structures and Object Oriented Design** Assignments Lecture Notes *University of Southern California (USC)* +- [CSCI 104](http://www-scf.usc.edu/~csci104/20142/lectures//) **Data Structures and Object Oriented Design** Assignments Lecture Notes *University of Southern California (USC)* - [Lectures](http://www-scf.usc.edu/~csci104/20142/lectures) - - [Labs](http://www-scf.usc.edu/~csci104/20142/labs) + - [Labs](http://www-scf.usc.edu/~csci104/20142/labs/) - [Assignments](http://www-scf.usc.edu/~csci104/20142/assignments/) - [Additional Resources](http://www-scf.usc.edu/~csci104/20142/resources.html) - [CSCI 135](http://compsci.hunter.cuny.edu/~sweiss/courses/csci135.php) **Software Design and Analysis I** Assignments Lecture Notes @@ -313,7 +313,7 @@ Courses - [Lectures and Assignments](http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci335/csci335_s14.php) - [CSE 373](http://www3.cs.stonybrook.edu/~skiena/373/) **Analysis of Algorithms** *Stony Brook University* Lecture Videos Assignments Lecture Notes Readings - Prof Steven Skiena's no stranger to any student when it comes to algorithms. His seminal [book](http://www.algorist.com/) has been touted by many to be best for [getting that job in Google](http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html). In addition, he's also well-known for tutoring students in competitive [programming competitions](http://www.programming-challenges.com/pg.php?page=index). If you're looking to brush up your knowledge on Algorithms, you can't go wrong with this course. - - [Lecture Videos](http://www.cs.sunysb.edu/~algorith/video-lectures/) + - [Lecture Videos](http://www.cs.stonybrook.edu/~algorith/video-lectures/) - [CSE 331](http://courses.cs.washington.edu/courses/cse331/15sp/) **Software Design and Implementation** *University of Washington* Assignments Lecture Notes - 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. - [Lectures, Assignments, and Exams](http://courses.cs.washington.edu/courses/cse331/15sp/#all) @@ -342,7 +342,7 @@ Courses - 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. - **Register** on [NB](http://nb.mit.edu/subscribe?key=D3a8CYpoO2VcR1ZcfaxmR5KbyjCGXd3INNXvL3mxEakYJ7qGJw) to access the [problem set and lectures](http://nb.mit.edu/). - [15-451/651](http://www.cs.cmu.edu/afs/cs/academic/class/15451-f10/www/) **Algorithms** *Carnegie Mellon University* Lecture Notes - - 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 [Manuel Blum](http://en.wikipedia.org/wiki/Manuel_Blum) who has a Turing Award due to his contributions to algorithms. Course link includes a very comprehensive set of reference notes by Avrim Blum. + - 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 [Manuel Blum](https://en.wikipedia.org/wiki/Manuel_Blum) who has a Turing Award due to his contributions to algorithms. Course link includes a very comprehensive set of reference notes by Avrim Blum. ------- @@ -441,18 +441,18 @@ Courses - Lectures videos will available for free after registration. - [CS 106A](https://see.stanford.edu/Course/CS106A) **Programming Methodology** *Stanford University* Lecture Videos Assignments Lecture Notes - 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. - - [Lecture Videos](http://see.stanford.edu/see/lecturelist.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111) - - [Assignments](http://see.stanford.edu/see/materials/icspmcs106a/assignments.aspx) - - [All materials in a zip file](http://see.stanford.edu/materials/icspmcs106a/ProgrammingMethodologyAllMaterials.zip) + - [Lecture Videos](https://see.stanford.edu/see/lecturelist.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111) + - [Assignments](https://see.stanford.edu/see/materials/icspmcs106a/assignments.aspx) + - [All materials in a zip file](https://see.stanford.edu/materials/icspmcs106a/ProgrammingMethodologyAllMaterials.zip) - [CS 106B](https://see.stanford.edu/Course/CS106B) **Programming Abstractions** *Stanford University* Lecture Videos Assignments Lecture Notes - 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. - - [Lectures](http://see.stanford.edu/see/lecturelist.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e) - - [Assignments](http://see.stanford.edu/see/materials/icspacs106b/assignments.aspx) - - [All materials in a zip file](http://see.stanford.edu/materials/icspacs106b/ProgrammingAbstractionsAllMaterials.zip) + - [Lectures](https://see.stanford.edu/see/lecturelist.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e) + - [Assignments](https://see.stanford.edu/see/materials/icspacs106b/assignments.aspx) + - [All materials in a zip file](https://see.stanford.edu/materials/icspacs106b/ProgrammingAbstractionsAllMaterials.zip) - [CS 107](https://see.stanford.edu/Course/CS107) **Programming Paradigms** *Stanford University* Lecture Videos Assignments Lecture Notes - 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++) - - [Lectures](http://see.stanford.edu/see/lecturelist.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee) - - [Assignments](http://see.stanford.edu/see/materials/icsppcs107/assignments.aspx) + - [Lectures](https://see.stanford.edu/see/lecturelist.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee) + - [Assignments](https://see.stanford.edu/see/materials/icsppcs107/assignments.aspx) - [CS 109] (http://otfried.org/courses/cs109/index.html) **Programming Practice Using Scala** *KAIST* Assignments Lecture Notes - 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. - [Lectures] (http://otfried.org/courses/cs109/index.html) @@ -513,14 +513,14 @@ Courses - 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. - [Lectures](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures) - [Textbook](http://mitpress.mit.edu/sicp/full-text/book/book.html) ([epub](https://github.com/sarabander/sicp), [pdf](https://github.com/sarabander/sicp-pdf)) - - [IDE](http://www.neilvandyke.org/racket-sicp/) + - [IDE](http://www.neilvandyke.org/racket/sicp/) - [CS1410-2](http://www.eng.utah.edu/~cs1410-20/) and [CS2420-20](http://www.eng.utah.edu/~cs2420-20/) **Computer Science I and II for Hackers** *University of Utah* Assignments Lecture Notes Readings - An intro course in the spirit of SICP designed by [Professor Matthew Flatt](http://www.cs.utah.edu/~mflatt/) (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... - [Lectures and Assignments 1](http://www.eng.utah.edu/~cs1410-20/schedule.html) - [Lectures and Assignments 2](http://www.eng.utah.edu/~cs2420-20/schedule.html) - [Textbook](http://htdp.org/2003-09-26/Book/curriculum.html) - [Racket Language](http://racket-lang.org/) -- [CS-for-all](http://www.cs.hmc.edu/csforall/) **CS for All** *Harvey Mudd College* Assignments Lecture Notes Readings +- [CS-for-all](https://www.cs.hmc.edu/csforall/) **CS for All** *Harvey Mudd College* Assignments Lecture Notes Readings - 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. - [Lectures and Other resources](https://www.cs.hmc.edu/twiki/bin/view/ModularCS1) @@ -550,7 +550,7 @@ Courses - [Lectures](http://stanford.edu/class/ee103/lectures.html) - [Book](http://stanford.edu/class/ee103/mma.html) - [Assignments](http://stanford.edu/class/ee103/homework.html) - - [Code](http://stanford.edu/class/ee103/julia_files) + - [Code](http://stanford.edu/class/ee103/julia_files/) - [CS 109](http://cs109.github.io/2015/) **Data Science** *Harvard University* Assignments Lecture Notes Readings - 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. - [Lectures](http://cm.dce.harvard.edu/2015/01/14328/publicationListing.shtml) @@ -591,15 +591,15 @@ Courses - [COMS 4771](http://www.cs.columbia.edu/~jebara/4771/index.html) **Machine Learning** *Columbia University* Assignments Lecture Notes - Course taught by [Tony Jebara](http://www.cs.columbia.edu/~jebara/resume.html) 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. - [Lectures and Assignments](http://www.cs.columbia.edu/~jebara/4771/handouts.html) -- [CS395T](http://www.nr.com/CS395T/) **Statistical and Discrete Methods for Scientific Computing** *University of Texas* Lecture Videos Lecture Notes Assignments +- [CS395T](http://numerical.recipes/CS395T/) **Statistical and Discrete Methods for Scientific Computing** *University of Texas* Lecture Videos Lecture Notes Assignments - 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. - [Lectures and Assignments](http://granite.ices.utexas.edu/coursewiki/index.php/Main_Page) -- [CVX 101](https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/info) **Convex Optimization** *Stanford University* Assignments Lecture Notes +- [CVX 101](https://lagunita.stanford.edu/courses/Engineering/CVX101/Winter2014/info) **Convex Optimization** *Stanford University* Assignments Lecture Notes Readings - 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. - [Textbook](http://web.stanford.edu/~boyd/cvxbook/) - - [Lectures and Assignments](https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/courseware/7206c57866504e83821d00b5d3f80793/) + - [Lectures and Assignments](https://lagunita.stanford.edu/courses/Engineering/CVX101/Winter2014/courseware/7206c57866504e83821d00b5d3f80793/) - [DS-GA 1008](http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule) **Deep Learning** *New York University* Lecture Videos Lecture Notes Assignments - This increasingly popular course is taught through the Data Science Center at NYU. Originally introduced by [Yann Lecun](http://yann.lecun.com/), it is now led by [Zaid Harchaoui](http://www.harchaoui.eu/), 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. - [Course Page](http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule) @@ -709,7 +709,7 @@ and anti-analysis techniques. ### Computer Graphics - [CAP 5415](http://crcv.ucf.edu/courses/CAP5415/) **Computer Vision** *University of Central Florida* Lecture Videos Lecture Notes Assignments - An introductory level course covering the basic topics of computer vision, and introducing some fundamental approaches for computer vision research. - - [Lectures and Videos](http://crcv.ucf.edu/videos/Lecture_Videos/) + - [Lectures and Videos](http://crcv.ucf.edu/videos/lectures) - [Assignments](http://crcv.ucf.edu/courses/CAP5415/Fall2014/index.php) - [CIS 581](https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=CIS_581:_Computer_Vision_%26_Computational_Photography) **Computer Vision and Computational Photography** *University of Pennsylvania* Assignments Lecture Notes - An introductory course in computer vision and computational photography focusing on four topics: image features, image morphing, shape matching, and image search. @@ -764,10 +764,10 @@ and anti-analysis techniques. - Prerequisites: C language and object-oriented programming experience - Recommended: [Programming Abstractions](https://itunes.apple.com/us/course/programming-abstractions/id495054099) - [Updated courses for iOS8 - Swift](https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099) -- [CS 223A](http://see.stanford.edu/see/courseinfo.aspx?coll=86cc8662-f6e4-43c3-a1be-b30d1d179743) **Introduction to Robotics** *Stanford University* Lecture Videos Assignments Lecture Notes +- [CS 223A](https://see.stanford.edu/see/courseinfo.aspx?coll=86cc8662-f6e4-43c3-a1be-b30d1d179743) **Introduction to Robotics** *Stanford University* Lecture Videos Assignments Lecture Notes - 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. - - [Lectures](http://see.stanford.edu/see/lecturelist.aspx?coll=86cc8662-f6e4-43c3-a1be-b30d1d179743) - - [Assignments](http://see.stanford.edu/see/materials/aiircs223a/assignments.aspx) + - [Lectures](https://see.stanford.edu/see/lecturelist.aspx?coll=86cc8662-f6e4-43c3-a1be-b30d1d179743) + - [Assignments](https://see.stanford.edu/see/materials/aiircs223a/assignments.aspx) - [CS 411](http://video.bilkent.edu.tr/course_videos.php?courseid=10) **Software Architecture Design** *Bilkent University* Lecture Videos - 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. - [CS 3152](http://www.cs.cornell.edu/courses/CS3152/2014sp/) **Introduction to Computer Game Development** *Cornell University* Assignments Lecture NotesReadings @@ -850,8 +850,8 @@ and anti-analysis techniques. - 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 - [GitHub ](http://ucsb-bren.github.io/esm296-4f/) (includes lecture materials and labs) - [ICS 314](http://philipmjohnson.github.io/ics314f13/) **Software Engineering** *University of Hawaii* Assignments Lecture Notes Readings - - Taught by [Philip Johnson](http://philipmjohnson.org/) - - Introduction to software engineering using the ["Athletic Software Engineering" pedagogy](http://philipmjohnson.org/2013/12/16/athletic-software-engineering-education-initial-results/) + - Taught by [Philip Johnson](https://philipmjohnson.org/) + - Introduction to software engineering using the ["Athletic Software Engineering" pedagogy](https://philipmjohnson.org/2013/12/16/athletic-software-engineering-education-initial-results/) - [Readings](http://philipmjohnson.github.io/ics314f13/readings/) - [Experiences](http://philipmjohnson.github.io/ics314f13/experiences/) - [Assessments](http://philipmjohnson.github.io/ics314f13/assessments/)