Nanodegree Program Syllabus
Nanodegree Program Syllabus
Programming for
Data Science with
Python
IN COLLABORATION WITH
Need Help?
udacity.com/advisor
Course Project
Investigate a Database
In this project, you’ll work with a relational database while working with PostgreSQL. You’ll complete
the entire data analysis process, starting by posing a question, running appropriate SQL queries to
answer your questions and finishing by sharing your findings.
LESSON ONE
LESSON TWO
LESSON THREE
LESSON FOUR
SQL Joins
• Write JOINs in SQL, as you are now able to combine data from multiple sources to answer more
complex business questions
LEARNING OUTCOMES
Basic SQL
SQL Aggregations
Advanced SQL Queries
• Write common aggregations in SQL including COUNT, SUM, MIN, and MAX
• Use other window functions including RANK, NTILE, LAG, LEAD new functions along with partitions
to complete complex tasks
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 3
Course Project
You will use Python to answer interesting questions about bikeshare trip data collected from three
US cities. You will write code to collect the data, compute descriptive statistics, and create an
interactive experience in the terminal that presents the answers to your questions.
LEARNING OUTCOMES
LESSON ONE
LESSON TWO
• Represent data using Python’s data types: integers, floats, booleans, strings, lists, tuples, sets,
dictionaries, compound data structures
• Perform computations and create logical statements using Python’s operators: Arithmetic,
Assignment, Comparison, Logical, Membership, Identity
• Declare, assign, and reassign values using Python variables • Modify values using built-in functions
and methods
• Practice whitespace and style guidelines
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 4
• Write conditional expressions using if statements and boolean expressions to add
decision making to your Python programs
• Use for and while loops along with useful built-in functions to iterate over and
manipulate lists, sets, and dictionaries
Control
Flow
• Skip iterations in loops using break and continue
• Condense for loops to create lists efficiently with list
comprehensions
• Define your own custom functions
• Create and reference variables using the appropriate scope • Add documentation to
functions using docstrings
Functions • Define lambda expressions to quickly create anonymous
functions
• Use iterators and generators to create streams of data
• Install Python 3 and set up your programming environment
third-party libraries
• Experiment in the terminal using a Python Interpreter
• Create, access, modify, and sort multidimensional NumPy arrays (ndarrays)
ndarray
• Perform element-wise operations on ndarrays
• Use broadcasting to perform operations on ndarrays of
different sizes.
• Create, access, and modify the main objects in Pandas, Series and DataFrames
LESSON FOUR
LESSON FIVE
LESSON SIX
LESSON SEVEN
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 5
Course 3: Introduction to Version Control
Learn how to use version control and share your work with other people in the data science
industry.
Course Project
In this project, you will learn important tools that all programmers use. First, you’ll get an
introduction to working in the terminal. Next, you’ll learn to use git and Github to manage versions
of a program and collaborate with others on programming projects. In this project you will post two
different versions of a Jupyter Notebook capturing your learnings from the course, and add
commits to your project Git repository.
LEARNING OUTCOMES
LESSON ONE
LESSON TWO
LESSON THREE
LESSON FOUR
• Learn why developers use version control and discover ways you use version control in your daily
life
• Get an overview of essential Git vocabulary • Configure Git using the command line
Shell Workshop
to reveal more (or less) information about each commit • Use the git show command to display just
one commit
• The Unix shell is a powerful tool for developers of all sorts. Get a quick introduction to the basics
of using it on your computer.
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 6
• Master the Git workflow and make commits to an example project
• Use git diff to identify what parts of a file have been changed in a
Add Commits to a Repo commit
LESSON SIX
• Learn how and when to edit or delete an existing commit LESSON SEVEN Undoing Changes • Use
git commit’s -amend flag to alter the last commit
• Use git reset and git revert to undo and erase commits
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 7
Our Classroom Experience
REAL-WORLD PROJECTS
Build your skills through industry-relevant projects. Get personalized feedback from our network of
900+ project reviewers. Our simple interface makes it easy to submit your projects as often as you
need and receive unlimited feedback on your work.
KNOWLEDGE
Find answers to your questions with Knowledge, our proprietary wiki. Search questions asked by
other students, connect with technical mentors, and discover in real-time how to solve the
challenges that you encounter.
STUDENT HUB
Leverage the power of community through a simple, yet powerful chat interface built within the
classroom. Use Student Hub to connect with your fellow students in your Executive Program.
WORKSPACES
See your code in action. Check the output and quality of your code by running them on workspaces
that are a part of our classroom.
QUIZZES
Check your understanding of concepts learned in the program by answering simple and auto-
graded quizzes. Easily go back to the lessons to brush up on concepts anytime you get an answer
wrong.
Preschedule your study times and save them to your personal calendar to create a custom study
plan. Program regular reminders to keep track of your progress toward your goals and completion
of your program.
PROGRESS TRACKER
Stay on track to complete your Nanodegree program with useful milestone reminders.
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 8
Learn with the Best
Josh Bernhard
DATA SCIENTIST
Josh has been sharing his passion for data for nearly a decade at all levels of university, and as Lead
Data Science Instructor at Galvanize. He’s used data science for work ranging from cancer research
to process automation.
Derek Steer
CEO AT MODE
Derek is the CEO of Mode Analytics. He developed an analytical foundation at Facebook and
Yammer and is passionate about sharing it with future analysts. He authored SQL School and is a
mentor at Insight Data Science.
Juno Lee
CURRICULUM LEAD
Juno is the curriculum lead for the School of Data Science. She has been sharing her passion for
data and teaching, building several courses at Udacity. As a data scientist, she built
recommendation engines, computer vision and NLP models, and tools to analyze user behavior.
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.
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 9
All Our Nanodegree Programs Include:
REVIEWER SERVICES
• Personalized feedback & line by line code reviews • 1600+ Reviewers with a 4.85/5 average rating
• 3 hour average project review turnaround time
• Unlimited submissions and feedback loops
MENTORSHIP SERVICES
• 1000+ Mentors with a 4.7/5 average rating • Support for all your technical questions
CAREER COACHING
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 10
Frequently Asked Questions
PROGRAM OVERVIEW
The Programming for Data Science with Python Nanodegree program offers you the opportunity to
learn the most important programming languages used by data scientists today. Get your start into
the fascinating field of data science and learn Python, SQL, terminal, and git with the help of
experienced instructors.
This is an introductory program that is not designed to prepare you for a specific job. However, as a
graduate of this program, you will be proficient in the programming skills used in many data analysis
and data science roles, including Python, SQL, Terminal, and Git.
If you are interested in taking the first step into the field of Data Science, this course is for you. This
course will quickly teach you the foundational data science programming tools (Python, SQL, Git).
This course requires no pre- requisite knowledge so you can get started now. Having mastered
these in demand tools you will be able to tackle real world data analysis problems.
Learning to program Python and SQL, the main programing languages used by data scientists and
analysts, is the core of this program. If you decide
to take the Programming for Data Science with Python, you’ll also learn specialized data libraries for
Python including Pandas and Numpy, and use Git and the Terminal to share your work and learn
about version control. By learning these foundational programming skills, you will be ready to
advance your career in data.
WHAT IS THE DIFFERENCE BETWEEN THE PYTHON TRACK AND THE R TRACK?
We offer two tracks to this program, one teaching Python and one teaching R. These are both
popular among data scientists. You can enroll in one or the other, not both.
Both tracks cover the same fundamental concepts, but use a different programming language. The
SQL, command line, and Git curriculum is the same in both tracks. This includes the first and third
projects, which are the same between the two tracks.
The programming course and project are different between the two tracks. One course relies on
Python, while the other relies on R. The projects for the two courses rely on the same dataset and
skills, but they differ in the
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 11
FAQs Continued
approach and final deliverable. Learn more about the Programming for Data Science with R
Nanodegree program.
WHAT IS THE SCHOOL OF DATA SCIENCE, AND HOW DO I KNOW WHICH PROGRAM TO CHOOSE?
Udacity’s School of Data consists of several different Nanodegree programs, each of which offers the
opportunity to build data skills, and advance your career. These programs are organized around
career roles like Business Analyst, Data Analyst, Data Scientist, and Data Engineer.
The School of Data currently offers three clearly-defined career paths in Business Analytics, Data
Science, and Data Engineering. Whether you are just getting started in data, are looking to augment
your existing skill set with in-demand data skills, or intend to pursue advanced studies and career
roles, Udacity’s School of Data has the right path for you! Visit How to Choose the Data Science
Program That’s Right for You to learn more.
No. This Nanodegree program accepts all applicants regardless of experience and specific
background.
The Programming for Data Science with R Nanodegree program is comprised of content and
curriculum to support three (3) projects. We estimate that students can complete the program in
three (3) months, working 10 hours per week.
Each project will be reviewed by the Udacity reviewer network. Feedback will be provided, and if you
do not pass the project, you will be asked to resubmit the project until it passes.
Please see the Udacity Nanodegree program FAQs for policies on enrollment in our programs.
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 12
FAQs Continued
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.
I HAVE GRADUATED FROM THE PROGRAMMING FOR DATA SCIENCE WITH R NANODEGREE
PROGRAM AND I WANT TO KEEP LEARNING. WHERE SHOULD I GO FROM HERE?
Check out our Data Analyst Nanodegree program to take the programming skills you have learned
and apply them to real world Data Analyst business problems. Working on these more complex
projects will deepen your knowledge of coding and make you a more attractive candidate to be
hired as an data analyst.
You could also consider the Data Engineer Nanodegree program, which focuses on data models,
data warehouses, and data pipelines.
To enroll, students should have basic computer skills, a Gmail account, and a Facebook account to
complete the projects.
For this Nanodegree program, you will need a 64-bit computer and access to the Internet.
Need Help? Speak with an Advisor: www.udacity.com/advisor Programming for Data Science with Python | 13