Intermediate Python Nanodegree Program Syllabus
Intermediate Python Nanodegree Program Syllabus
Intermediate Python
Nanodegree Program Syllabus
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.
Program information
Prerequisites
A well-prepared learner should have the ability to write and run basic programming scripts, read basic Python syntax, and have
familiarity with Python and object-oriented programming.
Required Hardware/Software
*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 5-10 hours per week working through the program, you
should finish within the time provided. Actual hours may vary.
Intermediate Python 2
Course 1
Course Project
Near-Earth Objects
Learners 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 passes quite close to Earth. Read 200 years if
data from CSV and JSON files into Python models and build a database capable of answering questions such
as: When does Halley’s comet pass by Earth and what are the next ten close approaches of big, hazardous
asteroids whose orbit takes them exceptionally close to earth? Finally, save the results back to CSV or JSON
files. By completing this project, learners will demonstrate an ability to represent data in Python, transform
that data, and connect to external data sources.
Representing Data • Explore fundamental types, such as booleans, numbers, and text.
Intermediate Python 3
• Trace the details of function execution.
• Trace the details of instantiation and attribute resolution on class objects and
instance objects.
• Understand the principles of files and file systems, in order to open files for
reading or writing.
Lesson 4
• Create programs that can read data from or write data to a plain text file.
File I/O • Create programs that can read or write JSON data.
Intermediate Python 4
Course 2
Course Project
Meme Generator
Python is well suited for solving both web and data problems. Learners will build a service that
demonstrates an understanding of both of these domains. First, they’ll import quote data from many
different data types (PDF, DOCX, CSV, TXT). Then, they’ll demonstrate an understanding of the strategy
object design pattern to write clean, modular code to handle these different file types. Then, they’ll resize
images and overlay the quotes onto the resized graphics. Finally, they’ll practice making their service
available for others to use as a command line utility and as a deployable web service.
Intermediate Python 5
• Understand how you can write modular code building blocks to reuse
Lesson 2 functional units of code.
• Explore the common use cases of open source libraries available on the Python
Package Index (PyP).
Lesson 3
• Learn how to use virtual environments to maintain clear dependency states
Using Libraries during development.
• Understand how you can create command line tools using your Python scripts.
Python in Systems
• Learn how to consume other command line tools within your Python scripts.
• Connect your code to systems that expand beyond a single computer (the
internet).
Lesson 5
• Learn how to download and use data from web services using requests.
Python for Web
• Understand the basics of backend development by making a Python service
available from the web using Flask.
Intermediate Python 6
Meet your instructors.
Sam Redmond
Cofounder at Hedron Vision
Sam holds a BS in math and an MS in computer science 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
CTO at Ursa
Gabe is the CTO at Ursa and a tech advisor for startups. 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 7
Udacity’s learning
experience
Intermediate Python 8
Our proven approach for building
job-ready digital skills.
Experienced Project Reviewers
• Project review cycle creates a feedback loop with multiple opportunities for
improvement—until the concept is mastered.
• Project reviewers leverage industry best practices and provide pro tips.
• Unlimited access to mentors means help arrives when it’s needed most.
• 2 hr or less average question response time assures that skills development stays on track.
Empower job-readiness.
• Access to a Github portfolio review that can give you an edge by highlighting your
strengths, and demonstrating your value to employers.*
• Get help optimizing your LinkedIn and establishing your personal brand so your profile
ranks higher in searches by recruiters and hiring managers.
Mentor Network
• Mentors work across more than 30 different industries and often complete a Nanodegree
program themselves.
Intermediate Python 9
Learn more at
www.udacity.com/online-learning-for-individuals →
12.29.22 | V1.0