Nanodegree Program

Learn to Code

Udacity's Intro to Programming is your first step towards careers in Web and App Development, Machine Learning, Data Science, AI, and more! This program is perfect for beginners.

  • Estimated Time
    4 Months

    At 10 hrs/week

  • Enroll by
    January 28, 2020

    Get access to classroom immediately on enrollment

  • Prerequisites
    No Coding Experience Needed

    See prerequisites in detail

What You Will Learn

Download Syllabus
Syllabus

Introduction to Programming

Learn the basics of programming through HTML, CSS, and Python. Explore possible programming paths with our final project selection. Get confident in your ability to think and problem-solve like a programmer. Be primed and ready for our career-ready programs after mastering these projects.

Learn the basics of programming through HTML, CSS, JavaScript and Python. In this program, you’ll gain confident in your ability to think and problem-solve like a programmer.

Hide details

4 months to complete

Prerequisite Knowledge

In order to succeed, we recommend having experience using the web, being able to perform a search on Google, and (most importantly) the determination to keep pushing forward!See detailed requirements.

  • Intro to HTML

    It begins! Get oriented, learn the basics of HTML, and write your first line of code!

  • Intro to CSS

    Add style to your HTML code with CSS (Cascading Style Sheets). Experiment with adjusting various style rules in CSS to make your website shine. Achieve the look and presentation you want for your own webpage.

    Animal Trading Cards
  • Intro to Python

    Explore fundamental programming concepts in Python like logic checks, data structures, and functions through interactive quizzes and practice on your own computer. Learn syntax, debugging techniques and basic problem-solving concepts.

    Adventure Game
  • Intro to JavaScript

    Learn the fundamentals of web programming using JavaScript, the ubiquitous language for creating dynamic web applications.

    Pixel Art Maker
undefined

Over 5,500 graduates from 98 countries!

All Our Nanodegree Programs Include

Real-world projects from industry experts

With real world projects and immersive content built in partnership with top tier companies, you’ll master the tech skills companies want.

Technical mentor support

Our knowledgeable mentors guide your learning and are focused on answering your questions, motivating you and keeping you on track.

Personal career coach and career services

You’ll have access to career coaching sessions, interview prep advice, and resume and online professional profile reviews to help you grow in your career.

Flexible learning program

Get a custom learning plan tailored to fit your busy life. Learn at your own pace and reach your personal goals on the schedule that works best for you.
Program OfferingsFull list of offerings included:
Pay as you go plan
!!durationPlaceholder!! months pre-paid plan
Class content
Real-world projects
icon-checkmarkCheckmark
Project reviews
icon-checkmarkCheckmark
Project feedback from experienced reviewers
icon-checkmarkCheckmark
Student Services
Technical mentor support
New
icon-checkmarkCheckmark
Student community
Improved
icon-checkmarkCheckmark
Career services
Personal career coaching
New
icon-checkmarkCheckmark
Interview preparations
icon-checkmarkCheckmark
Resume services
icon-checkmarkCheckmark
Github review
icon-checkmarkCheckmark
LinkedIn profile review
icon-checkmarkCheckmark
Resume shared with 95+ employers
New
icon-checkmarkCheckmark
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Experienced Project Reviewers
Technical Mentor Support
Personal Career Coach
Get personalized feedback on your projects
Reviews By the numbers
2000+ project reviewers
1.8M projects reviewed
4.85/5 reviewer ratings
3 hour avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Project Reviewers
Technical Mentor Support
Career Coaching
Get personalized feedback on your projects
Reviews By the numbers
2000+ project reviewers
1.8M projects reviewed
4.85/5 reviewer ratings
3 hour avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve

Learn with the best

Karl Krueger
Karl Krueger

Command Line Instructor

Karl is a Course Developer at Udacity. Before joining Udacity, Karl was a Site Reliability Engineer (SRE) at Google for eight years, building automation and monitoring to keep the world's busiest web services online.

Kelly Howard
Kelly Howard

INSTRUCTOR

Kelly is the Product Lead for the Web Development Nanodegree programs at Udacity.

Julia Van Cleve
Julia Van Cleve

Instructor

Julia is a Content Developer at Udacity and was previously a middle school math teacher in San Jose, CA. She also dabbled in freelance web development, designing websites for small businesses in the Bay Area.

