You are on page 1of 22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Thisrepository Search

Explore

Features

prakhar1989 / awesomecourses

Branch:master

Enterprise

Watch

Pricing

Signup

Star

1,249

Signin

Fork

12,904

awesomecourses/README.md

1,636

prakhar198918daysagoAddedCSForAllbyHarveyMudd
64contributors

andothers

Raw

752lines(721sloc) 167.881kB

History

Blame

AwesomeCourses

Introduction
Thereisalotofhiddentreasurelyingwithinuniversitypagesscatteredacrosstheinternet.Thislistisanattempttobring
tolightthoseawesomecourseswhichmaketheirhighqualitymateriali.e.assignments,lectures,notes,readings&
examinationsavailableonlineforfree.

TableofContents
Systems
ProgrammingLanguages/Compilers
Algorithms
CSTheory
IntroductiontoCS
MachineLearning
Misc

Legend
LectureVideos
LectureNotes
Assignments/Labs
Readings

Courses
Systems
CS61CGreatIdeasinComputerArchitecture(MachineStructures)UCBerkeley

LectureVideos
LectureNotes
Resources
OldExams
CS107ComputerOrganization&SystemsStanfordUniversity

CS107isthethirdcourseinStanford'sintroductoryprogrammingsequence.ThecoursewillworkfromtheC
programminglanguagedowntothemicroprocessortodemystifythemachine.Withacompleteunderstanding
ofhowcomputersystemsexecuteprogramsandmanipulatedata,youwillbecomeamoreeffective
programmer,especiallyindealingwithissuesofdebugging,performance,portability,androbustness.
LectureVideos
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

1/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Assignments
CS140OperatingSystemsStanfordUniversity

Thisclassintroducesthebasicfacilitiesprovidedinmodernoperatingsystems.Thecoursedividesintothree
majorsections.Thefirstpartofthecoursediscussesconcurrency.Thesecondpartofthecourseaddressesthe
problemofmemorymanagement.Thethirdmajorpartofthecourseconcernsfilesystems.
LectureNotes
Assignments
CS162OperatingSystemsandSystemsProgrammingUCBerkeley

OperatingSystemscoursebytheChairofEECS,UCBerkeleyDavidCuller
YoutubePlaylistFall2014lectures
CS186IntroductiontoDatabaseSystemsUCBerkeley

IntheprojectassignmentsinCS186,youwillwriteabasicdatabasemanagementsystemcalledSimpleDB.For
thisproject,youwillfocusonimplementingthecoremodulesrequiredtoaccessstoreddataondiskinfuture
projects,youwilladdsupportforvariousqueryprocessingoperators,aswellastransactions,locking,and
concurrentqueries.
LectureNotes
Projects
CS241SystemsProgramming(Fall2014)UnivofIllinois,UrbanaChampaign

Systemprogrammingreferstowritingcodethattasksadvantageofoperatingsystemsupportforprogrammers.
Thiscourseisdesignedtointroduceyoutosystemprogramming.Bytheendofthiscourse,youshouldbe
proficientatwritingprogramsthattakefulladvantageofoperatingsystemsupport.Tobeconcrete,weneedto
fixanoperatingsystemandweneedtochooseaprogramminglanguageforwritingprograms.WechosetheC
languagerunningonaLinux/UNIXoperatingsystem(whichimplementsthePOSIXstandardinterfacebetween
theprogrammerandtheOS).
Assignments
GithubPage
CrowdSourcedBook
CS425DistributedSystemsUnivofIllinois,UrbanaChampaign

Brilliantsetoflecturesandreading

materialcoveringfundamentalconceptsindistributedsystemssuchasVectorclocks,ConsensusandPaxos.Thisis
the2014versionbyProfIndranilGupta.
Lectures
Assignments
CS452RealTimeProgrammingUniversityofWaterloo

WritearealtimeOSmicrokernelinC,andapplicationcodetooperateamodeltrainsetinresponsetorealtime
sensorinformation.Thecommunicationwiththetrainsetrunsat2400baudsoittakesabout61millisecondsto
askallofthesensorsfordataaboutthetrain'spossiblelocation.Thismakesitparticularlychallengingbecause
atraincanmoveabout3centimetersinthattime.Oneofthemostchallengingandtimeconsumingcoursesat
theUniversityofWaterloo.
Assignments
Lecturenotes
CS2043UnixTools&ScriptingCornellUniversity

UNIXlikesystemsareincreasinglybeingusedonpersonalcomputers,mobilephones,webservers,andmany
othersystems.Theyrepresentawonderfulfamilyofprogrammingenvironmentsusefulbothtocomputer
scientistsandtopeopleinmanyotherfields,suchascomputationalbiologyandcomputationallinguistics,in
whichdataisnaturallyrepresentedbystrings.Thiscourseprovidesanintensivetrainingtodevelopskillsin
Unixcommandlinetoolsandscriptingthatenabletheaccomplishmentandautomationoflargeandchallenging
computingtasks.Thesyllabustakesstudentsfromshellbasicsandpiping,toregularexpressionprocessing
tools,toshellscriptingandPython.
Syllabus
Lectures
Assignments
CS3410ComputerSystemOrganizationandProgrammingCornellUniversity

CS3410providesanintroductiontocomputerorganization,systemsprogrammingandthehardware/software
interface.Topicsincludeinstructionsets,computerarithmetic,datapathdesign,dataformats,addressing
modes,memoryhierarchiesincludingcachesandvirtualmemory,I/Odevices,busbasedI/Osystems,and
multicorearchitectures.StudentslearnassemblylanguageprogramminganddesignapipelinedRISC
processor.
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

2/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Lectures
Assignments
CS4410OperatingSystemsCornellUniversity
CS4410coverssystemsprogrammingandintroductoryoperatingsystemdesignandimplementation.Wewill
coverthebasicsofoperatingsystems,namelystructure,concurrency,scheduling,synchronization,memory
management,filesystems,securityandnetworking.Thecourseisopentoanyundergraduatewhohas
masteredthematerialinCS3410/ECE3140.
Syllabus
Lectures
CS4414OperatingSystemsUniversityofVirginia

Acourse(that)coverstopicsincluding:Analysisprocesscommunicationandsynchronizationresource
managementvirtualmemorymanagementalgorithmsfilesystemsandnetworkinganddistributedsystems.
Theprimarygoalofthiscourseistoimproveyourabilitytobuildscalable,robustandsecurecomputing
systems.Itfocusesondoingthatbyunderstandingwhatunderliesthecoreabstractionsofmoderncomputer
systems.
Syllabus
Lectures
CS5412CloudComputingCornellUniversity

Taughtbyoneofthestalwartsofthisfield,ProfKenBirman,thiscoursehasafantasticsetofslidesthatone
cangothrough.TheProf'sbookisalsoagemandrecommendedasamustreadinGoogle'stutorialon
DistributedSystemDesign
Slides
CSCE3613OperatingSystemsUniversityofArkansas(Fayetteville)

Anintroductiontooperating

systemsincludingtopicsinsystemstructures,processmanagement,storagemanagement,files,distributed
systems,andcasestudies.
Syllabus
Assignments
LectureNotes
Readings
CSCI360ComputerArchitecture3CUNYHunterCollege

Acoursethatcoverscachedesign,buses,memoryhierarchies,processorperipheralinterfaces,and
multiprocessors,includingGPUs.
CSCI493.66UNIXSystemProgramming(formerlyUNIXTools)CUNYHunterCollege

AcoursethatismostlyaboutwritingprogramsagainsttheUNIXAPI,coveringallofthebasicpartsofthekernel
interfaceandlibraries,includingfiles,processes,terminalcontrol,signals,andthreading.
CSCI493.75ParallelComputingCUNYHunterCollege

ThecourseisanintroductiontoparallelalgorithmsandparallelprogramminginCandC++,usingtheMessage
PassingInterface(MPI)andtheOpenMPapplicationprogramminginterface.Italsoincludesabriefintroduction
toparallelarchitecturesandinterconnectionnetworks.Itisboththeoreticalandpractical,includingmaterialon
designmethodology,performanceanalysis,andmathematicalconcepts,aswellasdetailsonprogramming
usingMPIandOpenMP.
ECE459ProgrammingforPerformanceUniversityofWaterloo

Learntechniquesforprofiling,rearchitecting,andimplementingsoftwaresystemsthatcanhandleindustrial
sizedinputs,andtodesignandbuildcriticalsoftwareinfrastructure.Learnperformanceoptimizationthrough
parallelization,multithreading,asyncI/O,vectorizationandGPUprogramming,anddistributedcomputing.
Lectureslides
MAE6740HybridSystemsCornellUniversity
Thiscoursewilldiscussthemodelingofhybridsystems,theanalysisandsimulationoftheirbehavior,different
controlmethodologiesaswellasverificationtechniques.Tocomplementthetheoreticalaspect,severalstateof
thearttoolswillbeintroduced.Newandemergingtopicsinhybridsystemsresearchwillbepresentedaswell.
Asthefieldofhybridsystemsisatrulyinterdisciplinaryone,drawingresearchersfromdynamicalsystems,
controltheory,computeraidedverification,automatatheoryandotherfields,oneofthegoalsofthiscourseisto
teachstudentsthelanguagethatwillallowthemtobridgethegapbetweenthesetraditionallydisjoint
disciplines.
Lectures
Readings
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

3/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

PODCPrinciplesofDistributedComputingETHZurich

Exploreessentialalgorithmicideasandlowerboundtechniques,basicallythe"pearls"ofdistributedcomputing
inaneasytoreadsetoflecturenotes,combinedwithcompleteexercisesandsolutions.
Book
AssignmentsandSolutions
SPACParallelismandConcurrencyUnivofWashington
TechnicallynotacourseneverthelessanawesomecollectionofmaterialsusedbyProfDanGrossmantoteach
parallelismandconcurrencyconceptstosophomoresatUWash
6.824DistributedSystemsMIT

MIT'sgraduatelevelDScoursewithafocusonfaulttolerance,replication,andconsistency,alltaughtvia
awesomelabassignmentsinGolang!
AssignmentsJustdogitclonegit://g.csail.mit.edu/6.824golabs20146.824
Readings
6.828OperatingSystemsMIT

