0% found this document useful (0 votes)
7 views11 pages

Intermediate Python Nanodegree Overview

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views11 pages

Intermediate Python Nanodegree Overview

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

NANODEGREE PROGR AM SYLL ABUS

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

• Evaluate intrinsic or prescribed characteristics of


structured data.
• Understand Python’s approach to objects, names
and namespaces.
LESSON ONE Representing Data
• Explore fundamental types, such as booleans, numbers
and text.
• Explore collections, such as lists, tuples, strings,
dictionaries and sets.

• Trace the details of function execution.


• Create simple function interfaces using advanced
arguments types, including keyword arguments and
Functions and variadic arguments.
LESSON TWO Functional
Programming • Create functional programs, using map/filter, lambdas,
iterators and generators.
• Create decorators, high-level tools to transform
functional behavior.

INTERMEDIATE PYTHON
LEARNING OUTCOMES

• Trace the details of instantiation and attribute resolution on


class objects and instance objects.
• Create classes with custom methods, including initializers and
Object-Oriented decorated properties.
LESSON THREE
Programming • Analyze object-based design patterns, including
polymorphism (through magic methods) and inheritance.
• Handle and produce errors (builtin or custom) to process or
signal failure.

• Understand the principles of files and file systems, in order


to open files for reading or writing.
• Create programs that can read data from or write data to
LESSON FOUR File I/O a plain text file.
• Create programs that can read or write JSON data.
• Create programs that can read or write CSV data.

• Build a database to inspect and query properties of close


Project: approaches of near-Earth objects by reading data into Python,
LESSON FIVE
Near-Earth Objects transforming the data with functional and object-based design
principles, and saving the results back to a file.

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

• Review PEP standards to write clear, compliant code.


• Practice implementing Object Oriented Programming
LESSON ONE Foundations in python.
• Understand core pythonic principles to write code that
can scale.

• Understand how you can write modular code building blocks


to reuse functional units of code.
LESSON TWO Building Modules
• Learn advanced Object Oriented Programming concepts
including Inheritance and Abstraction.

• Install and use open source libraries to solve


complex problems.
• Explore the common use cases of open source libraries
available on the Python Package Index (PyP).
LESSON THREE Using Libraries
• Learn how to use Virtual Environments to maintain clear
dependency states during development.
• Expand on Object Oriented design using the advanced
Strategy Object design pattern.

INTERMEDIATE PYTHON
LEARNING OUTCOMES

• Design complex systems of code that communicate across


the operating system interfaces.
• Understand how you can create Command Line tools using
LESSON FOUR Python in Systems
your Python scripts.
• 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).
• Learn how to download and use data from web services
LESSON FIVE Python for Web
using requests.
• Understand the basics of backend development by making
a Python service available from the web using Flask.

• Build a meme generator that overlays quotes on images by


Project: applying advanced Pythonic Object Oriented Principles and
LESSON SIX
Meme Generator using complex libraries to interact with command line tools to
process data and make your service available on the web.

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.

CUSTOM STUDY PLANS


Create a custom study plan to suit your personal needs
and use this plan to keep track of your progress toward
your goal.

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:

EXPERIENCED PROJECT REVIEWERS


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
• Practical tips and industry best practices
• Additional suggested resources to improve

TECHNICAL MENTOR SUPPORT


MENTORSHIP SERVICES

• Questions answered quickly by our team of


technical mentors
• 1000+ Mentors with a 4.7/5 average rating
• Support for all your technical questions

PERSONAL CAREER SERVICES

C AREER SUPPORT

• Github portfolio review


• LinkedIn profile optimization

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.

WHAT JOBS WILL THIS PROGRAM PREPARE ME FOR?


As noted above, developers with Python skills are in demand in a variety
of roles and industries. Specific roles that professionals with python
experience typically hold Include Data Engineer, QA Engineer, Full-stack
Developer, Back-end Developer, Web Developer, Data Analyst and more.

HOW DO I KNOW IF THIS PROGRAM IS RIGHT FOR ME?


This program is designed for anyone who wants to further develop their
python skills to build more complex projects and 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 roles in
Software Engineering, Data Science, AI and beyond. If you want to become
proficient in Python to grow in your current role or transition to a new one,
the Intermediat Python Nanodegree Program is a great fit for you.

ENROLLMENT AND ADMISSION

DO I NEED TO APPLY? WHAT ARE THE ADMISSION CRITERIA?


There is no application. This Nanodegree program accepts everyone,
regardless of experience and specific background.

WHAT ARE THE PREREQUISITES FOR ENROLLMENT?


A well prepared student can:

• Understand the basics of object-oriented programming.


• Read basic Python syntax, including using white space in Python.
• Distinguish between object types like integers and strings in scripts.
• Use Python to build basic algorithms for simple programs (i.e. a one-
dimensional game like rock, paper, scissors) and scripts that automate
common tasks (i.e. renaming files).
• Write and run basic programming scripts in a terminal that include
function definitions and loops.

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.

