Languages and Libraries for Machine Learning


In our previous post 5 Skills You Need to Become a Machine Learning Engineer, we identified the key skills you need to succeed in this field. Now, we’re going to address one of the most common questions that comes up from students interested in Machine Learning: Which programming language(s) do I need to know?

The answer may surprise you. It doesn’t really matter!

As long as you’re familiar with the Machine Learning libraries and tools available in your chosen language, the language itself isn’t as important. A variety of Machine Learning libraries are available in different programming languages. Depending on your role within a company, and the task you’re trying to accomplish, certain languages, libraries and tools can be more effective than others.

Continue Reading

Google Q&A: Scalable Apps with Java

Why is cloud computing one of the fastest growing fields right now? Why should you learn to develop scalable apps? What’s the best way to leverage Google’s App Engine and Cloud Endpoints?

Ask the experts!


This Thursday at 9am PT, Google Developers is hosting an “Ask the Experts” Q&A session with Magnus Hyttsten and Jocelyn Becker, the instructors behind Udacity and Google’s Developing Scalable Apps with Java course.

Magnus and Jocelyn will tell you why you should think scalably, and answer questions from you and your fellow scalable developers.

Ask & vote for your questions here.

Tune in here for the show on Thursday, August 28, 2014 at 9am PT.

Python vs. Java: Udacity Instructor Weighs In On Programming Languages

Python, a programming language named not after a snake species but a 1970s British television comedy sketch, is gaining popularity in colleges across the US. In a recent article, ComputerWorld reported that  “Python has surpassed Java as the top language used to introduce U.S. students to programming.” The article goes on to suggest that majority of top computer science departments in the US now use Python to teach coding.

As a teacher who has introduced programming to thousands of students, I must say that I am thrilled with this development. Consider the following program in Java. It prints out the text “Hello World” on the screen and is generally the first example used by many programming instructors.

Hello World In Java

class HelloWorld {
   public static void main(String[] args) {
       System.out.println("Hello World");

Now imagine you are a novice programmer looking at this program. You would probably have many questions, including: What is a class? What does the word public mean? What is static? What is main? Why does learning have to be so tough?

One way I have seen many teachers handle this barrage of questions is by telling the student to simply “trust them.” This response, as I suspect you will agree, is just not satisfactory.

Next, let’s look at the same program in python.

Hello World In Python

print “Hello World”

It’s one line of code and is pretty close to English. This lets the learner focus more on the program they are designing and not get riled up in tricky syntax and keywords.

In one of our new courses, Programming Foundations with Python, we leverage the simplicity of Python to teach important computing ideas like Object Oriented Programming. In Intro to Computer Science, Udacity’s most popular introductory programming course, we also introduce students to programming with Python. Thousands of students have taken these courses and are responding positively to Python.


Miguel, a student in Programming Foundations with Python, posts his feelings on the discussion forum by saying, “I’m quite impressed with how easy it’s been to utilize Python for interesting tasks.” Christine, another student in the class, says that she, “explained to [her] husband how [her] program works … and he was impressed that python can achieve such results with so few lines.”

As a teacher, I welcome the use of Python in introductory classes. But I am also convinced that Python will eventually be replaced with a new language of choice — in much the same way that Python replaced Java, which previously replaced Pascal. I tell my students that the one thing they can be sure of is that they will be learning new programming languages throughout their career.

This brings to fore the idea that we all really need to learn how to learn new things. This sounds like it could be a new course at Udacity. Who’s with me?
Kunal Chawla, Instructor, Programming Foundations with Python

NEW! Earn a Certificate for Intro to Java Programming!

Learn Java from Cay and Sara

Today, we are excited to announce that you now have access to coaching support and can earn a certificate for Intro to Java Programming!

Java was initially released in 1995 by Sun Microsystems (now part of Oracle). It was designed to be platform-independent, with the slogan “write once, run anywhere.” Java is also an object-oriented programming language, meaning you can use code written by others to create your own programs.

Intro to Java Programming teaches you everything you need to know to get started as a Java programmer. With the paid course experience, you’ll have access to a personal Coach to help you tailor your learning goals and answer any questions that you might have about the course material. After passing an oral exam, you’ll also earn a certificate verifying your new programming skills.

Java is a great language to learn if you’re looking to become an Android Developer. Upon completing the course, you’ll be perfectly poised to continue on to Developing Android Apps.

We’ll see you in class!

Check out the course

New Course: Android Fundamentals by Google

ud853The wait is over! After offering a sneak preview a couple of weeks ago, we’re now releasing the entire course on Developing Android Apps: Android Fundamentals that Google developed with us.

Together with Google’s Reto Meier, Katherine Kuan and Dan Galpin, you’ll learn the tools and best practices behind mobile and Android development, all while building your own Android app.

The time for learning Android is now.

Android is growing – one billion Android devices activated, and counting – and Android developers are in demand. We worked with Google to determine what successful Android developers should know and this course is their answer.

Meet your instructors:

Check out the weather app you’ll develop in the course, which will familiarize you with Android development in preparation for developing your own app as a final project:

You’ll also learn Android history! Throughout the course, Reto tells you stories from the early days of Android.

We’ll see you in class!

Check out the course