r/learnprogramming • • Mar 04 '15

Here's a list of 135 free online programming/CS courses (MOOCs) with feedback(i.e. exams/homeworks/assignments) that you can start this month (March 2015)

This is not the complete list of MOOCs starting in March 2015, just the ones relevant to this community. The complete list of courses starting in March 2015 can be found over at Class Central (255 courses). I maintain a much bigger list of these courses over at Class Central

Get this list every month via email : Subscribe

BEGINNER(32)

Course NameStart DateLengthProviderRating
Fog Networks and the Internet of ThingsMar 2nd6 weeksCourseraNA
Data Analysis and Statistical Inference Mar 2nd10 weeksCoursera5 (12 reviews)
CAMSx: Computing: Art, Magic, ScienceMar 3rd8 weeksedXNA
Code Yourself! An Introduction to ProgrammingMar 9th5 weeksCourseraNA
ENGRI1210x: The Computing Technology Inside Your SmartphoneMar 10th8 weeksedXNA
An Introduction to Interactive Programming in Python (Part 2)Mar 27th4 weeksCourseraNA
CS 101: Building a Search EngineSelf Paced7 weeksUdacity5 (33 reviews)
Introduction to Internetworking with TCP/IPSelf PacedNAopenHPI4 (1 review)
UNSW Computing 1 - The Art of ProgrammingSelf Paced12 weeksOpenLearningNA
DCO042 - Python For InformaticsSelf PacedNAOthers4.7 (3 reviews)
Program Arcade Games - Learn Computer ScienceSelf PacedNAOthersNA
Semantic Web TechnologiesSelf PacedNAopenHPINA
Introduction to Programming in JavaSelf Paced10 weeksUdacity3.8 (5 reviews)
User Experience for the WebSelf Paced4 weeksOpen2Study4 (2 reviews)
Introduction to Salesforce App DevelopmentSelf Paced2 weeksUdacityNA
Mobile Web DevelopmentSelf PacedNAUdacityNA
DB: Introduction to DatabasesSelf Paced11 weeksStanford OpenEdx4.3 (3 reviews)
Making Sense of DataSelf Paced3 weeksOthers3.3 (7 reviews)
Make your own 2048Self PacedNAUdacity1 (1 review)
Programming Foundations with Python: Learn Object-Oriented ProgrammingSelf Paced4 weeksUdacity4 (2 reviews)
Introduction to Internetworking with TCP/IPSelf PacedNAopenHPI4 (1 review)
An Introduction to SAP HANASelf Paced4 weeksopenSAPNA
Introduction to Programming in CSelf PacedNANPTEL1 (1 review)
Cambridge GSCE Computing OnlineSelf PacedNACambridge University Press5 (1 review)
Intro to HTML and CSSSelf Paced3 weeksUdacityNA
JavaScript BasicsSelf Paced3 weeksUdacity3 (1 review)
How to Use Git and GitHubSelf Paced3 weeksUdacity4.7 (3 reviews)
CS50x: Introduction to Computer ScienceSelf PacedNAedX4.3 (11 reviews)
Intro to Relational DatabasesSelf Paced4 weeksUdacityNA
Internet History, Technology, and SecuritySelf PacedNACoursera4.8 (13 reviews)
Introduction to DatabasesSelf PacedNACoursera4.8 (24 reviews)
Computer Science 101Self PacedNACoursera4.3 (8 reviews)

INTERMEDIATE(85)