James Parkes
James Parkes

Instructor

James received his degree in Computer Science and Mathematics, then went on to become a Udacity instructor in several programs. His personal mission is clear: to open the doors of opportunity for others by empowering them with excellent educational experiences.

Richard Kalehoff
Richard Kalehoff

Instructor

Richard is a Course Developer with a passion for teaching. He has a degree in computer science, and first worked for a nonprofit doing everything from front end web development, to backend programming, to database and server management.

Student Reviews

4.6

(1954)

Greg C.

Earlier this year, I decided that I was burned out in my current career as a tissue bank specialist (yes, it pays well... but the joke "I see dead people" is only clever the first 100 times you hear it). I wanted a new career and went through the myriad of choices I could choose from to pursue. Computers are a staple in my family, in fact, my grandfather worked for IBM for 35 years (and passed away at 92 this summer) and holds the original patent on magnetic disk drives. I like analytical thinking and problem solving, the job market is booming, I could perform this career in relative perpetuity (my current job can be VERY physical... don't get me started on explaining how we use the deli slicer), and I could relocate or work remotely - all very important aspects I was reviewing. I began studying computer science this summer with some haphazard help from my brother and cousin who work as a UX developer and a Java programmer respectively. My brother shoved some books my way and said "you might start here." One was an HTML book, the other CCS. I quickly learned that I hate web development and picked up a book in Python programming. I tried a couple of other online programs (codeschool I think was one), but the instruction was all over the place and didn't tie ideas together cogently. I was just starting to learn Python when I found out that I didn't get into the post-baccalaureate program that I wanted to enroll in. I promptly decided that it wouldn't hold me back and I began digging into other methods of achieving my goal. I noticed something interesting on WGU's (another CS school I was interested in) website that a nanogdegree from Udacity was an acceptable prerequisite for their program. I looked at Udacity and realized that they have a well-put-together program. I'm midway through the Intro to Programming nanodegree and I'm really excited about what I am learning. Sometimes, I feel that I could be moving faster with the content, but I noticed that there is a lot of emphasis placed on how things work in Python and in computers in general, which is something that I hadn't seen in other resources. To me, this understanding is crucial. I also like the quizzes. Sometimes I wish there were even more, but they give me a little bit of interactive learning in good intervals. I recently was discussing my experiences with Udacity with a friend who works in tech support. Originally, he said it sounded like a scam. I sent him the company info and now he's planning on starting a nanodegree as well - he was that impressed with the content and supporters of the programs. Looking back, I'm glad I didn't get into the university program I had applied to. I know that I wouldn't have gotten the level of understanding about the things I wanted to learn (which was a major issue I had with my first undergrad degree). I'm also saving close to $30K (more if you consider interest - probably closer to $50-60K), and can study at my own pace. I understand that being able to transition to a new career without a CS degree may be a little more challenging and take a little longer, but overall it's a much wiser decision for me. I'm really excited about the last section of this nanodegree. I was really lost when I looked at all of the avenues that I could take in pursuing a new career in programming. It's really helpful to get my feet wet in a few different types of programming and compare my experiences with industry needs and income expectations! Thank you so much guys!

Yodit F.

This course generally is great! But I want to make something very clear for those who are novice in programming. It certainly needs a lot of hard works in reading through many information. This includes not only the instructor's videos and manuals, but also many more links of information from reading through discussion forum, referred from mentors, posted summary notes, and recorded videos. In my case, I have input a lot of time in it and much more than just 20 hours a week. But because I have interest in programming and liked this course, I was enjoying doing it. There are times where things seems to be frustrating and impossible, but the key is to look up, be at rest and in peace, and realize that all information needed is right there (sources mentioned above). The great resource I have found for most of the questions I had was the discussion forum. If I couldn't get any answer from there, then my 2nd option always was posting my questions on the forum. The mentors and couches are excellent and very prompt to answer all your questions and usually they will go extra giving you more information using links. So I didn't need to have a 1-2-1 appointment at all. In my opinion, practicing and doing all in the instruction manuals every day is a must to be successful in gaining real knowledge and programming skill. Also, whenever I had any technical issue or general question in locating something, the technical staffs were very prompt in providing the needed information by responding to my e-mail. Finally, for students who have a plan to take this course, my advice to them is to make themselves familiar with these programming languages (HTML, CSS, java script, python) in advance. Thank a lot Udacity!

Matthew R.

Completed in 5 months (20+ hours a week, I chose the back end developer final project. Money back Policy/answer to the question you are most likely worrying/wondering about: You will get 50% of your money back (within 8 weeks of graduating) if you have completed the course within 12 months, exception is if the company you are working for pays for your degree (no money back, I'm guessing since it is an exception). Overall: great introduction for beginner programmers; I had been researching and studying Python (watched at least 40 videos on Youtube) and Java (watched at least 50 videos on Youtube) before taking this nano-degree (personally I don't like being unprepared). If you are new (or if you have some programming experience, I highly recommend), you must go on Youtube and watch David Malan's (Harvard professor of Computer Science) Introduction to Computer Science series to get a sense of what your computer is before you start. Trust me, as a fellow graduate I'm trying to help you on a smoother path. This will give you a deeper understanding of what your computer does when interacting with a programming language before you start questioning all the fundamentals. However, Udacity does a good job of getting you up to speed. The difficulty grows steadily from project to project with the exception of the last project, which took me an extra month to complete. Was aiming for 4 months (20+ hours a week) but it took me 5 months. If you are brand new, expect at least 5-6 months (20+ hours a week) to complete. I wish you the best, below there is a helpful link. (copy and paste it into a new tab) Helpful link: David Malan's lecture 0: https://www.youtube.com/watch?v=z-OxzIC6pic

John M.

Udacity's Intro to Programming Nanodegree (IPND) is an exceptional way to learn how to programming: Pro's: * Practical approach: real sense that Udacity wants every student to become an employable programmer * Effective: well thought-out curriculum, which (so far) builds up the student's confidence with a good mixture of (video) "lecture", text notes, follow-along examples, and do-it-yourself. Some theory, but focus on practical. * Self-paced: the do-it-yourself builds confidence one step at a time, but is not so simple to be boring. * Good help: weekly office hours and good support. * Individual attention: it's clear that the Reviewers go through students' code line-by-line, offering helpful feedback in comments. * Clean, easy-to-use online 'classroom': basically, you follow a "path", which is the course syllabus and clearly shows the key deliverables at each Stage (there are five stages). * Breadth and practical depth. (Caveat: as an Intro student, by definition I don't know what I don't know, but here's my impression). I like that the IPND covers a practical breadth of topics, with enough depth in each to be useful.. HTML, CSS, Python, and then you get to choose where to focus for Stage 5 (API's, Javascript, Responsive...) Cons: * I think Udacity could do a better job fostering a sense of community within a Cohort. * The historic Office Hours videos are useful, but it would be nice to be able to flag information that is outdated (content evolves from 2015 to 2016 versions, so the answers are no longer accurate, in some cases).

Vincenzo A.

I currently work as a scientist at a major food and beverage company and wanted to dive deep into coding to expand my skill set. In college I began as a CompSci major and have always had a passion for coding. I've taken other udacity courses and they were top notch so I decided to enroll in the Intro To Programming nanodegree. The experience so far has been excellent! One great thing I've noticed is that here at udacity they really emphasize how to actually think as a programmer. The instructors are top notch, and the format is clear, concise, and relevant. The code reviews for projects are super-detailed, and I really want to thank my reviewers for putting in the time to correct my mistakes and teach me how to be a better programmer. Although I do have previous coding experience in C, Python, I had never used HTML or CSS. Within the first two weeks, I was stoked to be able to create an html site that actually looked pretty good! I've never been the super artistic type (although I love music) but I really enjoyed the artistic element of creating and styling a site with CSS from scratch. I highly recommend this nanodegree to anyone who is looking for an introduction to programming. I've already decided that once I finish this nanodegree I'm enrolling for another right away!

James L.

Highly recommended for students new or relatively new to programming. Your computer illiterate <insert older relative here e.g. grandfather or grandmother> could take this course and become better coders than many undergraduates. If you've taken a few semesters of computer science courses or have a little bit of practical experience with programming, I'd suggest to attempt finishing the course materials on trial. Project 1 is about building a simple webpage with html and css. Project 2 is the typical intro to programming project mainly testing your knowledge of functions (in Python) and loops. Project 3 is about classes (with a ridiculously easy project that should take most people 10-15 minutes). The final project in the full-stack path is basically writing a few lines of sql (and is barely longer/harder than project 3). My biggest advice for the students who like to go the extra mile, is don't. Don't look at extreme cases. Don't attempt to include any additional features. Just don't! I spent 8 hours on project 0 trying to implement certain features without looking anything up. In reality, I had met the requirements at the 30 minute mark. If your program meets all the specifications, just submit.

The Udacity Impact

Numbers don't lie. See what difference it makes in career searches.*

84%
Better Jobs

Career-seeking and job-ready graduates found a new, better job within six months of graduation.

$24,000
Salary Increase

Average salary increase for graduates who found a new, better job within six months of graduation.

Program Details

    PROGRAM OVERVIEW - WHY SHOULD I TAKE THIS PROGRAM?
  • Why should I enroll?

    Knowing how to code can give you an edge in a growing variety of fields. Whether you're interested in becoming an artificial intelligence engineer or a web developer—or simply want to use programming to enhance your current career—you'll need a strong foundation, and in this program, you’ll build a strong foundation in fundamental programming concepts. You won't need any prior experience with coding to enroll, and we've extensively tested the lessons with beginning students to make sure they're understandable, engaging, and effective.

  • What jobs will this program prepare me for?

    While this is an introductory course that is not designed to prepare you for a specific job, after completing this program, you will be familiar with the fundamental skills used in web development, including HTML, CSS, JavaScript, and Python.

  • How do I know if this program is right for me?

    If you want to learn to code but have little or no experience, this program offers the perfect starting point.

    ENROLLMENT AND ADMISSION
  • Do I need to apply? What are the admission criteria?

    No. This Nanodegree program accepts all applicants regardless of experience and specific background.

  • What are the prerequisites for enrollment?

    No prior experience with programming is required.

    You will need to be comfortable with basic computer skills, such as managing files, running programs, and using a web browser to navigate the Internet.

    You will need to be self-driven and genuinely interested in the subject. No matter how well structured the program is, any attempt to learn programming will involve many hours of studying, practice, and experimentation. Success in this program requires meeting the deadlines set for your termand devoting at least 10 hours per week to your work.

    You will need to be able to communicate fluently and professionally in written and spoken English.

  • If I do not meet the requirements to enroll, what should I do?

    The only technical skills required for this program are basic computer skills.

    TUITION AND TERM OF PROGRAM
  • How is this Nanodegree program structured?

    The Intro to Programming Nanodegree program is comprised of content and curriculum to support three (3) projects. We estimate that students can complete the program in four (4) months, working 10 hours per week.

    Each project will be reviewed by the Udacity reviewer network and platform. Feedback will be provided and if you do not pass the project, you will be asked to resubmit the project until it passes.

  • How long is this Nanodegree program?

    Access to this Nanodegree program runs for the length of time specified in the payment card above. If you do not graduate within that time period, you will continue learning with month to month payments. See the Terms of Use and FAQs for other policies regarding the terms of access to our Nanodegree programs.

  • Can I switch my start date? Can I get a refund?

    Please see the Udacity Nanodegree program FAQs for policies on enrollment in our programs.

  • I have graduated from the Intro to Programming Nanodegree program but I want to keep learning. Where should I go from here?

    The Intro to Programming Nanodegree program gives you a solid foundation from which to start a wide variety of more advanced and more specialized programs.

    Here are some recommendations for what you might want to try next.

    Please note that for some of these programs, you may need additional prerequisites that are not covered in the Intro to Programming Nanodegree program. You can find detailed info on these prerequisites on the pages linked above.

    SOFTWARE AND HARDWARE - WHAT DO I NEED FOR THIS PROGRAM?
  • What software and versions will I need in this program?

    Software/version requirements:

    • Python 3
    • A code/text editor, such as vim, Sublime Text, Atom, or VSCode
    • A web browser
    • A command line interface, such as Terminal (on Mac) or Git Bash (on Windows)

    Hardware Requirements:

    • A modern personal computer running macOS, Windows, or Linux, with a high-speed Internet connection.
  • Which version of Python is taught in this program?

    The Intro to Programming Nanodegree program teaches Python 3.

Introduction to Programming