MIT'soperatingsystemscoursefocusingonthefundamentalsofOSdesignincludingbooting,memory
management,environments,filesystems,multitasking,andmore.Inaseriesoflabassignments,youwillbuild
JOS,anOSexokernelwritteninC.
Assignments
Lectures
VideosNote:Thesearestudentrecordedcamvideosofthe2011course.Thevideosexplainalotofconcepts
requiredforthelabsandassignments.
15213IntroductiontoComputerSystems(ICS)CarnegieMellonUniversity

TheICScourseprovidesaprogrammer'sviewofhowcomputersystemsexecuteprograms,storeinformation,
andcommunicate.Itenablesstudentstobecomemoreeffectiveprogrammers,especiallyindealingwithissues
ofperformance,portabilityandrobustness.Italsoservesasafoundationforcoursesoncompilers,networks,
operatingsystems,andcomputerarchitecture,whereadeeperunderstandingofsystemslevelissuesis
required.Topicscoveredinclude:machinelevelcodeanditsgenerationbyoptimizingcompilers,performance
evaluationandoptimization,computerarithmetic,memoryorganizationandmanagement,networking
technologyandprotocols,andsupportingconcurrentcomputation.
ThisisthemusthavecourseforeveryoneinCMUwhowantstolearnsomecomputerscienvenomatterwhat
majorareyouin.Becauseit'sCMU(ThecoursenumberisassameasthezipcodeofCMU)!
LectureNotes
Assignments
15440DistributedSystemsCarnegieMellonUniversity

IntroductiontodistributedsystemswithafocusonteachingconceptsviaprojectsimplementedintheGo
programminglanguage.
Assignments
15749EngineeringDistributedSystemsCarnegieMellonUniversity

AprojectfocusedcourseonDistributed

Systemswithanawesomelistofreadings
Readings
18447IntroductiontoComputerArchitectureCMU

VerycomprehensivematerialonComputerArchitecturedefinitelymorethanjust"introduction".Onlinematerial
isveryuserfriendly,eventherecitationvideosavailableonline.ThisistheSpring'14versionbyProf.Onur
Mutlu
LecturesandRecitation
Homeworks7HWswithanswersetaswell
Readings
VU:DistributedSystemsDistributedSystems:PrinciplesandParadigms(Fall2012)VrijeUniversiteit,
Amsterdam

Distributedsystemsoftenappeartobehighlycomplexandintertwinednetworkedsystems.Touchingone
componentoftenaffectsmanyothersinsurprisingways.Inthiscourse,weaimatexplainingthebasicsof
distributedsystemsbysystematicallytakingdifferentperspectives,andsubsequentlybringingthese
perspectivestogetherbylookingatoftenappliedorganizationsofdistributedsystems.Thiscourseclosely
followsthetimelessclassicDistributedSystems:PrinciplesandParadigmsbysomeofthepioneersinthe
fieldofDistributessystemsAndrewS.TanenbaumandMaartenvanSteen
Slides
Videolectures
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

4/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Exams

ProgrammingLanguages/Compilers
CIS194IntroductiontoHaskellPennEngineering

Explorethejoysoffunctionalprogramming,usingHaskellasavehicle.Theaimofthecoursewillbetoallow
youtouseHaskelltoeasilyandconvenientlywritepracticalprograms.
Previoussemesteralsoavailable,withmoreexercises
Assignments&Lectures
ClojureFunctionalProgrammingwithClojureUniversityofHelsinki
ThecourseisanintroductiontofunctionalprogrammingwithadynamicallytypedlanguageClojure.Westart
withanintroductiontoClojureitssyntaxanddevelopmentenvironment.Clojurehasagoodselectionofdata
structuresandwecovermostofthem.Wealsogothroughthebasicsofrecursionandhigherorderfunctions.
ThecoursematerialisinEnglish.
GithubPage
COS326FunctionalProgrammingPrincetonUniversity

Coversfunctionalprogrammingconceptslikeclosures,tailcallrecursion&parallelismusingtheOCaml
programminglanguage
Lectures
Assignments
CS164Hackyourlanguage!UCBerkeley

Introductiontoprogramminglanguagesbydesigningandimplementingdomainspecificlanguages.
LectureVideos
CodeforAssignments
CS173ProgrammingLanguagesBrownUniversity

CoursebyProf.Krishnamurthi(authorofHtDP)andnumerousotherawesomebooksonprogramming
languages.UsesacustomdesignedPyretprogramminglanguagetoteachtheconcepts.Therewasanonline
classhostedin2012,whichincludesalllecturevideosforyoutoenjoy.
Videos
Assignments
CS240hFunctionalSystemsinHaskellStanfordUniversity

BuildingsoftwaresystemsinHaskell
LectureSlides
3Assignments:Lab1,Lab2,Lab3
CS421ProgrammingLanguagesandCompilersUnivofIllinois,UrbanaChampaign

Coursethatuses

OCamltoteachfunctionalprogrammingandprogramminglanguagedesign.
Lectures
Videos
Assignments
Exams
CS223PurelyFunctionalDataStructuresInElmUniversityofChicago

ThiscourseteachesfunctionalreactiveprogrammingandpurelyfunctionaldatastructuresbasedonChris
Okazaki'sbookandusingtheElmprogramminglanguage.
Lectures
Assignments
CS3110DataStructuresandFunctionalProgrammingCornellUniversity

AnothercoursethatusesOCamltoteachalternativeprogrammingparadigms,especiallyfunctionaland
concurrentprogramming.
LectureSlides
Assignments
CS4120IntroductiontoCompilersCornellUniversity

Anintroductiontothespecificationandimplementationofmoderncompilers.Topicscoveredincludelexical
scanning,parsing,typechecking,codegenerationandtranslation,anintroductiontooptimization,andcompile
timeandruntimesupportformodernprogramminglanguages.Aspartofthecourse,studentsbuildaworking
compilerforanobjectorientedlanguage.
Syllabus
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

5/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Lectures
Assignments
CS4400ProgrammingLanguagesNortheasternUniversity

Thisisacourseonthestudy,design,andimplementationofprogramminglanguages.
Thecourseworksattwosimultaneouslevels:first,wewilluseaprogramminglanguagethatcandemonstratea
widevarietyofprogrammingparadigms.Second,usingthislanguage,wewilllearnaboutthemechanicsbehind
programminglanguagesbyimplementingourownlanguage(s).Thetwolevelapproachusuallymeansthatwe
willoftenseehowtouseacertainfeature,andcontinuebyimplementingit.
Syllabus
LectureNotes/Resources
Homework
CS4610ProgrammingLanguagesandCompilersUniversityofVirginia

CoursethatusesOCamltoteachfunctionalprogrammingandprogramminglanguagedesign.Eachassignment
isapartofaninterpreterandcompilerforanobjectorientedlanguagesimilartoJava,andyouarerequiredto
useadifferentlanguageforeachassignment(i.e.,choose4fromPython,JS,OCaml,Haskell,Ruby).
LectureNotes
Assignments
CS5114NetworkProgrammingLanguagesCornellUniversity
Anintroductiontothespecificationandimplementationofmoderncompilers.Topicscoveredincludelexical
scanning,parsing,typechecking,codegenerationandtranslation,anintroductiontooptimization,andcompile
timeandruntimesupportformodernprogramminglanguages.Aspartofthecourse,studentsbuildaworking
compilerforanobjectorientedlanguage.
Syllabus
Lectures
CS5142ScriptingLanguagesCornellUniversity
Perl,PHP,JavaScript,VisualBasictheyareoftenrequestedskillsforemployment,butmostofusdonothave
thetimetofindoutwhattheyareallabout.Inthiscourse,youlearnhowtousescriptinglanguagesforrapid
prototyping,webprogramming,dataprocessing,andapplicationextension.Besidescoveringtraditional
programminglanguagesconceptsastheyapplytoscripting(e.g.,dynamictypingandscoping),thiscourse
looksatnewconceptsrarelyfoundintraditionallanguages(e.g.,stringinterpolation,hashes,andpolylingual
code).Throughaseriesofsmallprojects,youusedifferentlanguagestoachieveprogrammingtasksthat
highlightthestrengthsandweaknessesofscripting.Asasideeffect,youpracticeteachingyourselfnew
languages.
Syllabus
Lectures
Assignments
CS5470CompilersUniversityofUtah

Ifyou'reafanofProfMatt'swritingonhisfantasticblogyououghttogivethisashot.Thecoursecoversthe
designandimplementationofcompilers,anditexploresrelatedtopicssuchasinterpreters,virtualmachines
andruntimesystems.AsidefromtheProf'swittytakeoncheatingthepagehastonsofinterestinglinkson
programminglanguages,parsingandcompilers.
LectureNotes
Projects
CS6118TypesandSemanticsCornellUniversity
TypesandSemanticsisaboutdesigningandunderstandprogramminglanguages,whethertheybedomain
specificorgeneralpurpose.Thegoalofthisclassistoprovideavarietyoftoolsfordesigningcustom
(programming)languagesforwhatevertaskisathand.Partofthatwillbeavarietyofinsightsonhow
languagesworkalongwithexperiencesfromworkingwithacademicsandindustryoncreatingnewlanguages
suchasCeylonandKotlin.Theclassfocusesontypesandsemanticsandtheinterplaybetweenthem.This
meanscategorytheoryandconstructivetypetheory(e.g.Coqandrichervariations)areancillarytopicsofthe
class.Theclassalsocoversunconventionalsemanticdomainssuchasclassicallineartypetheoryinorderto
bothbreakstudentsfromconventialthinkingandtoprovidepowerfultargetscapableofformalizingthinkslike
networkingprotocols,resourcesensitivecomputation,andconcurrencyconstructs.Theclassprojectisto
designandformalizea(programming)languageforapurposeofthestudent'schoosing,andassignmentsare
designedtoensurestudentshavehadachancetopracticeapplyingthetechniqueslearnedinclassbefore
culminatingtheseskillsintheclassproject.
Syllabus
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