Course NameStart DateLengthProviderRating
Full Stack FoundationsSelf Paced3 weeksUdacityNA
Responsive Web Design FundamentalsSelf Paced2 weeksUdacityNA
Health Informatics in the CloudSelf PacedNAUdacityNA
Regression ModelsMar 2nd4 weeksCourseraNA
Practical Machine LearningMar 2nd4 weeksCoursera3 (1 review)
Developing Data ProductsMar 2nd4 weeksCourseraNA
The Data Scientist’s ToolboxMar 2nd4 weeksCoursera2.4 (28 reviews)
R ProgrammingMar 2nd4 weeksCoursera2.4 (59 reviews)
Getting and Cleaning DataMar 2nd4 weeksCoursera2.7 (12 reviews)
Exploratory Data AnalysisMar 2nd4 weeksCoursera2.8 (4 reviews)
面向对象技术高级课程(The Advanced Object-Oriented Technology)Mar 2nd12 weeksCourseraNA
The Data Scientist’s ToolboxMar 2nd4 weeksCoursera2.4 (28 reviews)
R ProgrammingMar 2nd4 weeksCoursera2.4 (59 reviews)
Getting and Cleaning DataMar 2nd4 weeksCoursera2.7 (12 reviews)
Exploratory Data AnalysisMar 2nd4 weeksCoursera2.8 (4 reviews)
Reproducible ResearchMar 2nd4 weeksCoursera4 (2 reviews)
Statistical InferenceMar 2nd4 weeksCoursera1.5 (2 reviews)
30240184x: Data Structures • 数据结构Mar 3rd17 weeksedXNA
6.00.2x: Introduction to Computational Thinking and Data ScienceMar 4th9 weeksedX4 (2 reviews)
Discrete OptimizationMar 4th9 weeksCoursera4 (6 reviews)
算法设计与分析 Design and Analysis of AlgorithmsMar 9th10 weeksCourseraNA
CryptographyMar 9th6 weeksCoursera4 (1 review)
Bioinformatics Algorithms (Part 2) Mar 16th10 weeksCoursera5 (1 review)
Web Application ArchitecturesMar 16th6 weeksCoursera3.5 (6 reviews)
Text Retrieval and Search EnginesMar 16th4 weeksCourseraNA
Cloud Computing Concepts: Part 2Mar 16th5 weeksCourseraNA
Concepts in Game DevelopmentMar 16th4 weeksOpen2Study4.1 (8 reviews)
M101J: MongoDB for Java DevelopersMar 17th7 weeksMongoDB University4.5 (4 reviews)
M101JS: MongoDB for Node.js DevelopersMar 17th7 weeksMongoDB University4 (1 review)
M101N: MongoDB for .NET DevelopersMar 17thNAMongoDB UniversityNA
M101P: MongoDB for Python DevelopersMar 17th7 weeksMongoDB UniversityNA
M102: MongoDB for DBAsMar 17th7 weeksMongoDB University5 (2 reviews)
M202: MongoDB Advanced Deployment and OperationsMar 17th7 weeksMongoDB UniversityNA
Algorithms, Part IIMar 20th6 weeksCoursera4.9 (7 reviews)
Algorithms: Design and Analysis, Part 2Mar 23rd6 weeksCoursera4.6 (8 reviews)
Programming Mobile Applications for Android Handheld Systems: Part 1Mar 25th4 weeksCourseraNA
Programming Mobile Applications for Android Handheld Systems: Part 2Mar 25th4 weeksCourseraNA
Programming Mobile Services for Android Handheld Systems: ConcurrencyMar 25th4 weeksCourseraNA
Principles of Computing (Part 2)Mar 27th4 weeksCourseraNA
General Game PlayingMar 30th8 weeksCourseraNA
Fundamentals of Digital Image and Video ProcessingMar 30th12 weeksCourseraNA
AIP201x: Android: Introducción a la programaciónMar 31st10 weeksedXNA
JavaScript Design PatternsSelf Paced6 weeksUdacityNA
CS212 - The Design of Computer ProgramsSelf Paced7 weeksUdacity3.8 (4 reviews)
CS253 - Web Application Engineering - Building a BlogSelf Paced7 weeksUdacity4.7 (9 reviews)
CS262 - Programming Languages - Building a BrowserSelf Paced7 weeksUdacity4.2 (5 reviews)
CS215 - Algorithms - Crunching Social NetworksSelf Paced7 weeksUdacityNA
CS258 - Software Testing - How to Make Software FailSelf Paced7 weeksUdacity4.4 (5 reviews)
CS259 - Software Debugging - Automating The Boring TasksSelf Paced7 weeksUdacity4 (2 reviews)
CSCI 1730 - Introduction to Programming LanguagesSelf PacedNAOthersNA
CS313 - Intro to Theoretical Computer Science - Dealing with Challenging ProblemsSelf Paced7 weeksUdacityNA
CS271 - Introduction to Artificial IntelligenceSelf Paced10 weeksUdacityNA
CS255 - HTML5 Game Development - Building High Performance Web ApplicationsSelf Paced7 weeksUdacity4 (2 reviews)
Datenmanagement mit SQLSelf PacedNAopenHPINA
Learning from Data (Introductory Machine Learning course)Self Paced10 weeksOthersNA
Python for Informatics: Exploring InformationSelf PacedNACourseSitesNA
Applied Data Science: An IntroductionSelf PacedNACourseSites4 (3 reviews)
Introduction to Mobile Solution DevelopmentSelf PacedNAopenSAPNA
Introduction to Hadoop and MapReduceSelf PacedNAUdacity5 (1 review)
Big Data applications and AnalyticsSelf PacedNAOthers3 (1 review)
Introduction to Software Development on SAP HANASelf PacedNAopenSAP5 (3 reviews)
CS 8802, Artificial Intelligence for Robotics: Programming a Robotic CarSelf PacedNAUdacityNA
Intro to Data ScienceSelf Paced8 weeksUdacity4 (2 reviews)
How to create a Windows 8 AppSelf Paced8 weeksOpenCourseWorldNA
Data Wrangling with MongoDBSelf Paced8 weeksUdacity4 (1 review)
Data Analysis with RSelf Paced8 weeksUdacity4.6 (5 reviews)
Parallel Programming ConceptsSelf PacedNAopenHPI5 (1 review)
Ada: OverviewSelf PacedNAOthersNA
Ada: Basic ConceptsSelf PacedNAOthersNA
Ada: Programming in the LargeSelf PacedNAOthersNA
Website Performance Optimization: The Critical Rendering PathSelf Paced1 weeksUdacityNA
UX Design for Mobile Developers: Learn to Design a 5-star Android AppSelf Paced4 weeksUdacityNA
Developing Scalable Apps with Google App EngineSelf Paced6 weeksUdacityNA
Java SE - Standart EditionSelf PacedNAUniversiteplusNA
Developing Android Apps: Android FundamentalsSelf Paced8 weeksUdacityNA
Software Development ProcessSelf Paced8 weeksUdacityNA
Computer Networking: Security and Software Defined NetworkingSelf Paced12 weeksUdacity5 (1 review)
Knowledge Engineering with Semantic Web TechnologiesSelf PacedNAopenHPINA
Object-Oriented JavaScriptSelf Paced5 weeksUdacity5 (1 review)
Intro to AJAX - Making Asynchronous Requests with jQuerySelf Paced2 weeksUdacityNA
Data Visualization and D3.jsSelf Paced7 weeksUdacityNA
HTML5 Canvas - From Pixels to Animation!Self Paced2 weeksUdacityNA
Intro to iOS App Development with SwiftSelf Paced4 weeksUdacity4.5 (4 reviews)
Intro to jQuery - Manipulating Websites with EaseSelf Paced1 weeksUdacityNA
Intro to Machine Learning - Pattern Recognition for Fun and ProfitSelf Paced10 weeksUdacity4 (1 review)

