Over the past couple of years I have adopted a habit of completing the LeetCode “Problem of the Day” each morning, often as the first thing I do when I wake, or at least before I start work. I love this and it has made me much faster and more confident about the type of algorithms and data structures questions that frequent software engineering interviews.
Technically, LeetCode calls these “[Month] LeetCoding Challenge [Year]” as the screenshot I captured shows. The idea is to solve each problem on the calendar day that LeetCode posts it, and build a streak of consecutive days that I’ve solved the daily problem.
LeetCode being a business, they also sell “time travel certificates” that allow me “travel back in time” to solve a past day’s problem and keep a streak alive. They also provide one extra weekly problem to paid subscribers. I believe you can’t technically complete the monthly streak unless you become a paid subscriber and solve those.
I don’t worry about the streak mechanic, although I certainly don’t begrudge LeetCode the attempt to generate some cashflow from the service they provide. Sometimes I miss days, either because of travel or family or because the problem is legitimately too hard for me to solve. I just pick up the next day.
One of my favorite aspects is reviewing the official Solution explanation, or the user-generate discussion thread, after I’ve solved a problem myself. I gain a lot from reviewing other users’ code and comparing their solutions to mine, especially when my solution works but is slow. LeetCode times submissions and shows the result, unless the code is so inefficient that it triggers a “Time Limit Exceeded” error.
The rhythm of solving one data structures and algorithms problem every morning is a terrific routine for programming practice. There’s obviously a lot more to software engineering than compact, competitive programming-style and interview-style challenges. But I always feel like a musician practicing scales or a basketball player practicing free-throws – hardly the entire repertoire of the craft, but nonetheless a valuable way to practice by myself and develop skills that translate to other parts of the domain.
Intermediate programming ability in C++ or Python (the languages of the autonomous vehicle industry)
Basic linear algebra
Basic calculus
Basic statistics
Basic physics
As a student in the Intro to Self-Driving Cars Nanodegree program, you’ll build your skills up over the course of a four-month curriculum path that tackles each of these areas at a pace that is both manageable and rewarding. Best of all, you’ll practice putting these skills to work on the types of projects that real self-driving car engineers work on every day.
If you love self-driving cars, but thought you’d never get the chance to work on them, then this is the program for you.
Are you trying to decide which Udacity Nanodegree Program you should enroll in? Here’s an all-in-one guide to help you determine which program is best for you.
Partner:Google Lead Instructors:Katherine Kuan, Chris Lei Difficulty:Beginner Time:6 months Syllabus:User Interface + User Input + Multiscreen Apps + Networking + Data Storage Prerequisites: None! Cost: $199 / month Best For:Aspiring Android Developers with no programming experience.
Partner:Google Lead Instructor:James Williams, Reto Meier Difficulty: Intermediate Time: 8 months Syllabus: Developing Android Apps + Advanced Android App Development + Gradle for Android and Java + Material Design for Android Developers + Capstone Project Prerequisites: Java, git, GitHub Cost: $999 upfront OR $199/month Best For:Intermediate programmers who want to become Android specialists.
Partners:IBM Watson, Amazon Alexa, DiDi Chuxing, Affectiva Lead Instructor:Sebastian Thrun, Peter Norvig Difficulty: Advanced Time: 6 months Syllabus: Foundations of AI + Deep Learning and Applications + Computer Vision + Natural Language Processing + Voice User Interfaces Prerequisites: Python, basic linear algebra, calculus, and probability Cost: $1600 Best For:Engineers who want to apply AI tools across an array of domains, from computer vision to natural language processing to voice interfaces.
Partners:AT&T, Lyft, Google Difficulty: Intermediate Time: 6 months Syllabus: UIKit Fundamentals + iOS Networking with Swift + iOS Persistence and Core Data + How to Make an iOS App Prerequisites: macOS 10.12 or OS X 10.11.5 Cost: $199 / month Best For:Beginners who want to launch their iOS developer careers.
Partners:Alteryx, Tableau Lead Instructor:Patrick Nussbaumer Difficulty: Intermediate Time: 160 hours Syllabus: Problem Solving with Advanced Analytics + Creating an Analytical Dataset + Segmentation and Clustering + Data Visualization in Tableau + Classification Models + A/B Testing for Business Analysts + Time Series Forecasting Prerequisites: Basic statistics and spreadsheet skills, a Windows computer Cost: $199 / month Best For:Aspiring data analysts who want to launch a career in data-driven decision-making and visualization, as opposed to programming.
Partners: Facebook, Tableau Lead Instructor:Caroline Buckey Difficulty: Intermediate Time: 260 hours Syllabus: Descriptive Statistics + Intro to Data Analysis + Git and GitHub + Data Wrangling + MongoDB + Exploratory Data Analysis + Inferential Statistics + Intro to Machine Learning + Data Visualization in Tableau + Introduction to Python Programming Prerequisites: None! Cost: $199 / month Best For:Aspiring data scientists who want to launch a career in developing software to extract meaning from data.
Lead Instructors: Ian Goodfellow, Andrew Trask, Mat Leonard Difficulty: Intermediate Time: 6 months Syllabus: Introduction + Neural Networks + Convolutional Neural Networks + Recurrent Neural Networks + Generative Adversarial Networks Prerequisites: Python, basic linear algebra and calculus Best For:Students excited by the potential for deep learning to change the world, and who additionally wish to earn guaranteed entry into Udacity’s Artificial Intelligence, Robotics, or Self-Driving Car Engineer Nanodegree Programs (a special “perk” of the program for graduates!).
Digital Marketing
Partners: Facebook, Google, Hootsuite, HubSpot, MailChimp, Moz Lead Instructor:Anke Audenaert Time: 3 months Syllabus: Marketing Fundamentals + Content Strategy + Social Media Marketing + Social Media Advertising through Facebook + Search Engine Optimization (SEO) + Search Engine Marketing with AdWords + Display Advertising + Email Marketing + Measure and Optimize with Google Analytics Prerequisites: None! Best For:Hard workers seeking to launch or advance their digital marketing careers through real-world experience and multi-platform fluency.
Partners: Amazon Web Services, GitHub,AT&T, Google Lead Instructors: Mike Wales, Karl Krueger Difficulty: Intermediate Time: 6 months Syllabus: Programming Foundations with Python + Responsive Web Design Fundamentals + Intro to HTML and CSS + Responsive Images + Intro to Relational Databases + Authentication & Authorization: OAuth + Full Stack Foundations + Intro to AJAX + JavaScript Design Patterns + Configuring Linux Web Servers + Linux Command Line Basics Prerequisites: Python and git Cost: $199 / month Best For:Developers who want to learn to build web applications from end-to-end.
Lead Instructor: Andy Brown Difficulty: Beginner Time: 5 months Syllabus: Learn to Code + Make a Stylish Webpage + Python Programming Foundations + Object-Oriented Programming with Python + Explore Programming Career Options + Experience a Career Path Prerequisites: None! Cost: $399 Best For:Beginners looking for an accessible approach to coding.
Lead Instructors: Michael Jackson, Ryan Florence, Tyler McGinnis Difficulty: Intermediate Time: 4 months Syllabus: React Fundamentals + React & Redux + React Native Prerequisites: HTML, JavaScript, Git Cost: $499 Best For:Front-end engineers who want to master the web’s hottest framework. React is the highest-paid sub-field of web development!
Partners: Bosch, Electric Movement, iRobot, Kuka, Lockheed Martin, MegaBots, Uber ATG, X Lead Instructor: Ryan Keenan Difficulty: Advanced Time: 6 months Syllabus: ROS Essentials, Kinematics, Perception, Controls, Deep Learning for Robotics Prerequisites: Intermediate Python, calculus, linear algebra, and statistics Cost: $2400 Best For:Makers who dream of building machines that impact everything from agriculture to manufacturing to security to healthcare.
Partners: Mercedes-Benz, NVIDIA, Uber ATG Lead Instructor: David Silver (that’s me!) Difficulty: Advanced Time: 9 months Syllabus: Deep Learning + Computer Vision + Sensor Fusion + Localization + Path Planning + Control + System Integration Prerequisites: Intermediate Python, calculus, linear algebra, and statistics Cost: $2400 Best For:Engineers who want to join technology’s hottest field and revolutionize how we live.
Partners: Google VR, Vive, Upload, Unity, Samsung Lead Instructor: Christian Plagemann Difficulty: Advanced Time: 6 months Syllabus: Unity + C# + Google Cardboard + Ergonomics + User Testing + Interface Design + Mobile Performance + High-Immersion Unity + High-Immersion Unreal Prerequisites: None! Cost: $1200 Best For:People who want to build new worlds. VR is the most in-demand skill for freelance developers!