6/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Lectures
CSE341ProgrammingLanguagesUniversityofWashington

CoversnonimperativeparadigmsandlanguagessuchasRuby,Racket,andMLandthefundamentalsof
programminglanguages.
Lectures
AssignmentsandTests
CSEP501CompilerConstructionUniversityofWashington

Teachesunderstandingofhowamoderncompilerisstructuredandthemajoralgorithmsthatareusedto
translatecodefromhighleveltomachinelanguage.Thebestwaytodothisistoactuallybuildaworking
compiler,sotherewillbeasignificantprojecttoimplementonethattranslatesprogramswritteninacoresubset
ofJavaintoexecutablex86assemblylanguage.Thecompilersthemselveswillusescannerandparser
generatortoolsandthedefaultimplementationlanguageisJava.
Lectures
Assignments,Tests,andSolutions
DMFPDiscreteMathematicsandFunctionalProgrammingWheatonCollege

Acoursethatteachesdiscretemathsconceptswithfunctionalprogramming
LectureVideos
Assignments
CSC253CPythoninternals:AtenhourcodewalkthroughthePythoninterpretersourcecodeUniversityof
Rochester
NinelectureswalkingthroughtheinternalsofCPython,thecanonicalPythoninterpreterimplementedinC.They
werefromtheDynamicLanguagesandSoftwareDevelopmentcoursetaughtinFall2014attheUniversityof
Rochester.

Algorithms
CS61BDataStructuresUCBerkeley

Inthiscourse,youwillstudyadvancedprogrammingtechniquesincludingdatastructures,encapsulation,
abstractdatatypes,interfaces,andalgorithmsforsortingandsearching,andyouwillgetatasteofsoftware
engineeringthedesignandimplementationoflargeprograms.
Labs
LectureVideosonYoutube
CS473/573FundamentalAlgorithmsUnivofIllinois,UrbanaChampaign

Algorithmsclasscoveringrecursion,randomization,amortization,graphalgorithms,networkflowsand
hardness.ThelecturenotesbyProf.Eriksonarecomprehensiveenoughtobeabookbythemselves.Highly
recommended!
LectureNotes
LabsandExams
CS2150Program&DataRepresentationUniversityofVirginia

ThisdatastructurescourseintroducesC++,linkedlists,stacks,queues,trees,numericalrepresentation,hash
tables,priorityqueues,heaps,huffmancoding,graphs,andx86assembly.
Lectures
Assignments
CS4820IntroductiontoAnalysisofAlgorithmsCornellUniversity

Thiscoursedevelopstechniquesusedinthedesignandanalysisofalgorithms,withanemphasisonproblems
arisingincomputingapplications.Exampleapplicationsaredrawnfromsystemsandnetworks,artificial
intelligence,computervision,datamining,andcomputationalbiology.Thiscoursecoversfourmajoralgorithm
designtechniques(greedyalgorithms,divideandconquer,dynamicprogramming,andnetworkflow),
computabilitytheoryfocusingonundecidability,computationalcomplexityfocusingonNPcompleteness,and
algorithmictechniquesforintractableproblems,includingidentificationofstructuredspecialcases,
approximationalgorithms,andlocalsearchheuristics.
Lectures
Assignments
Syllabus
CSCI104DataStructuresandObjectOrientedDesign

UniversityofSouthernCalifornia(USC)

Lectures
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

7/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Labs
Assignments
AdditionalResources
CSCI135SoftwareDesignandAnalysisI

CUNYHunterCollege

Itiscurrentlyanintensiveintroductiontoprogramdevelopmentandproblemsolving.Itsemphasisisonthe
processofdesigning,implementing,andevaluatingsmallscaleprograms.ItisnotsupposedtobeaC++
programmingcourse,althoughmuchofthecourseisspentonthedetailsofC++.C++isanextremelylargeand
complexprogramminglanguagewithmanyfeaturesthatinteractinunexpectedways.Onedoesnotneedto
knowevenhalfofthelanguagetouseitwell.
LecturesandAssignments
CSCI235SoftwareDesignandAnalysisIICUNYHunterCollege

Introducesalgorithmsforafewcommonproblemssuchassorting.Practicallyspeaking,itfurthersthestudents'
programmingskillswithtopicssuchasrecursion,pointers,andexceptionhandling,andprovidesachanceto
improvesoftwareengineeringskillsandtogivethestudentspracticalexperienceformoreproductive
programming.
LecturesandAssignments
CSCI335SoftwareDesignandAnalysisIII

CUNYHunterCollege

Thisincludestheintroductionofhashes,heaps,variousformsoftrees,andgraphs.Italsorevisitsrecursionand
thesortingproblemfromahigherperspectivethanwaspresentedintheprequels.Ontopofthis,itisintended
tointroducemethodsofalgorithmicanalysis.
LecturesandAssignments
CSE373AnalysisofAlgorithmsStonyBrookUniversity

ProfStevenSkiena'snostrangertoanystudentwhenitcomestoalgorithms.Hisseminalbookhasbeentouted
bymanytobebestforgettingthatjobinGoogle.Inaddition,he'salsowellknownfortutoringstudentsin
competitiveprogrammingcompetitions.Ifyou'relookingtobrushupyourknowledgeonAlgorithms,youcan'tgo
wrongwiththiscourse.
LectureVideos
CS97SIIntroductiontoCompetitiveProgrammingStanfordUniversity

Fantasticrepositoryoftheoryandpracticeproblemsacrossvarioustopicsforstudentswhoareinterestedto
participateinACMICPC.
LecturesandAssignments
ECS122AAlgorithmDesignandAnalysisUCDavis

TaughtbyDanGusfieldin2010,thiscourseisanundergraduateintroductiontoalgorithmdesignandanalysis.
Itfeaturestraditionaltopics,suchasBigOhnotation,aswellasanimportanceonimplementingspecific
algorithms.Alsofeaturedaresorting(inlineartime),graphalgorithms,depthfirstsearch,stringmatching,
dynamicprogramming,NPcompleteness,approximation,andrandomization.
Syllabus
LectureVideos
Assignments
ECS222AGraduateLevelAlgorithmDesignandAnalysisUCDavis

ThisisthegraduatelevelcomplementtotheECS122AundergraduatealgorithmscoursebyDanGusfieldin
2011.Itassumesanundergradcoursehasalreadybeentakeninalgorithms,and,whilegoingoversome
undergraduatealgorithmstopics,focusesmoreonincreasinglycomplexandadvancedalgorithms.
LectureVideos
Syllabus
Assignments
6.INTHackingaGoogleInterviewMIT
ThiscoursetaughtintheMITIndependentActivitiesPeriodin2009goesovercommonsolutiontocommon
interviewquestionsforsoftwareengineerinterviewsathighlyselectivecompanieslikeApple,Google,and
Facebook.Theycovertimecomplexity,hashtables,binarysearchtrees,andothercommonalgorithmtopics
youshouldhavealreadycoveredinadifferentcourse,butgoesmoreindepthonthingsyouwouldn'totherwise
learninclasslikebitwiselogicandproblemsolvingtricks.
Handouts
TopicsCovered
6.851AdvancedDataStructuresMIT

ThisisanadvancedDScourse,youmustbedonewiththeAdvancedAlgorithmscoursebeforeattemptingthis
one.
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

8/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

LecturesContainsvideosfromsp2012version,butthereisn'tmuchdifference.
Assignmentscontainsthecalendaraswell.
6.854/18.415JAdvancedAlgorithmsMIT

AdvancedcourseinalgorithmsbyDr.DavidKargercoveringtopicssuchasamortization,randomization,
fingerprinting,wordlevelparallelism,bitscaling,dynamicprogramming,networkflow,linearprogramming,
fixedparameteralgorithms,andapproximationalgorithms.
RegisteronNBtoaccesstheproblemsetandlectures.
15451/651AlgorithmsCarnegieMellonUniversity
Therequiredalgorithmsclassthatgoindepthintoallbasicalgorithmsandtheproofsbehindthem.Thisisone
oftheheavieralgorithmscurriculumsonthispage.TaughtbyAvrimBlumandManuelBlumwhohasaTuring
Awardduetohiscontributionstoalgorithms.Courselinkincludesaverycomprehensivesetofreferencenotes
byAvrimBlum.

CSTheory
CIS500SoftwareFoundationsUniversityofPennsylvania

AnintroductiontoformalverificationofsoftwareusingtheCoqproofassistant.Topicsincludebasicconceptsof
logic,computerassistedtheoremproving,functionalprogramming,operationalsemantics,Hoarelogic,and
statictypesystems.
LecturesandAssignments
Textbook
CS103MathematicalFoundationsofComputingStanfordUniversity

CS103isafirstcourseindiscretemath,computabilitytheory,andcomplexitytheory.Inthiscourse,we'llprobe
thelimitsofcomputerpower,explorewhysomeproblemsarehardertosolvethanothers,andseehowto
reasonwithmathematicalcertainty.
Linkstoalllecturesnotesandassignmentsaredirectlyonthecoursepage
CS173DiscreteStructuresUnivofIllinoisUrbanaChampaign

Thiscourseisanintroductiontothetheoreticalsideofcomputerscience.Init,youwilllearnhowtoconstruct
proofs,readandwriteliterateformalmathematics,getaquickintroductiontokeytheorytopicsandbecome
familiarwitharangeofstandardmathematicsconceptscommonlyusedincomputerscience.
TextbookWrittenbytheprofessor.IncludesInstructor'sGuide.
Assignments
Exams
CS276FoundationsofCryptographyUCBerkeley
Thiscoursediscussesthecomplexitytheoryfoundationsofmoderncryptography,andlooksatrecentresultsin
thefieldsuchasFullyHomomorphicEncryption,IndistinguishabilityObfuscation,MPCandsoon.
CS278ComplexityTheoryUCBerkeley
AngraduatelevelcourseoncomplexitytheorythatintroducesPvsNP,thepowerofrandomness,average
casecomplexity,hardnessofapproximation,andsoon.
CS374Algorithms&ModelsofComputation(Fall2014)UniversityofIllinoisUrbanaChampaign