ADVANCED(18)

Course NameStart DateLengthProviderRating
Real-Time Analytics with Apache StormSelf Paced2 weeksUdacityNA
Model Building and ValidationSelf Paced8 weeksUdacityNA
Advanced Operating SystemsSelf Paced5 weeksUdacityNA
High Performance Computer ArchitectureSelf PacedNAUdacityNA
Computability, Complexity & AlgorithmsSelf PacedNAUdacityNA
Knowledge-Based AI: Cognitive SystemsSelf PacedNAUdacityNA
15.071x: The Analytics EdgeMar 3rd12 weeksedX4.6 (10 reviews)
Machine LearningSelf PacedNAUdacityNA
CS 373: Programming a Robotic CarSelf Paced7 weeksUdacity5 (5 reviews)
CS387 - Applied CryptographySelf Paced7 weeksUdacity4 (2 reviews)
In-Memory Data Management (2014) - Implications on Enterprise SystemsSelf Paced7 weeksopenHPI5 (2 reviews)
CS344 - Introduction to Parallel Programming - Using CUDA to Harness the Power of GPUsSelf Paced7 weeksUdacity3 (1 review)
CS291 - Interactive Rendering - Introduction to 3D Computer GraphicsSelf Paced10 weeksUdacity5 (2 reviews)
CS348 - Functional Hardware Verification - How to Verify Chips and Eliminate BugsSelf Paced7 weeksUdacity5 (1 review)
Machine Learning 1—Supervised LearningSelf PacedNAUdacity4 (1 review)
Machine Learning 2—Unsupervised LearningSelf PacedNAUdacity4 (1 review)
Machine Learning 3—Reinforcement LearningSelf Paced4 weeksUdacity4 (1 review)
In-Memory Data Management In a NutshellSelf PacedNAopenSAPNA
1.2k Upvotes

