Intermediate Python Nanodegree Program Syllabus
Intermediate Python Nanodegree Program Syllabus
Intermediate Python
Overview
Python is the future of computer programming. It’s the language that powers machine learning and AI, two
technologies that are on the forefront of digital transformation. Plus, it is an essential backend language
for web application development. Learners who take this class will be prepared to work in a number of
different high growth fields that are experiencing significant demand for talent.
This Nanodegree program teaches intermediate-level skills for programming with the Python language. The
training wheels will come off and learners will free analyze data and build the backend of web applications
themselves. They’ll acquire techniques like Python objects, object-oriented programming, debugging
and control flow. This course is ideal for developers interested in using Python to build more complex
algorithms with greater capabilities (i.e. image resizing, document templates, word counts, name entity
recognition on a webpage, etc.) in preparation for a variety of different roles spanning fields like data
science, AI and software engineering.
Prerequisites:
Estimated Time: • Write and run basic
2 months at programming scripts
10hrs/week* • Read basic Python
syntax
• Basic familiarity
with python and
object-oriented
programming
Technical Mentor
Flexible Learning:
Support:
Self-paced
Our knowledgeable
mentors guide your
learning and are
focused on answering
your questions,
motivating you and
keeping you on track
*The length of this program is an estimation of total hours the average student may take to complete all required
coursework, including lecture and project time. If you spend about 10 hours per week working through the program,
you should finish within the time provided. Actual hours may vary.
INTERMEDIATE PYTHON
Course 1: Advanced Python Topics
Python is a particularly powerful programming language, and the features it provides permit programmers to
produce practical programs. Learn how to elevate your Python language abilities, mastering a myriad of modern
subject matter. Framed by fundamentals, you’ll first find a foundation in Python’s methods to describe data. You’ll
dig deeper into functions and functional design, and create strategies for solving problems. You’ll investigate
the ins-and-outs of objects and object-based design, obtaining order from the interconnected ideas captured
within class objects and instance objects. Finally, you’ll have an opportunity to fuse Python with external files,
culminating in the creation of complete codebases that can crunch numbers or protect the planet from peril.
Python can take you out of this world, and this project is no
different! You will produce a program that can inspect and query
close approaches of near-Earth objects — moments in the past (or
future) at which an asteroid (or comet-like object in space) passes
quite close to Earth. You’ll read 200 years of data from CSV and JSON
files into Python models, and build a database capable of answering
Project 1
questions such as “when does Halley’s comet pass by Earth?” and
Near-Earth Objects “what are the next ten close approaches of big, hazardous asteroids
whose orbit takes them exceptionally close to Earth.” Finally, you’ll
save your results back to CSV or JSON files. By completing this
project, you’ll demonstrate an ability to represent data in Python,
transform that data using principles of function and object-based
design, and connect to external data sources.
LEARNING OUTCOMES
INTERMEDIATE PYTHON
LEARNING OUTCOMES
INTERMEDIATE PYTHON
Course 2: Large Codebases with Libraries
Python can be used to develop very large systems to solve complex problems. Learn how you can write, structure
and extend your code to be able to support developing these large systems at scale. Understand how you can
leverage open source libraries to quickly add advanced functionality to your code and how you can package your
code into libraries of your own. Apply Object Oriented Programming to ensure that your code remains modular,
clear and understandable. Honing these skills is the foundation for building codebases that are maintainable and
efficient as they grow to tens of thousands of lines.
Python is well suited for solving both web and data problems. You
will build a service that demonstrates an understanding of both of
these domains. First, you’ll import quote data from many different
data types (PDF, DOCX, CSV, TXT). Then, you’ll demonstrate an
Project 2 understanding of the Strategy Object design pattern to write clean,
Meme Generator modular code to handle these different file types. Then, you’ll resize
images and overlay the quotes onto the resized graphics. Finally,
you’ll practice making your service available for others to use as a
command line utility and as a deployable web service.
LEARNING OUTCOMES
INTERMEDIATE PYTHON
LEARNING OUTCOMES
INTERMEDIATE PYTHON
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.
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.
PROGRESS TRACKER
Stay on track to complete your Nanodegree program with
useful milestone reminders.
INTERMEDIATE PYTHON
Learn with the Best
Sam Redmond
CO - F O U N D E R , H E D R O N V I S I O N
Sam holds a BS in Math and MS in CS
from Stanford, where he created CS 41:
The Python Programming Language and
lectured for four years. Currently, he’s
cofounding Hedron Vision, developing
headset-free holographic display
technologies.
Gabriel Ruttner
C TO ,U R S A & T E C H A D V I S O R
F O R S TA R T- U P S
Gabe is the CTO at Ursa & Tech Advisor for
Start-Ups. Gabe has expertise in building
cloud-based machine learning and natural
language processing services at early
stage tech companies. He holds technical
degrees from Cornell University and Stony
Brook University
INTERMEDIATE PYTHON
All Our Nanodegree Programs Include:
C AREER SUPPORT
INTERMEDIATE PYTHON
FAQs + Contact Info
WHY SHOULD I ENROLL?
Python is consistently ranked as one of the most popular and in-demand
programming languages and its importance in high growth fields like
Machine Learning and Data Science indicates that won’t change any time
soon. The Intermediate Python Nanodegree program gives you the tools
to power your career in these and other exciting fields that are reshaping
industries such as Financial Services, Automotive and Telecommunications.
With each lesson, you’ll be more equipped to leverage the capabilities
of Python and streamline the functionality of applications that perform
complex tasks, such as classifying files, data mining a webpage and more.
INTERMEDIATE PYTHON
FAQs + Contact Info cont.
IF I DO NOT MEET THE REQUIREMENTS TO ENROLL, WHAT SHOULD I DO?
Udacity offers numerous programs that can help you prepare for the
Intermediate Python Nanodegree Program. The Intro to Programming
Nanodegree program provides a thorough introduction to Python
fundamentals alongside courses in HTML, CSS and JavaScript. Our free
Introduction to Python Programming course is a great place to learn
Python fundamentals, and the Programming Languages course provides an
overview of the concepts that underpin many languages.
S O F T WA R E A N D H A R D WA R E - W H AT D O I N E E D F O R T H I S P R O G R A M ?
INTERMEDIATE PYTHON