CS498section374(unofficially"CS374")coversfundamentaltoolsandtechniquesfromtheoreticalcomputer
science,includingdesignandanalysisofalgorithms,formallanguagesandautomata,computability,and
complexity.Specifictopicsincluderegularandcontextfreelanguages,finitestateautomata,recursive
algorithms(includingdivideandconquer,backtracking,dynamicprogramming,andgreedyalgorithms),
fundamentalgraphalgorithms(includingdepthandbreadthfirstsearch,topologicalsorting,minimumspanning
trees,andshortestpaths),undecidability,andNPcompleteness.Thecoursealsohasastrongfocusonclear
technicalcommunication.
Assignments/Exams
LectureNotes/Labs
Lecturevideos
CS3110DataStructuresandFunctionalProgrammingCornellUniversity

CS3110(formerlyCS312)isthethirdprogrammingcourseintheComputerSciencecurriculum,followingCS
1110/1112andCS2110.Thegoalofthecourseistohelpstudentsbecomeexcellentprogrammersand
softwaredesignerswhocandesignandimplementsoftwarethatiselegant,efficient,andcorrect,andwhose
codecanbemaintainedandreused.
Syllabus
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

9/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Lectures
Assignments
CS4810IntroductiontoTheoryofComputingCornellUniversity

Thisundergraduatecourseprovidesabroadintroductiontothemathematicalfoundationsofcomputerscience.
Wewillexaminebasiccomputationalmodels,especiallyTuringmachines.Thegoalistounderstandwhat
problemscanorcannotbesolvedinthesemodels.
Syllabus
Lectures
Assignments
CS6810TheoryofComputingCornellUniversity

Thisgraduatecoursegivesabroadintroductiontocomplexitytheory,includingclassicalresultsandrecent
developments.Complexitytheoryaimstounderstandthepowerofefficientcomputation(whencomputational
resourcesliketimeandspacearelimited).Manycompellingconceptualquestionsariseinthiscontext.Mostof
thesequestionsare(surprisingly?)difficultandfarfrombeingresolved.Nevertheless,alotofprogresshas
beenmadetowardunderstandingthem(andalsowhytheyaredifficult).Wewilllearnabouttheseadvancesin
thiscourse.Athemewillbecombinatorialconstructionswithrandomlikeproperties,e.g.,expandergraphsand
errorcorrectingcodes.Someexamples:
Isfindingasolutioninherentlymoredifficultthanverifyingit?
Domorecomputationalresourcesmeanmorecomputingpower?
Isiteasiertofindapproximatesolutionsthanexactones?
Arerandomizedalgorithmsmorepowerfulthandeterministicones?
Isiteasiertosolveproblemsintheaveragecasethanintheworstcase?
Arequantumcomputersmorepowerfulthanclassicalones?
Syllabus
Lectures
Assignments
CSCE3193ProgrammingParadigmsUniversityofArkansas(Fayetteville)

Programmingindifferentparadigmswithemphasisonobjectorientedprogramming,networkprogrammingand
functionalprogramming.Surveyofprogramminglanguages,eventdrivenprogramming,concurrency,software
validation.
Syllabus
Notes
Assignments
PracticeExams
CS3220IntroductiontoScientificComputingCornellUniversity

Inthisonesemestersurveycourse,weintroducenumericalmethodsforsolvinglinearandnonlinearequations,
interpolatingdata,computingintegrals,andsolvingdifferentialequations,andwedescribehowtousethese
toolswisely(wehope!)whensolvingscientificproblems.
Syllabus
Lectures
Assignments
CS4300InformationRetrievalCornellUniversity

Studiesthemethodsusedtosearchforanddiscoverinformationinlargescalesystems.Theemphasisison
informationretrievalappliedtotextualmaterials,butthereissomediscussionofotherformats.Thecourse
includestechniquesforsearching,browsing,andfilteringinformationandtheuseofclassificationsystemsand
thesauruses.Thetechniquesareillustratedwithexamplesfromwebsearchinganddigitallibraries.
Syllabus
Lectures
Assignments
6.045GreatIdeasinTheoreticalComputerScienceMIT

Thiscourseprovidesachallengingintroductiontosomeofthecentralideasoftheoreticalcomputerscience.
Beginninginantiquity,thecoursewillprogressthroughfiniteautomata,circuitsanddecisiontrees,Turing
machinesandcomputability,efficientalgorithmsandreducibility,thePversusNPproblem,NPcompleteness,
thepowerofrandomness,cryptographyandonewayfunctions,computationallearningtheory,andquantum
computing.Itexaminestheclassesofproblemsthatcanandcannotbesolvedbyvariouskindsofmachines.It
triestoexplainthekeydifferencesbetweencomputationalmodelsthataffecttheirpower.
Syllabus
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

10/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

LectureNotes
LectureVideos

IntroductiontoCS
CS10TheBeautyandJoyofComputingUCBerkeley

CS10isUCB'sintroductorycomputerscienceclass,taughtusingthebeginners'draganddroplanguage.
Studentslearnabouthistory,socialimplications,greatprinciples,andfutureofcomputing.Theyalsolearnthe
joyofprogrammingacomputerusingafriendly,graphicallanguage,andwillcompleteasubstantialteam
programmingprojectrelatedtotheirinterests.
Snap!(basedonScratchbyMIT).
Curriculum
CS50IntroductiontoComputerScienceHarvardUniversity

CS50xisHarvardCollege'sintroductiontotheintellectualenterprisesofcomputerscienceandtheartof
programmingformajorsandnonmajorsalike,withorwithoutpriorprogrammingexperience.Anentrylevel
coursetaughtbyDavidJ.Malan.
Lectures
CS61AStructureandInterpretationofComputerPrograms[Python]UCBerkeley

InCS61A,weareinterestedinteachingyouaboutprogramming,notabouthowtouseoneparticular
programminglanguage.Weconsideraseriesoftechniquesforcontrollingprogramcomplexity,suchas
functionalprogramming,dataabstraction,andobjectorientedprogramming.Masteryofaparticular
programminglanguageisaveryusefulsideeffectofstudyingthesegeneraltechniques.However,ourhopeis
thatonceyouhavelearnedtheessenceofprogramming,youwillfindthatpickingupanewprogramming
languageisbutafewdays'work.
LectureResourcesbyType
LectureResourcesbyTopic
AdditionalResources
PracticeProblems
ExtraLectures
CS61ASStructure&InterpretationofComputerPrograms[Racket]UCBerkeley

AselfpacedversionoftheCS61CoursebutinRacket/Scheme.61ASisagreatintroductorycoursethatwill
easeyouintoalltheamazingconceptsthatfutureCScourseswillcover,soremembertokeepanopenmind,
havefun,andalwaysrespectthedataabstraction
LectureVideos
AssignmentsandNotes
CS101ComputerScience101StanfordUniversity

CS101teachestheessentialideasofComputerScienceforazeropriorexperienceaudience.Participantsplay
andexperimentwithshortbitsof"computercode"tobringtolifetothepowerandlimitationsofcomputers.
Lecturesvideoswillavailableforfreeafterregistration.
CS106AProgrammingMethodologyStanfordUniversity

ThiscourseisthelargestoftheintroductoryprogrammingcoursesandisoneofthelargestcoursesatStanford.
Topicsfocusontheintroductiontotheengineeringofcomputerapplicationsemphasizingmodernsoftware
engineeringprinciples:objectorienteddesign,decomposition,encapsulation,abstraction,andtesting.
ProgrammingMethodologyteachesthewidelyusedJavaprogramminglanguagealongwithgoodsoftware
engineeringprinciples.
LectureVideos
Assignments
Allmaterialsinazipfile
CS106BProgrammingAbstractionsStanfordUniversity

ThiscourseisthenaturalsuccessortoProgrammingMethodologyandcoverssuchadvancedprogramming
topicsasrecursion,algorithmicanalysis,anddataabstractionusingtheC++programminglanguage,whichis
similartobothCandJava.
Lectures
Assignments
Allmaterialsinazipfile
CS107ProgrammingParadigmsStanfordUniversity
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

11/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Topics:AdvancedmemorymanagementfeaturesofCandC++thedifferencesbetweenimperativeandobject
orientedparadigms.Thefunctionalparadigm(usingLISP)andconcurrentprogramming(usingCandC++)
Lectures
Assignments
CS109ProgrammingPracticeUsingScalaKAIST

Thiscourseintroducesbasicconceptsofprogrammingandcomputerscience,suchasdynamicandstatic
typing,dynamicmemoryallocation,objectsandmethods,binaryrepresentationofnumbers,usinganeditorand
compilerfromthecommandline,runningprogramswithargumentsfromthecommmandline,usinglibraries,
andtheuseofbasicdatastructuressuchasarrays,lists,sets,andmaps.WewilluseScalaforthiscourse.
Lectures
Assignments
CS1109FundamentalProgrammingConceptsCornellUniversity

Thiscourseprovidesanintroductiontoprogrammingandproblemsolvingusingahighlevelprogramming
language.ItisdesignedtoincreaseyourknowledgeleveltocomfortablycontinuetocoursesCS111x.Ourfocus
willbeongenericprogrammingconcepts:variables,expressions,controlstructures,loops,arrays,functions,
pseudocodeandalgorithms.Youwilllearnhowtoanalyzeproblemsandconvertyourideasintosolutions
interpretablebycomputers.WewilluseMATLABbecauseitprovidesaproductiveenvironment,anditiswidely
usedbyallengineeringcommunities.
Syllabus
Lectures
Assignments
CS1110IntroductiontoComputingUsingPythonCornellUniversity

ProgrammingandproblemsolvingusingPython.Emphasizesprinciplesofsoftwaredevelopment,style,and
testing.Topicsincludeproceduresandfunctions,iteration,recursion,arraysandvectors,strings,anoperational
modelofprocedureandfunctioncalls,algorithms,exceptions,objectorientedprogramming,andGUIs
(graphicaluserinterfaces).Weeklylabsprovideguidedpracticeonthecomputer,withstaffpresenttohelp.
AssignmentsusegraphicsandGUIstohelpdevelopfluencyandunderstanding.
Syllabus
Lectures
Assignments
CS1112IntroductiontoComputingUsingMatlabCornellUniversity

