Right now Udacity is offering its biggest ever discount – 75% off. It’s a good time to see what’s new in its ever-expanding catalog. This time I confined my attention to its programming nanodegrees, looking at two programs flagged as new and the introductory one that gets you ready to tackle them.
Disclosure: When you make a purchase having followed a link to from this article, we may earn an affiliate commission.
Nowaday’s there are so many options for learning to program and about programming concepts, why consider Udacity? The answer is that it’s a good option if you want a career-focused and hands-on approach in which the projects you tackle are based on real scenarios with input to the curriculum from industry partners. The upshot is that you learn the skills companies want and gain job-ready expertise. If you want to know more about the inside experience of completing a Udacity Nanodegree see the 5-part series written by Nikos Vagallis about the Java Web Developer Nanodegree.
The new program that I’ve not encountered previously is Learn Data Structures and Algorithms Nanodegree. Lasting four months it has the aim of providing programmers with an intuitive understanding of algorithms and the ability to choose the right approach to tackle new problems. It is designed to help you prepare for job interviews as well as being better able to come up with solutions for a wide range of real-world scenarios.
During the course students solve over 80 practice problems. There are four modules and in the first, after a refresher of Python skills you are introduced to a framework for deconstruct any open-ended problem and explore the concepts of time and space complexity, essential tools for evaluating different data structure and algorithms. In the second you meet data structures for storing data with lessons covering Collection data structures, Recursion, Trees and Maps and Hashing. In the associated project you get to solve a series of open-ended practice problems such as LRU Cache, Private Blockchain, File Recursion and hone your skills to identify and implement appropriate data structures and corresponding methods which meet given constraints.
The third module is on some basic algorithms – Binary Search, Sorting Algorithms and Divide & Conquer Algorithms. Its project confronts you with a series of real-world open ended problems such as request routing for web server, search-term auto-completion and Fibonacci heap which train you to apply suitable data structures and algorithms under different contexts. In the final module, Advanced Algorithms you meet Greedy Algorithms, Graph Algorithms, Dynamic Programming and Linear Programming and in its the project build a route-planning algorithm like the one used in Google Maps to calculate the shortest path between two points on a map by implementing the A* algorithm.
If all this sounds challenging remember that you have the support of a technical mentor, as well as that provided by other students. In addition you projects are subject to code review. According to one 5-star review for this course:
The code review was also a high point of the experience. I got to improve some of my ways of working thanks to the review 🙂
While the program leading to C++ Developer has a “New Program” flag its outline is largely the same as when I initially reported on it two years ago. The main difference is that it is now billed as a 4-month program and is if anything more project-driven than previously .
In the video Bjarne Stroustrup, the creator of the language explains that C++ is used for the “foundational parts” of just about anything we do, saying:
“It sticks in between the higher-level software and the hardware and that’s a much bigger part of the world that most people think. It’s basically everywhere.”
If you are not yet at the Intermediate level required for either of the above Nanodegrees then consider joining the Introduction To Programming Nanodegree which is designed for beginners as a “first step towards careers” in Web and App Development Machine Learning, Data Science, AI, and more. As outlined in my report when it was first introduced, this course teaches you to think like a programmer and in the course of doing it you build a web page and use it to document what you are learning. This entails among other things learning the CSS styling language and embedding videos using Python.
or email your comment to: email@example.com