TUITION AND TERM OF PROGR AM

HOW IS THIS NANODEGREE PROGRAM STRUCTURED?


The Intermediate Python Nanodegree program is comprised of content
and curriculum to support two projects. We estimate that students can
complete the program in two months, working five to ten 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.

HOW LONG IS THIS NANODEGREE PROGRAM?


You will have access to this Nanodegree program for as long as your
subscription remains active. The estimated time to complete this program
can be found on the webpage and in the syllabus, and is based on the
average amount of time we project that it takes a student to complete the
projects and coursework. See the Terms of Use and FAQs for other policies
regarding the terms of access to our Nanodegree programs.

CAN I GET A REFUND?


Please see the Udacity Program Terms of Use and FAQs for policies on
enrollment in our programs.

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 ?

WHAT SOFTWARE AND VERSIONS WILL I NEED IN THIS PROGRAM?


There are no software and version requirements to complete this
Nanodegree program. All coursework and projects can be done via Student
Workspaces in the Udacity online classroom.

INTERMEDIATE PYTHON

Common questions

Powered by AI

The integration of real-world industry projects, such as creating databases for near-Earth objects and developing web services, equips students with practical experience in Python . This hands-on approach enhances employability by allowing students to showcase practical skills in AI and data science, such as data manipulation, application deployment, and backend development—skills that are in high demand across the tech industry . These projects demonstrate the ability to apply theoretical knowledge to solve real-world problems, a crucial aspect of professional success in these fields .

The Intermediate Python Nanodegree program incorporates advanced OOP concepts through lessons that cover topics such as inheritance, abstraction, polymorphism, and custom methods, including initializers and decorated properties . These concepts are crucial for developing large-scale systems because they promote code reusability, maintainability, and scalability, allowing developers to build modular systems that can adapt to changes and grow efficiently . Deanfields can be achieved by practicing these skills within the context of real-world projects, such as the Meme Generator and Near-Earth Objects projects .

Students in the Intermediate Python Nanodegree program will undertake projects such as building a database to inspect and query properties of near-Earth objects using data read from CSV and JSON files, and developing a meme generator that overlays quotes onto images . These projects prepare students for roles in data science and AI by teaching them how to represent and transform data, apply object-based design principles, and integrate Python with external data sources. Such skills are critical in data analysis and creating AI models that require data manipulation and algorithmic implementations .

Common challenges include understanding complex data structures, mastering object-oriented principles, and designing large codebases. The Nanodegree program addresses these by breaking down concepts into manageable lessons, offering hands-on projects that apply these concepts in real-world scenarios, and providing mentor support to clarify doubts and guide students . This structured approach helps students build confidence and transition smoothly from basic to intermediate proficiency .

The Intermediate Python Nanodegree program prepares students for backend development roles by covering topics such as file I/O operations, object-oriented design principles, and using Python with web frameworks like Flask . Python's simplicity, readability, and rich library ecosystem make it particularly suited for backend roles, allowing developers to quickly build and expand web services and applications . The program's practical projects, like developing a web service for the Meme Generator, reinforce these skills by providing real-world application scenarios .

Decorators in Python are high-level functions that modify the behavior of other functions or methods, allowing for flexible and reusable code enhancements. In the Intermediate Python Nanodegree program, students learn to create decorators to transform functional behavior, which is pivotal in implementing repetitive logic without altering the original function's structure . This concept not only enhances functional programming skills but also encourages students to think abstractly and write more maintainable and scalable code .

Understanding file I/O operations is essential in Python because they allow programs to read from and write to external data sources, which is a common requirement for many applications, particularly in data processing and analysis. The Intermediate Python Nanodegree program covers these operations by teaching students to create programs that can open, read, and write data to plain text, JSON, and CSV files . This knowledge is put into practice through projects such as the Near-Earth Objects database .

The key components of the Intermediate Python Nanodegree program include real-world projects, technical mentor support, personalized feedback, quizzes, and a custom progress tracker . These elements collectively enhance the learning experience by providing practical application opportunities, offering immediate assistance and motivation through mentorship, reinforcing knowledge through quizzes, and helping students manage their time and goals effectively. Together, these components create an engaging and supportive environment conducive to successful learning outcomes .

Libraries in the Intermediate Python Nanodegree curriculum are used to provide additional functionality and to solve complex problems efficiently. Students learn to install and use open source libraries available on the Python Package Index (PyP) and use virtual environments to manage dependencies during development . This is critical for implementing complex systems and deploying projects like the Meme Generator, where libraries help handle various tasks, such as file manipulation and web service integration .

Enrollment in the Intermediate Python Nanodegree program requires knowledge of basic Python syntax, object-oriented programming principles, and the ability to write and run basic scripts . This foundational knowledge supports the learning of advanced Python concepts by ensuring that students have a solid understanding of the language's core features, allowing them to focus on more complex topics such as advanced data structures, object-oriented design, and functional programming patterns .

You might also like