ProgrammingandproblemsolvingusingMATLAB.Emphasizesthesystematicdevelopmentofalgorithmsand
programs.Topicsincludeiteration,functions,arraysandvectors,strings,recursion,algorithms,objectoriented
programming,andMATLABgraphics.Assignmentsaredesignedtobuildanappreciationforcomplexity,
dimension,fuzzydata,inexactarithmetic,randomness,simulation,andtheroleofapproximation.NO
programmingexperienceisnecessarysomeknowledgeofCalculusisrequired.
Syllabus
Lectures
Assignments
Projects
CS1115IntroductiontoComputationalScienceandEngineeringUsingMatlabGraphicalUserInterfaces
CornellUniversity

ProgrammingandproblemsolvingusingMATLAB.Emphasizesthesystematicdevelopmentofalgorithmsand
programs.Topicsincludeiteration,functions,arraysandvectors,strings,recursion,algorithms,objectoriented
programming,andMATLABgraphics.Assignmentsaredesignedtobuildanappreciationforcomplexity,
dimension,fuzzydata,inexactarithmetic,randomness,simulation,andtheroleofapproximation.NO
programmingexperienceisnecessarysomeknowledgeofCalculusisrequired.
Syllabus
Lectures
Projects
CS1130TransitiontoOOProgrammingCornellUniversity

IntroductiontoobjectorientedconceptsusingJava.Assumesprogrammingknowledgeinalanguagelike
MATLAB,C,C++,orFortran.StudentswhohavelearnedJavabutwerenotexposedheavilytoOO
programmingarewelcome.
Syllabus
Lectures
Assignments
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

12/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

CS1133TransitiontoPythonCornellUniversity

IntroductiontothePythonprogramminglanguage.CoversthebasicprogrammingconstructsofPython,
includingassignment,conditionals,iteration,functions,objectorienteddesign,arrays,andvectorized
computation.AssumesprogrammingknowledgeinalanguagelikeJava,Matlab,C,C++,orFortran.
Syllabus
Lectures
Assignments
CS2110ObjectOrientedProgrammingandDataStructuresCornellUniversity

CS2110isanintermediatelevelprogrammingcourseandanintroductiontocomputerscience.Topicsinclude
programdesignanddevelopment,debuggingandtesting,objectorientedprogramming,proofsofcorrectness,
complexityanalysis,recursion,commonlyuseddatastructures,graphalgorithms,andabstractdatatypes.Java
istheprincipalprogramminglanguage.Thecoursesyllabuscaneasilybeextractedbylookingatthelinkto
lectures.
Syllabus
Lectures
Assignments
CS4302WebInformationSystemsCornellUniversity

ThiscoursewillintroduceyoutotechnologiesforbuildingdatacentricinformationsystemsontheWorldWide
Web,showthepracticalapplicationsofsuchsystems,anddiscusstheirdesignandtheirsocialandpolicy
contextbyexaminingcrosscuttingissuessuchascitizenscience,datajournalismandopengovernment.
Courseworkinvolveslecturesandreadingsaswellasweeklyhomeworkassignments,andasemesterlong
projectinwhichthestudentsdemonstratetheirexpertiseinbuildingdatacentricWebinformationsystems.
Syllabus
Lectures
Assignments
CSCE2004ProgrammingFoundationsIUniversityofArkansas(Fayetteville)

Introductorycourseforstudentsmajoringincomputerscienceorcomputerengineering.Softwaredevelopment
process:problemspecification,programdesign,implementation,testinganddocumentation.Programming
topics:datarepresentation,conditionalanditerativestatements,functions,arrays,strings,fileI/O,andclasses.
UsingC++inaUNIXenvironment.
Syllabus
Notes
Assignments
PracticeExams
CSCE2014ProgrammingFoundations2UniversityofArkansas(Fayetteville)

Thiscoursecontinuesdevelopingproblemsolvingtechniquesbyfocusingonfundamentaldatastructuresand
associatedalgorithms.Topicsinclude:abstractdatatypes,introductiontoobjectorientedprogramming,linked
lists,stacks,queues,hashtables,binarytrees,graphs,recursion,andsearchingandsortingalgorithms.Using
C++inaUNIXenvironment.
Syllabus
Assignments
PracticeExams
6.001StructureandInterpretationofComputerProgramsMIT

TeachesbigpicturecomputingconceptsusingtheSchemeprogramminglanguage.Studentswillimplement
programsinavarietyofdifferentprogrammingparadigms(functional,objectoriented,logical).Heavyemphasis
onfunctioncomposition,codeasdata,controlabstractionwithcontinuations,andsyntacticabstractionthrough
macros.Anexcellentcourseifyouarelookingtobuildamentalframeworkonwhichtohangyourprogramming
knowledge.
Lectures
Textbook(epub,pdf)
IDE
CS14102andCS242020ComputerScienceIandIIforHackersUniversityofUtah

AnintrocourseinthespiritofSICPdesignedbyProfessorMatthewFlatt(oneoftheleaddesignersofRacket
andauthorofHtDP).MostlyRacketandC,andabitofJava,withexplanationsonhowhighlevelfunctional
programmingconceptsrelatetothedesignofOOPprograms.DothisonebeforeSICPifSICPisabittoo
much...
LecturesandAssignments1
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

13/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

LecturesandAssignments2
Textbook
RacketLanguage
CSforallCSforAllHarveyMuddCollege

Thisbook(andcourse)takesauniqueapproachtoIntroCS.Inanutshell,ourobjectiveistoprovidean
introductiontocomputerscienceasanintellectuallyrichandvibrantfieldratherthanfocusingexclusivelyon
computerprogramming.Whileprogrammingiscertainlyanimportantandpervasiveelementofourapproach,
weemphasizeconceptsandproblemsolvingoversyntaxandprogramminglanguagefeatures.
LecturesandOtherresources

MachineLearning
StatLearningIntrotoStatisticalLearningStanfordUniversity

Thisisanintroductorylevelcourseinsupervisedlearning,withafocusonregressionandclassification
methods.Thesyllabusincludes:linearandpolynomialregression,logisticregressionandlineardiscriminant
analysiscrossvalidationandthebootstrap,modelselectionandregularizationmethods(ridgeandlasso)
nonlinearmodels,splinesandgeneralizedadditivemodelstreebasedmethods,randomforestsandboosting
supportvectormachines.
ThelecturescoverallthematerialinAnIntroductiontoStatisticalLearning,withApplicationsinRwhichisa
moreapproachableversionoftheElementsofStatisticalLearning(orESL)book.
11785DeepLearningCarnegieMellonUniversity

Thecoursepresentsthesubjectthroughaseriesofseminarsandlabs,whichwillexploreitfromitsearly
beginnings,andworkthemselvestosomeofthestateoftheart.Theseminarswillcoverthebasicsofdeep
learningandtheunderlyingtheory,aswellasthebreadthofapplicationareastowhichithasbeenapplied,as
wellasthelatestissuesonlearningfromverylargeamountsofdata.Wewillconcentratelargely,althoughnot
entirely,ontheconnectionistarchitecturesthataremostcommonlyassociatedwithit.LecturesandReading
Notesareavailableonthepage.
10601MachineLearningCarnegieMellonUniversity

Thiscoursecoversthetheoryandpracticalalgorithmsformachinelearningfromavarietyofperspectives.It
coverstopicssuchasBayesiannetworks,decisiontreelearning,SupportVectorMachines,statisticallearning
methods,unsupervisedlearningandreinforcementlearning.Thecoursecoverstheoreticalconceptssuchas
inductivebias,thePAClearningframework,Bayesianlearningmethods,marginbasedlearning,andOccam's
Razor.Shortprogrammingassignmentsincludehandsonexperimentswithvariouslearningalgorithms.This
courseisdesignedtogiveagraduatelevelstudentathoroughgroundinginthemethodologies,technologies,
mathematicsandalgorithmscurrentlyneededbypeoplewhodoresearchinmachinelearning.
TaughtbyoneoftheleadingexpertsonMachineLearningTomMitchell
Lectures
ProjectIdeasandDatasets
EE103IntroductiontoMatrixMethodsStanfordUniversity

Thecoursecoversthebasicsofmatricesandvectors,solvinglinearequations,leastsquaresmethods,and
manyapplications.It'llcoverthemathematics,butthefocuswillbeonusingmatrixmethodsinapplicationssuch
astomography,imageprocessing,datafitting,timeseriesprediction,finance,andmanyothers.EE103isbased
onabookthatStephenBoydandLievenVandenberghearecurrentlywriting.Studentswilluseanewlanguage
calledJuliatodocomputationswithmatricesandvectors.
Lectures
Book
Assignments
Code
CS109DataScienceHarvardUniversity

Learningfromdatainordertogainusefulpredictionsandinsights.Thiscourseintroducesmethodsforfivekey
facetsofaninvestigation:datawrangling,cleaning,andsamplingtogetasuitabledatasetdatamanagement
tobeabletoaccessbigdataquicklyandreliablyexploratorydataanalysistogeneratehypothesesand
intuitionpredictionbasedonstatisticalmethodssuchasregressionandclassificationandcommunicationof
resultsthroughvisualization,stories,andinterpretablesummaries.
Lectures
Slides
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

14/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

LabsandAssignments
2013Lectures(slightlybetter)
CS188IntroductiontoArtificialIntelligenceUCBerkeley

Thiscoursewillintroducethebasicideasandtechniquesunderlyingthedesignofintelligentcomputersystems.
Aspecificemphasiswillbeonthestatisticalanddecisiontheoreticmodelingparadigm.Bytheendofthis
course,youwillhavebuiltautonomousagentsthatefficientlymakedecisionsinfullyinformed,partially
observableandadversarialsettings.Youragentswilldrawinferencesinuncertainenvironmentsandoptimize
actionsforarbitraryrewardstructures.Yourmachinelearningalgorithmswillclassifyhandwrittendigitsand
photographs.Thetechniquesyoulearninthiscourseapplytoawidevarietyofartificialintelligenceproblems
andwillserveasthefoundationforfurtherstudyinanyapplicationareayouchoosetopursue.
Lectures
Projects
Exams
CS224dDeepLearningforNaturalLanguageProcessingStanfordUniversity