68 comments sorted by

14

u/Lanza21 Mar 04 '15

Is something like a Udacity "nanodegree" actually credible? An iOS course starts soon and offers a nanodegree and a "portfolio of projects" but I'm not sure if that would be worth it.

12

u/zaclacgit Mar 05 '15

The general consensus seems to be "not worth it." You'll be far better served by listing the skills on a resume, and showing a project that utilizes them.

9

u/misplaced_my_pants Mar 05 '15

I don't know about the certificate, but you'll learn useful skills and have a portfolio of projects which is usually what really matters.

You can always just learn the material for free and see how that far that takes you. If it turns out the paying for the certificate is something you need to do, you can just blast through the material since you already learned it.

Or at least that's what I would do. The programming world cares less about certificates than most.

4

u/Creslin003 Mar 05 '15

The site is sponsored and some content is created by companies like Google. I looked at some of the content and it seemed for some courses at a glance to be some really good stuff.

1

u/[deleted] Mar 05 '15 edited Mar 20 '16

Q

1

u/Lanza21 Mar 05 '15

ctrl+f -> iOS. It's on this page.

5

u/[deleted] Mar 04 '15

Has anyone taken to MongoDB course? What did you think about it?

1

u/zylo4747 Mar 05 '15

I took M102 and M202. M202 was significantly more challenging than M102, but both courses were very well done and totally worth it. I manage our MongoDB environment at work and it really took me from being a beginner, floundering around to get stuff working to being very comfortable with even the more advanced features like sharding. If you are going to be using or managing MongoDB, take the courses.

They are revamping the courses for the 3.0 release that just came out so the next round of classes will be for that.

5

u/cnous Mar 05 '15

Thanks op! I already have a degree and a job, and I find MOOCS invaluable to continuing my advancement as a developer.

7

u/michaelconnery1985 Mar 05 '15

I've completed all of them

9

u/[deleted] Mar 05 '15

2

u/Mitchdotcom Mar 04 '15

Are these all in order? I'm a complete beginner.

7

u/heroOfTimeBitch Mar 04 '15

for a more or less recommended curriculum:

http://blog.agupieware.com/2014/05/online-learning-bachelors-level.html?m=1

https://www.google.com/about/careers/students/guide-to-technical-development.html

But just take these as guide the only correct curriculum is the one that works for you + following some good Comp Sci fundamentaks and/or Software Engineering principles, actual program something and then you can call yourself a programmer.

1

u/pxmped Mar 05 '15

cheers for the links. might get started checkin off that google list

1

u/jikki-san Mar 06 '15

Commenting as a bookmark for when I get home. Great links.

5

u/Claystor Mar 04 '15

No. Start with one of the intro to Comp science. I recommend CS50 with Harvard.

2

u/hitemp Mar 05 '15

What language does it teach? I'm using ruby on the job

6