Naturallanguageprocessing(NLP)isoneofthemostimportanttechnologiesoftheinformationage.
Understandingcomplexlanguageutterancesisalsoacrucialpartofartificialintelligence.ApplicationsofNLP
areeverywherebecausepeoplecommunicatemosteverythinginlanguage:websearch,advertisement,emails,
customerservice,languagetranslation,radiologyreports,etc.Therearealargevarietyofunderlyingtasksand
machinelearningmodelspoweringNLPapplications.Recently,deeplearningapproacheshaveobtainedvery
highperformanceacrossmanydifferentNLPtasks.Thesemodelscanoftenbetrainedwithasingleendtoend
modelanddonotrequiretraditional,taskspecificfeatureengineering.Inthisspringquartercoursestudentswill
learntoimplement,train,debug,visualizeandinventtheirownneuralnetworkmodels.Thecourseprovidesa
deepexcursionintocuttingedgeresearchindeeplearningappliedtoNLP.
Syllabus
LecturesandAssignments
CS231nConvolutionalNeuralNetworksforVisualRecognitionStanfordUniversity

ComputerVisionhasbecomeubiquitousinoursociety,withapplicationsinsearch,imageunderstanding,apps,
mapping,medicine,drones,andselfdrivingcars.Thiscourseisadeepdiveintodetailsofthedeeplearning
architectureswithafocusonlearningendtoendmodelsforthesetasks,particularlyimageclassification.
Duringthe10weekcourse,studentswilllearntoimplement,trainanddebugtheirownneuralnetworksand
gainadetailedunderstandingofcuttingedgeresearchincomputervision.
LectureNotes
GithubPage
CS287AdvancedRoboticsUCBerkeley

Thecourseintroducesthemathandalgorithmsunderneathstateoftheartroboticsystems.Themajorityof
thesetechniquesareheavilybasedonprobabilisticreasoningandoptimizationtwoareaswithwide
applicabilityinmodernArtificialIntelligence.Anintendedsideeffectofthecourseistogenerallystrengthenyour
expertiseinthesetwoareas.
LecturesNotes
Assignments
CS4780MachineLearningCornellUniversity
ThiscoursewillintroduceyoutotechnologiesforbuildingdatacentricinformationsystemsontheWorldWide
Web,showthepracticalapplicationsofsuchsystems,anddiscusstheirdesignandtheirsocialandpolicy
contextbyexaminingcrosscuttingissuessuchascitizenscience,datajournalismandopengovernment.
Courseworkinvolveslecturesandreadingsaswellasweeklyhomeworkassignments,andasemesterlong
projectinwhichthestudentsdemonstratetheirexpertiseinbuildingdatacentricWebinformationsystems.
Syllabus
Lectures
COMS4771MachineLearningColumbiaUniversity

CoursetaughtbyTonyJebaraintroducestopicsinMachineLearningforbothgenerativeanddiscriminative
estimation.Materialwillincludeleastsquaresmethods,Gaussiandistributions,linearclassification,linear
regression,maximumlikelihood,exponentialfamilydistributions,Bayesiannetworks,Bayesianinference,
mixturemodels,theEMalgorithm,graphicalmodels,hiddenMarkovmodels,supportvectormachines,and
kernelmethods.
LecturesandAssignments
CS395TStatisticalandDiscreteMethodsforScientificComputingUniversityofTexas

Practicalcourseinapplyingmodernstatisticaltechniquestorealdata,particularlybioinformaticdataandlarge
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

15/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

datasets.Theemphasisisonefficientcomputationandconcisecoding,mostlyinMATLABandC++.Topics
coveredincludeprobabilitytheoryandBayesianinferenceunivariatedistributionsCentralLimitTheorem
generationofrandomdeviatestail(pvalue)testsmultiplehypothesiscorrectionempiricaldistributionsmodel
fittingerrorestimationcontingencytablesmultivariatenormaldistributionsphylogeneticclusteringGaussian
mixturemodelsEMmethodsmaximumlikelihoodestimationMarkovChainMonteCarloprincipalcomponent
analysisdynamicprogramminghiddenMarkovmodelsperformancemeasuresforclassifierssupportvector
machinesWienerfilteringwaveletsmultidimensionalinterpolationinformationtheory.
LecturesandAssignments
CVX101ConvexOptimizationStanfordUniversity

Thecourseconcentratesonrecognizingandsolvingconvexoptimizationproblemsthatariseinapplications.
Topicsaddressedincludethefollowing.Convexsets,functions,andoptimizationproblems.Basicsofconvex
analysis.Leastsquares,linearandquadraticprograms,semidefiniteprogramming,minimax,extremalvolume,
andotherproblems.Optimalityconditions,dualitytheory,theoremsofalternative,andapplications.Interiorpoint
methods.Applicationstosignalprocessing,statisticsandmachinelearning,controlandmechanical
engineering,digitalandanalogcircuitdesign,andfinance.
Textbook
LecturesandAssignments
MachineLearning:20142015UniversityofOxford

ThecoursefocussesonneuralnetworksandusestheTorchdeeplearninglibrary(implementedinLua)for
exercisesandassignments.Topicsinclude:logisticregression,backpropagation,convolutionalneural
networks,maxmarginlearning,siamesenetworks,recurrentneuralnetworks,LSTMs,handwritingwith
recurrentneuralnetworks,variationalautoencodersandimagegenerationandreinforcementlearning
LecuturesandAssignments
Sourcecode
EECSE6894DeepLearningforComputerVisionandNaturalLanguageProcessingColumbiaUniversity

Thisgraduatelevelresearchclassfocusesondeeplearningtechniquesforvisionandnaturallanguage
processingproblems.Itgivesanoverviewofthevariousdeeplearningmodelsandtechniques,andsurveys
recentadvancesintherelatedfields.ThiscourseusesTheanoasthemainprogrammingingtool.GPU
programmingexperiencesarepreferredalthoughnotrequired.Frequentpaperpresentationsandaheavy
programmingworkloadareexpected.
Readings
Assignments
LectureNotes

Misc
AM207MonteCarloMethodsandStochasticOptimizationHarvardUniversity

ThiscourseintroducesimportantprinciplesofMonteCarlotechniquesanddemonstratesthepowerofthese
techniqueswithsimple(butveryuseful)applications.AllofthisinPython!
LectureVideos
Assignments
LectureNotes
CAP5415ComputerVisionUniversityofCentralFlorida

Anintroductorylevelcoursecoveringthebasictopicsofcomputervision,andintroducingsomefundamental
approachesforcomputervisionresearch.
LecturesandVideos
Assignments
CIS581ComputerVisionandComputationalPhotographyUniversityofPennsylvania

Anintroductorycourseincomputervisionandcomputationalphotographyfocusingonfourtopics:image
features,imagemorphing,shapematching,andimagesearch.
Lectures
Assignments
CIS4930/CIS5930OffensiveComputerSecurityFloridaStateUniversity

CoursetaughtbyW.OwenRedwoodandXiuwenLiu.Itcoversawiderangeofcomputersecuritytopics,
startingfromSecureCCodingandReverseEngineeringtoPenetrationTesting,ExploitationandWeb
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

16/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

ApplicationHacking,bothfromthedefensiveandtheoffensivepointofview.
LecturesandVideos
Assignments
CS75IntroductiontoGameDevelopmentTuftsUniversity

ThecoursetaughtbyMingY.ChowteachesgamedevelopmentinitiallyinPyGamethroughPython,before
movingontoaddressingallfacetsofgamedevelopment.Topicsaddressedincludegamephysics,sprites,
animation,gamedevelopmentmethodology,sound,testing,MMORPGsandonlinegames,andaddressing
mobiledevelopmentinAndroid,HTML5,andiOS.MosttoallofthedevelopmentisfocusedonPyGamefor
learningprinciples
TextLectures
Assignments
Labs
CS100OpenSourceSoftwareConstructionUCRiverside

Thisisacourseonhowtobeahacker.Yourfirstfourhomeworkassignmentswalkyouthroughtheprocessof
buildingyourownunixshell.You'llbedevelopingitasanopensourceproject,andyouwillcollaboratewith
eachotheratvariouspoints.
GithubPage
Assignments
CS193pDevelopingApplicationsforiOSStanfordUniversity

UpdatedforiOS7.ToolsandAPIsrequiredtobuildapplicationsfortheiPhoneandiPadplatformusingtheiOS
SDK.Userinterfacedesignsformobiledevicesanduniqueuserinteractionsusingmultitouchtechnologies.
Objectorienteddesignusingmodelviewcontrollerparadigm,memorymanagement,ObjectiveCprogramming
language.Othertopicsinclude:objectorienteddatabaseAPI,animation,multithreadingandperformance
considerations.
Prerequisites:Clanguageandobjectorientedprogrammingexperience
Recommended:ProgrammingAbstractions
UpdatedcoursesforiOS8Swift
CS223AIntroductiontoRoboticsStanfordUniversity

Thepurposeofthiscourseistointroduceyoutobasicsofmodeling,design,planning,andcontrolofrobot
systems.Inessence,thematerialtreatedinthiscourseisabriefsurveyofrelevantresultsfromgeometry,
kinematics,statics,dynamics,andcontrol.
Lectures
Assignments
CS3783DReconstructionwithComputerVisionUTexas

Inthislabbasedclass,we'lldiveintopracticalapplicationsof3Dreconstruction,combininghardwareand
softwaretobuildourown3Denvironmentsfromscratch.We'lluseopensourceframeworkslikeOpenCVtodo
theheavylifting,withthefocusonunderstandingandapplyingstateoftheartapproachestogeometric
computervision
Lectures
CS411SoftwareArchitectureDesignBilkentUniversity
Thiscourseteachesthebasicconcepts,methodsandtechniquesfordesigningsoftwarearchitectures.The
topicsinclude:rationaleforsoftwarearchitecturedesign,modelingsoftwarearchitecturedesign,architectural
styles/patterns,architecturalrequirementsanalysis,comparisonandevaluationofarchitecturedesignmethods,
synthesisbasedsoftwarearchitecturedesign,softwareproductlinearchitectures,domainmodeling,domain
engineeringandapplicationengineering,softwarearchitectureimplementation,evaluatingsoftwarearchitecture
designs.
CS3152IntroductiontoComputerGameDevelopmentCornellUniversity

Aprojectbasedcourseinwhichprogrammersanddesignerscollaboratetomakeacomputergame.This
courseinvestigatesthetheoryandpracticeofdevelopingcomputergamesfromablendoftechnical,aesthetic,
andculturalperspectives.Technicalaspectsofgamearchitectureincludesoftwareengineering,artificial
intelligence,gamephysics,computergraphics,andnetworking.Aestheticandculturalincludeartandmodeling,
soundandmusic,gamebalance,andplayerexperience.
Syllabus
Lectures
Assignments
CS4152AdvancedTopicsinComputerGameDevelopmentCornellUniversity

ProjectbasedfollowupcoursetoCS/INFO3152.Studentsworkinamultidisciplinaryteamtodevelopagame
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

17/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

thatincorporatesinnovativegametechnology.Advancedtopicsinclude3Dgamedevelopment,mobile
platforms,multiplayergaming,andnontraditionalinputdevices.Thereisaspecialemphasisondeveloping
gamesthatcanbesubmittedtofestivalsandcompetitions,orthatcanbecommercialized.
Syllabus
Lectures
Assignments
CS4154AnalyticsdrivenGameDesignCornellUniversity

Aprojectbasedcourseinwhichprogrammersanddesignerscollaboratetodesign,implement,andreleasea
videogameonlinethroughpopulargameportals.Inthiscourse,studentswillusetheinternettogatherdata
anonymouslyfromplayers.Studentswillanalyzethisdatainordertoimprovetheirgameovermultiple
iterations.Technicalaspectsofthiscourseincludeprogramming,databasearchitecture,andstatisticalanalysis.
Syllabus
Lectures
Assignments
CS4620IntroductiontoComputerGraphicsCornellUniversity

Thestudyofcreating,manipulating,andusingvisualimagesinthecomputer.
Assignments
Exams
CS4670IntroductiontoComputerVisionCornellUniversity

Thiscoursewillprovideanintroductiontocomputervision,withtopicsincludingimageformation,feature
detection,motionestimation,imagemosaics,3Dshapereconstruction,andobjectandfacedetectionand
recognition.Applicationsofthesetechniquesincludebuilding3Dmaps,creatingvirtualcharacters,organizing
photoandvideodatabases,humancomputerinteraction,videosurveillance,automaticvehiclenavigation,and
mobilecomputervision.Thisisaprojectbasedcourse,inwhichyouwillimplementseveralcomputervision
algorithmsthroughoutthesemester.
Assignments
Lectures
CS4700FoundationsofArtificialIntelligenceCornellUniversity

Thiscoursewillprovideanintroductiontocomputervision,withtopicsincludingimageformation,feature
detection,motionestimation,imagemosaics,3Dshapereconstruction,andobjectandfacedetectionand
recognition.Applicationsofthesetechniquesincludebuilding3Dmaps,creatingvirtualcharacters,organizing
photoandvideodatabases,humancomputerinteraction,videosurveillance,automaticvehiclenavigation,and
mobilecomputervision.Thisisaprojectbasedcourse,inwhichyouwillimplementseveralcomputervision
algorithmsthroughoutthesemester.
Assignments
Lectures
CS4786MachineLearningforDataScienceCornellUniversity

Anintroductorycourseinmachinelearning,withafocusondatamodelingandrelatedmethodsandlearning
algorithmsfordatasciences.Tentativetopiclist:
Dimensionalityreduction,suchasprincipalcomponentanalysis(PCA)andthesingularvalue
decomposition(SVD),canonicalcorrelationanalysis(CCA),independentcomponentanalysis(ICA),
compressedsensing,randomprojection,theinformationbottleneck.(Weexpecttocoversome,but
probablynotall,ofthesetopics).
Clustering,suchaskmeans,Gaussianmixturemodels,theexpectationmaximization(EM)algorithm,link
basedclustering.(Wedonotexpecttocoverhierarchicalorspectralclustering.).
Probabilisticmodelingtopicssuchasgraphicalmodels,latentvariablemodels,inference(e.g.,belief
propagation),parameterlearning.
Regressionwillbecoverediftimepermits.
Assignments
Lectures
CS4812QuantumInformationProcessingCornellUniversity

Hardwarethatexploitsquantumphenomenacandramaticallyalterthenatureofcomputation.Though
constructingaworkingquantumcomputerisaformidabletechnologicalchallenge,therehasbeenmuchrecent
experimentalprogress.Inaddition,thetheoryofquantumcomputationisofinterestinitself,offeringstrikingly
differentperspectivesonthenatureofcomputationandinformation,aswellasprovidingnovelinsightsintothe
conceptualpuzzlesposedbythequantumtheory.Thecourseisintendedbothforphysicists,unfamiliarwith
computationalcomplexitytheoryorcryptography,andalsoforcomputerscientistsandmathematicians,
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

18/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

unfamiliarwithquantummechanics.Theprerequisitesarefamiliarity(andcomfort)withfinitedimensionalvector
spacesoverthecomplexnumbers,somestandardgrouptheory,andabilitytocountinbinary.
Syllabus
Lectures
CS4860AppliedLogicCornellUniversity

Inadditiontobasicfirstorderlogic,whentaughtbyComputerSciencethiscourseinvolveselementsofFormal
MethodsandAutomatedReasoning.FormalMethodsisconcernedwithprovingpropertiesofalgorithms,
specifyingprogrammingtasksandsynthesizingprogramsfromproofs.Wewilluseformalmethodstoolssuch
asinteractiveproofassistants(seewww.nuprl.org).Wewillalsospendtwoweeksonconstructivetypetheory,
thelanguageusedbytheCoqandNuprlproofassistants.
Syllabus
Lectures
Assignments
CS5150SoftwareEngineeringCornellUniversity

Introductiontothepracticalproblemsofspecifying,designing,building,testing,anddeliveringreliablesoftware
systems
Lectures
Assignments
CS5220ApplicationsofParallelComputersCornellUniversity

Howdowesolvethelargescaleproblemsofsciencequicklyonmoderncomputers?Howdowemeasurethe
performanceofneworexistingsimulationcodes,andwhatthingscanwedotomakethemrunfaster?Howcan
webesttakeadvantageoffeatureslikemulticoreprocessors,vectorunits,andgraphicscoprocessors?These
arethetypesofquestionswewilladdressinCS5220,ApplicationsofParallelComputers.Topicsinclude:
Singleprocessorarchitecture,caches,andserialperformancetuning
Basicsofparallelmachineorganization
DistributedmemoryprogrammingwithMPI
SharedmemoryprogrammingwithOpenMP
Parallelpatterns:datapartitioning,synchronization,andloadbalancing
Examplesofparallelnumericalalgorithms
Applicationsfromscienceandengineering
Lectures
Assignments
CS5430SystemSecurityCornellUniversity

Thiscoursediscussessecurityforcomputersandnetworkedinformationsystems.Wefocusonabstractions,
principles,anddefensesforimplementingmilitaryaswellascommercialgradesecuresystems.
Syllabus
Lectures
Assignments
CS5540ComputationalTechniquesforAnalyzingClinicalDataCornellUniversity

CS5540isamasterslevelcoursethatcoversawiderangeofclinicalproblemsandtheirassociated
computationalchallenges.Thepracticeofmedicineisfilledwithdigitallyaccessibleinformationaboutpatients,
rangingfromEKGreadingstoMRIimagestoelectronichealthrecords.Thisposesahugeopportunityfor
computertoolsthatmakesenseoutofthisdata.Computationtoolscanbeusedtoanswerseemingly
straightforwardquestionsaboutasinglepatient'stestresults(Doesthispatienthaveanormalheartrhythm?),
ortoaddressvitalquestionsaboutlargepopulations(Isthereanyclinicalconditionthataffectstherisksof
Alzheimer).InCS5540wewilllookatmanyofthemostimportantsourcesofclinicaldataanddiscussthebasic
computationaltechniquesusedfortheiranalysis,ranginginsophisticationfromcurrentclinicalpracticetostate
oftheartresearchprojects.
Syllabus
Lectures
Assignments
CS5724EvolutionaryComputationCornellUniversity

Thiscoursewillcoveradvancedtopicsinevolutionaryalgorithmsandtheirapplicationtoopenended
computationaldesign.Thefieldofevolutionarycomputationtriestoaddresslargescaleoptimizationand
planningproblemsthroughstochasticpopulationbasedmethods.Itdrawsinspirationfromevolutionary
processesinnatureandinengineering,andalsoservesasabstractmodelsforthesephenomena.Evolutionary
processesaregenerallyweakmethodsthatrequirelittleinformationabouttheproblemdomainandhencecan
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

19/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

beappliedacrossawidevarietyofapplications.Theyareespeciallyusefulforopenendedproblemdomainsfor
whichlittleformalknowledgeexistsandthenumberofparametersisundefined,suchasforthegeneral
engineeringdesignprocess.Thiscoursewillprovideinsighttoavarietyofevolutionarycomputationparadigms,
suchasgeneticalgorithms,geneticprogramming,andevolutionarystrategies,aswellasgoverningdynamicsof
coevolution,armsracesandmediocrestablestates.Newmethodsinvolvingsymbiosismodelsandpattern
recognitionwillalsobepresented.Thematerialwillbeintertwinedwithdiscussionsofrepresentationsand
resultsfordesignproblemsinavarietyofproblemdomainsincludingsoftware,electronics,andmechanics.
Syllabus
Lectures
Assignments
CS6452EvolutionaryComputationCornellUniversity
CS6452focusesondatacenternetworksandservices.Theemergingdemandforwebservicesandcloud
computinghavecreatedneedforlargescaledatacenters.Thehardwareandsoftwareinfrastructurefor
datacenterscriticallydeterminesthefunctionality,performance,costandfailuretoleranceofapplications
runningonthatdatacenter.Thiscoursewillexaminedesignalternativesforboththehardware(networking)
infrastructure,andthesoftwareinfrastructurefordatacenters.
Syllabus
Lectures
CS6630RealisticImageSynthesisCornellUniversity