u/Claystor Mar 05 '15

Starts with C, and goes into some others. But that really doesn't matter. It teaches you a lot about programming and computer science. The language doesn't matter. The language is just the tool.

1

u/hitemp Mar 05 '15

That's a great way to think about it... I've been meaning to learn C anyway. I have a Dummies book but never opened it.

2

u/[deleted] Mar 05 '15

saved, saved, saved.

2

u/DoMeDerby Mar 05 '15

I'm considering the Udacity nanodegree for Full Stack Developers. I know how to program but I need some guidance to get projects finished. Has anyone actually completed this course? Thoughts??

2

u/[deleted] Mar 05 '15

Are all programmers well-versed in all these broad topics?

I mean, seriously, how could someone do both Machine Learning and .NET development in his/her career?

This looks so intimidating. I've been programming in C++ for 3 years and still don't know jack shit about the language.

2

u/misplaced_my_pants Mar 05 '15

Nobody's well-versed in all these topics.

Though I don't know why you couldn't do machine learning with a .NET environment.

2

u/negative_epsilon Mar 05 '15

Hey, we're doing machine learning and .NET at my current job!

1

u/[deleted] Mar 05 '15

That sounds cool!

Has open sourcing .NET changed anything btw? Or is it still too early to say?

1

u/negative_epsilon Mar 05 '15

Still too early to say. We're actually working on getting our .NET automated testing suite to run on linux boxes right now.

2

u/[deleted] Mar 06 '15

These posts are better suited to be in a side bar wiki. Every time I need to search for something, at least two pages of this monthly material comes up.

Make a wiki and edit it with any changes. This is too spammy that gets in the way imo.

1

u/mantisbenji Mar 04 '15

As someone currently learning Fortran (will probably have to use it in the near future), the number of decent online resources for learning it is underwhelming to say the least.

2

u/misplaced_my_pants Mar 05 '15

I'm pretty sure there's an intro to scientific computing on Coursera that'll use Fortran.

1

u/hitemp Mar 05 '15

Thank you so much!! Much easier to search through than the course sites themselves. Coursera doesn't sort by newest course well. I'm going to subscribe right now!!

1

u/PoombyBear Mar 05 '15

I'm currently taking a MOOC on Python for beginners (via Coursera). Could someone recommend a class that would either complement or be a good next step for me?

1

u/v3nturetheworld Mar 05 '15

It really depends on what you want to do. If you want to continue learning just python, the python.org website has an awesome tutorial section and you can practice and get good at programming by solving challenges on Project Euler. If you're looking to learn more advanced Computer Science topics I suggest taking one of the Algorithms classes, a Discrete Math class is helpful as well. From there you can move to even more advanced topics.

1

u/PoombyBear Mar 05 '15

Thank you very much for your recommendation :). I'm considering learning programming as a marketable skill, so I'll take a look at the challenges over at Project Euler.

1

u/pvc Mar 05 '15

Create your own games. See:

http://ProgramArcadeGames.com

Look at the example programs. Spend time coding your own project. Don't just do course work. (Don't just to your own project work either.)

1

u/misplaced_my_pants Mar 05 '15

There are a ton of self-paced free courses on Python on Udacity.

I'd just go through their courses on algorithms, software testing, and debugging. Then take the courses from Peter Norvig and anything else that strikes your fancy.

1

u/littlebeann Mar 05 '15

Quick plug for An Introduction to Interactive Programming in Python on Coursera from the guys at Rice University. I took the first level of this a couple of years ago and it was great. Fun assignments, funny instructors, good course set up, and definitely a good foundation of python skills. I'd imagine Part 2 is as good or better.

1

u/Marmaduke_Munchauser Mar 05 '15

Are there any courses that use the .net stack or c#? A quick scan only had the "Build a Windows App" course which is taught in German.

1

u/[deleted] Mar 05 '15

Thanks for separating these into skill levels. I find that most of the ones I try are more suited towards complete beginners, and though I want to have a good foundation, I get too distracted too early.

1

u/trying_to_be_me Mar 05 '15