Thiscoursewillcoveradvancedtopicsinevolutionaryalgorithmsandtheirapplicationtoopenended
computationaldesign.Thefieldofevolutionarycomputationtriestoaddresslargescaleoptimizationand
planningproblemsthroughstochasticpopulationbasedmethods.Itdrawsinspirationfromevolutionary
processesinnatureandinengineering,andalsoservesasabstractmodelsforthesephenomena.Evolutionary
processesaregenerallyweakmethodsthatrequirelittleinformationabouttheproblemdomainandhencecan
beappliedacrossawidevarietyofapplications.Theyareespeciallyusefulforopenendedproblemdomainsfor
whichlittleformalknowledgeexistsandthenumberofparametersisundefined,suchasforthegeneral
engineeringdesignprocess.Thiscoursewillprovideinsighttoavarietyofevolutionarycomputationparadigms,
suchasgeneticalgorithms,geneticprogramming,andevolutionarystrategies,aswellasgoverningdynamicsof
coevolution,armsracesandmediocrestablestates.Newmethodsinvolvingsymbiosismodelsandpattern
recognitionwillalsobepresented.Thematerialwillbeintertwinedwithdiscussionsofrepresentationsand
resultsfordesignproblemsinavarietyofproblemdomainsincludingsoftware,electronics,andmechanics.
Syllabus
Lectures
Assignments
Readings
CS6640RealisticImageSynthesisCornellUniversity

Acourseontheemergingapplicationsofcomputationinphotography.Likelytopicsincludedigitalphotography,
unconventionalcamerasandoptics,lightfieldcameras,imageprocessingforphotography,techniquesfor
combiningmultipleimages,advancedimageeditingalgorithms,andprojectorcamera
systems.cornell.edu/courses/CS6630/2012sp/about.stm)
Lectures
Assignments
CS6650ComputationalMotionCornellUniversity
Coverscomputationalaspectsofmotion,broadlyconstrued.Topicsincludethecomputerrepresentation,
modeling,analysis,andsimulationofmotion,anditsrelationshiptovariousareas,includingcomputational
geometry,meshgeneration,physicalsimulation,computeranimation,robotics,biology,computervision,
acoustics,andspatiotemporaldatabases.Studentsimplementseveralofthealgorithmscoveredinthecourse
andcompleteafinalproject.Thisofferingwillalsoexplorethespecialroleofmotionprocessinginphysically
basedsoundrendering.
CS6670ComputerVisionCornellUniversity

Introductiontocomputervision.Topicsincludeedgedetection,imagesegmentation,stereopsis,motionand
opticalflow,imagemosaics,3Dshapereconstruction,andobjectrecognition.Studentsarerequiredto
implementseveralofthealgorithmscoveredinthecourseandcompleteafinalproject.
Syllabus
Lectures
Assignments
CS6700AdvancedArtificialIntelligenceCornellUniversity
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

20/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

Thedesignofsystemsthatareamongtop10performersintheworld(human,computer,orhybridhuman
computer).
Syllabus
Lectures
Readings
CS6840AlgorithmicGameTheoryCornellUniversity

AlgorithmicGameTheorycombinesalgorithmicthinkingwithgametheoretic,or,moregenerally,economic
concepts.Thecoursewillstudyarangeoftopicsatthisinterface
Syllabus
Lectures
Assignments
Readings
CSE154WebProgrammingUniversityofWashington

ThiscourseisanintroductiontoprogrammingfortheWorldWideWeb.CoversuseofHTML,CSS,PHP,
JavaScript,AJAX,andSQL.
Lectures
Assignments
EECS588Computer&NetworkSecurityUniversityofMichigan

TaughtbyJ.AlexHaldermanwhohasanalyzedthesecurityofElectronicVotingMachinesintheUSandover
seas.
Thisintensiveresearchseminarcoversfoundationalworkandcurrenttopicsincomputersystemssecurity.
Readings
ESM2964FGIS&SpatialAnalysisUCSantaBarbara

TaughtbyJamesFrew,BenBest,andLisaWedding
Focusesonspecificcomputationallanguages(e.g.,Python,R,shell)andtools(e.g.,GDAL/OGR,InVEST,
MGET,ModelBuilder)appliedtothespatialanalysisofenvironmentalproblems
GitHub(includeslecturematerialsandlabs)
ICS314SoftwareEngineeringUniversityofHawaii

TaughtbyPhilipJohnson
Introductiontosoftwareengineeringusingthe"AthleticSoftwareEngineering"pedagogy
Readings
Experiences
Assessments
IGME582HumanitarianFree&OpenSourceSoftwareDevelopmentRochesterInstituteofTechnology

Thiscourseprovidesstudentswithexposuretothedesign,creationandproductionofOpenSourceSoftware
projects.Studentswillbeintroducedtothehistoricintersectionsoftechnologyandintellectualpropertyrights
andwillbecomefamiliarwithOpenSourcedevelopmentprocesses,toolsandpractices.
I485/H400BiologicallyInspiredComputationIndianaUniversity

CoursetaughtbyLuisRochaaboutthemultidisciplinaryfieldalgorithmsinspiredbynaturallyoccurring
phenomenon.Thiscourseprovidesintroducesthefollowingareas:Lsystems,CellularAutomata,Emergence,
GeneticAlgorithms,SwarmIntelligenceandArtificialImmuneSystems.It'saimistocoverthefundamentalsand
enablereaderstobuildupaproficiencyinapplyingvariousalgorithmstorealworldproblems.
Lectures
Assignments
OpenSourcedElective:DatabaseandRailsIntrotoRubyonRailsUniversityofTexas

AnintroductorycourseinRubyonRailsopensourcedbyUniversityofTexas'CSAdjunctProfessor,Richard
Schneeman.
Lectures
Assignments
Videos
Info290AnalyzingBigDatawithTwitterUCBerkeleyschoolofinformation
Inthiscourse,UCBerkeleyprofessorsandTwitterengineersprovidelecturesonthemostcuttingedge
algorithmsandsoftwaretoolsfordataanalyticsasappliedtoTwitter'sdata.Topicsincludeappliednatural
languageprocessingalgorithmssuchassentimentanalysis,largescaleanomalydetection,realtimesearch,
informationdiffusionandoutbreakdetection,trenddetectioninsocialstreams,recommendationalgorithms,and
advancedframeworksfordistributedcomputing.
LectureVideos
https://github.com/prakhar1989/awesomecourses/blob/master/README.md

21/22

8/28/2015

awesomecourses/README.mdatmasterprakhar1989/awesomecoursesGitHub

PreviousYearscoursepage
CS294CuttingedgeWebTechnologiesBerkeley

Wanttolearnwhatmakesfuturewebtechnologiestick?Joinusfortheclasswherewewilldiveintothe
internalsofmanyofthenewestwebtechnologies,analyzeanddissectthem.Wewillconductsurveylecturesto
providethebackgroundandoverviewoftheareaaswellasinviteguestlecturersfromvariousleadingprojects
topresenttheirtechnologies.
EECSE6893&EECSE6895BigDataAnalytics&AdvancedBigDataAnalyticsColumbiaUniversity

StudentswillgainknowledgeonanalyzingBigData.Itservesasanintroductorycourseforgraduatestudents
whoareexpectingtofaceBigDatastorage,processing,analysis,visualization,andapplicationissuesonboth
workplacesandresearchenvironments.
TaughtbyDr.ChingYungLin
CourseSite
AssignmentsAssignmentsarepresentintheCourseSlides
SCICOMPAnIntroductiontoEfficientScientificComputationUniversittBremen
ThisisagraduatecourseinscientificcomputingcreatedandtaughtbyOliverSerangin2014,whichcovers
topicsincomputerscienceandstatisticswithapplicationsfrombiology.Thecourseisdesignedtopdown,
startingwithaproblemandthenderivingavarietyofsolutionsfromscratch.
Topicsincludememoization,recurrenceclosedforms,stringmatching(sorting,hashtables,radixtries,and
suffixtries),dynamicprogramming(e.g.SmithWatermanandNeedlemanWunsch),Bayesianstatistics(e.g.
theenvelopeparadox),graphicalmodels(HMMs,Viterbi,junctiontree,beliefpropagation),FFT,andthe
probabilisticconvolutiontree.
LecturevideosonYoutubeandfordirectdownload
6.858ComputerSystemsSecurityMIT

Designandimplementationofsecurecomputersystems.Lecturescoverthreatmodels,attacksthat
compromisesecurity,andtechniquesforachievingsecurity,basedonrecentresearchpapers.Topicsinclude
operatingsystem(OS)security,capabilities,informationflowcontrol,languagesecurity,networkprotocols,
hardwaresecurity,andsecurityinwebapplications.
TaughtbyJamesMickensandNickolaiZeldovich
VideoLecturesandLabs
Quizzes
Readings
FinalProjects
14740FundamentalsofComputerNetworksCMU

ThisisanintroductorycourseonNetworkingforgraduatestudents.Itfollowsatopdownapproachtoteaching
ComputerNetworks,soitstartswiththeApplicationlayerwhichmostofthestudentsarefamiliarwithandas
thecourseunravelswelearnmoreabouttransport,networkandlinklayersoftheprotocolstack.
Asfarasprerequisitesareconcernedbasiccomputer,programmingandprobabilitytheorybackgroundis
required.
Thecoursesitecontainslinkstothelecturevideos,readingmaterialandassignments.

2015GitHub,Inc. Terms Privacy Security Contact Help

https://github.com/prakhar1989/awesomecourses/blob/master/README.md

Status API Training Shop Blog About Pricing

22/22

You might also like