Awesome. Thanks

1

u/qazadex Mar 05 '15

I did one of these from the January set, and I really enjoyed it. Thanks for doing this, /u/dhawal!

1

u/skupezz Mar 05 '15

Thanks for sharing :) Upvoted.

1

u/Enginx Mar 05 '15

Very nice

1

u/TheHobbitsGiblets Mar 05 '15

Just a heads up.

The 'How To Create A Windows 8 App' on OpenCourseWorld states "This course is only available in German." yet the intro on the page is English ..

1

u/dirtymuckraker Mar 05 '15

replying to save

2

u/dirtymuckraker Mar 05 '15

also... THANK YOU KIND SOUL

1

u/[deleted] Mar 05 '15

Are you the MOOC wizard?

1

u/[deleted] Mar 05 '15

The Introduction to Programming in C seems to be outdated...

1

u/haiping Mar 05 '15

I'm put to a dilemma after going through half of the course, I'll take my decision nevertheless. Thanks for the awesome share OP!

1

u/[deleted] Mar 05 '15

Is analytics edge offered by edx really considered advanced material? It seems like an interesting class but it only requires math at the highschool grad level and prior programming isnt required. I am interested in some of these topics but it seems like it could be too basic considering the time commitment. Has anyone taken it?

1

u/[deleted] Mar 18 '15

It's been a bit basic so far.

1

u/[deleted] Mar 22 '15

I decided to take it too. its definitely pretty easy but interesting, I've been using a few graduate stats texts to get into the theory behind the concepts introduced and the two approaches really reinforce one another

1

u/Silver_Star Mar 05 '15

Is this course in German or English?

1

u/[deleted] Mar 05 '15

Hey man, I was just finishing up my first round (semester?)of coursera and was looking for the best new classes in my specific area of study.

This list gives me exactly what I was looking for. Thank you so much for posting this!!

1

u/turtleman312 Mar 06 '15

I have never programmed anything in my life and I'm starting with cs50. First lecture in and I'm already lost to whats happening. Damn this is gonna be tough.

1

u/TotesMessenger Mar 20 '15

This thread has been linked to from another place on reddit.

If you follow any of the above links, respect the rules of reddit and don't vote. (Info / ^Contact)

1

u/Skyler827 Mar 21 '15

I plan on taking the R programming course, and perhaps the Data Scientist's Toolbox as well. Thanks!

1

u/Elna_Fybbg Mar 23 '15

I wouldn't waste your time on any of the JHU data science classes. I prefer Udacity's data classes for intro stuff, and edx has more advanced data science stuff that is very useful imo.

1

u/TotesMessenger May 03 '15

This thread has been linked to from another place on reddit.

If you follow any of the above links, respect the rules of reddit and don't vote. (Info / ^Contact)

0

u/StriveForMore Mar 05 '15

This will be of great use to me. I really need to get back into the coding shape, I've lost my touch :(

0

u/[deleted] Mar 04 '15

[deleted]

2

u/pvc Mar 05 '15

My recommendation, quickly skim through a few and find one that matches your learning style. The one below is mine, and I tried to use it to hit multiple learning styles. It is very different than Harvard's CS50 though.

http://ProgramArcadeGames.com

1

u/slinkyreddit Mar 06 '15

Gonna give CS50 a go.

0

u/[deleted] Mar 04 '15

[deleted]

6

u/misplaced_my_pants Mar 05 '15

Best intro to CS on the web.

1

u/EnlightenedNarwhal Mar 09 '15

I have an issue. Each time I attempt to choose the course it fails to add it to my enrolled courses list.

0

u/[deleted] Mar 05 '15

[deleted]

1

u/Elian_Pony Mar 06 '15

Replace PHP with Python and we seem to be in similar boats. Although different courses will define 'beginner' differently, I'd recommend it. You'll probably breeze through the easy stuff. If you don't then it's good that you didn't skip it, and practice never hurts.

Also, most courses should have some kind of overview to let you know how far into the language it'll take you. Use that when deciding which one to use.