Nanodegree key: nd303
Version: 2.0.5
Locale: en-us
更多新课➕客服wx:udacity6Python is a general-purpose coding language with applications in web development, data science, machine learning, fintech, and more. The Intermediate Python Nanodegree program equips you to leverage the capabilities of Python and streamline the functionality of applications that perform complex tasks, such as classifying files, data mining a webpage, etc. By the end of the program, you’ll have a portfolio that demonstrates your ability to apply practitioner-level Python skills on the job.
Content
Part 01 : Welcome to the Intermediate Python Nanodegree Program
-
Module 01: Welcome to the Intermediate Python Nanodegree Program
-
Lesson 02: Getting Help
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Part 02 : Advanced Python Techniques
In this course, you will learn advanced Python skills and master a myriad of modern subject matter.
-
Module 01: Advanced Python Techniques
-
Lesson 01: Introduction to Advanced Python Techniques
Get an overview of the course, take a look at Python's quirky history, and learn why Python is a powerful way of thinking.
- Concept 01: Meet Your Instructor
- Concept 02: Course Prerequisites
- Concept 03: Lesson Overview
- Concept 04: Why Learn Python?
- Concept 05: What Makes Python Special?
- Concept 06: Course Overview
- Concept 07: First Steps
- Concept 08: Project: Near-Earth Objects
- Concept 09: Lesson Recap
- Concept 10: Good Luck!
-
Lesson 02: Representing Data
Take a deep dive into data in Python, craft new ways to abstractly think about data, and practice concrete methods for manipulating Python's essential data types.
- Concept 01: Introduction
- Concept 02: Thinking About Structured Data
- Concept 03: More About Data Structures
- Concept 04: Exercise: Explore a Public Dataset
- Concept 05: Solution: Explore a Public Dataset
- Concept 06: Building Blocks
- Concept 07: Interrogating Python Data
- Concept 08: Variables and Namespaces
- Concept 09: Exercise: Investigating Basic Objects
- Concept 10: Solution: Investigating Basic Objects
- Concept 11: Strings as Sequences
- Concept 12: Lists
- Concept 13: Tuples
- Concept 14: Comparing Sequence Types
- Concept 15: Exercise: Sequence Types
- Concept 16: Solution: Sequence Types
- Concept 17: Dictionaries
- Concept 18: Sets
- Concept 19: Sets and Mappings Quizzes
- Concept 20: Comprehensions
- Concept 21: Exercise: Finding Anagrams
- Concept 22: Solution: Finding Anagrams
- Concept 23: Edge Cases
- Concept 24: Final Exercise: T9 Predictive Text
- Concept 25: Solution: T9 Predictive Text
- Concept 26: Lesson Recap
- Concept 27: Glossary
-
Lesson 03: Functions and Functional Programming
Explore functions and functional programming in Python, including function parameters and functions as manipulable objects.
- Concept 01: Introduction
- Concept 02: Conceptual Overview
- Concept 03: Inside Python Functions
- Concept 04: Keyword Arguments
- Concept 05: Variadic Positional Arguments
- Concept 06: Variadic Keyword Arguments
- Concept 07: Exercise: Create Profile
- Concept 08: Solution: Create Profile
- Concept 09: First-Class Functions
- Concept 10: Code Style
- Concept 11: Higher-Order Functions
- Concept 12: Lambda Functions
- Concept 13: Exercise: Higher Order Functions
- Concept 14: Solution: Higher Order Functions
- Concept 15: Iterators and Generators
- Concept 16: Solution: Iterators and Generators
- Concept 17: Exercise: Functional Fuzzing
- Concept 18: Solution: Functional Fuzzing
- Concept 19: Decorators
- Concept 20: Exercise: Memoize Decorators
- Concept 21: Solution: Memoize Decorators
- Concept 22: Edge Cases
- Concept 23: Final Exercise: Runtime Type Checker
- Concept 24: Solution: Runtime Type Checker
- Concept 25: Lesson Recap
- Concept 26: Glossary
-
Lesson 04: Object Oriented Programming
Discover Python's tools for object-oriented programming and explore Python's exception hierarchy.
- Concept 01: Introduction
- Concept 02: Conceptual Overview
- Concept 03: Class Objects v. Instance Objects
- Concept 04: Attribute Resolution
- Concept 05: Custom Initialization
- Concept 06: Methods and Functions
- Concept 07: Nuances
- Concept 08: The @property Decorator
- Concept 09: Class and Static Methods
- Concept 10: Exercise Building a Class
- Concept 11: Solution: Building a Class
- Concept 12: Common Conventions
- Concept 13: Magic Methods and Polymorphism
- Concept 14: Exercise Polymorphism
- Concept 15: Solution: Polymorphism
- Concept 16: Single and Multiple Inheritance
- Concept 17: Other OOP Patterns
- Concept 18: Case Study: Error Hierarchy
- Concept 19: Exceptional Control Flow
- Concept 20: Raising Errors
- Concept 21: Exercise: Using Errors
- Concept 22: Solution: Using Errors
- Concept 23: Edge Cases
- Concept 24: Exercise: Online Shopping
- Concept 25: Solution: Online Shopping Service
- Concept 26: Lesson Recap
- Concept 27: Glossary
-
Lesson 05: File I/O
Learn all about reading and writing data files using Python, including plain text, JSON, and CSV files.
- Concept 01: Introduction
- Concept 02: Conceptual Overview
- Concept 03: Plain Text File I/O
- Concept 04: Exercise Plain Text File I/O
- Concept 05: Solution: Plain Text File I/O
- Concept 06: JSON I/O
- Concept 07: Exercise Nobel Prizes
- Concept 08: Solution: Nobel Prizes
- Concept 09: CSV I/O
- Concept 10: Edge Cases
- Concept 11: Final Exercise: Finding Routes
- Concept 12: Solution: Finding Routes
- Concept 13: Lesson Recap
- Concept 14: Course Recap
- Concept 15: Congratulations
- Concept 16: Glossary
-
Lesson 06: Project: Exploring Near-Earth Objects
Use Python to search for and explore close approaches of near-Earth objects (NEOs), using data from NASA/JPL's Center for Near-Earth Object Studies.
-
Part 03 : Large Python Codebases with Libraries
Learn how you can write, structure, and extend your code to be able to support developing 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 are the foundations for building codebases that are maintainable and efficient as they grow to tens of thousands of lines.
-
Module 01: Large Codebases with Libraries
-
Lesson 01: Course Overview
In this lesson, we'll introduce your instructor, give a brief overview of the course, and look ahead to what you'll be building for your final project.
-
Lesson 02: Foundations
We'll explore the Python language and the core programming design patterns you'll need to write clear and concise code—including object-oriented programming, documentation, typing, and tests.
- Concept 01: Lesson Overview
- Concept 02: Python Standard Library
- Concept 03: Warm Up: Python Standard Library
- Concept 04: Code Style
- Concept 05: Exercise: Code Style
- Concept 06: Multi-Line Strings
- Concept 07: Refresher: Objects in Python
- Concept 08: Exercise: Basic OOP
- Concept 09: Typing in Python
- Concept 10: Exceptions
- Concept 11: Exercise: Exceptions and Types
- Concept 12: Documenting Python Code
- Concept 13: Exercise: Documenting
- Concept 14: Lesson Review
-
Lesson 03: Building Modules
Large codebases are built by combining many smaller building blocks of code known as modules. We'll build on our knowledge of object-oriented programming to create scalable Python modules.
- Concept 01: Lesson Overview
- Concept 02: Importing Code
- Concept 03: Exercise: Importing Code
- Concept 04: System Thinking in Python
- Concept 05: Exercise - Inheritance (Part 1)
- Concept 06: Abstract Classes
- Concept 07: Exercise: Inheritance (Part 2)
- Concept 08: Advanced OOP
- Concept 09: Exercise: Advanced OOP
- Concept 10: Lesson Review
-
Lesson 04: Using Libraries
The Python community has thousands of publically available, open-source libraries we can use as modules in our software. We'll learn how we can install and use these resources!
- Concept 01: Lesson Overview
- Concept 02: PIP – The Package Installer for Python
- Concept 03: Exercise: PIP
- Concept 04: Virtual Environments
- Concept 05: Exercise: Virtual Environments
- Concept 06: Exercise: Manipulating Images
- Concept 07: Strategy Object Design Pattern
- Concept 08: Exercise: Strategy Objects
- Concept 09: Lesson Review
-
Lesson 05: Python in Systems
We'll learn how to effectively interface with our software through the command line as well as use other powerful command-line tools in our Python code
-
Lesson 06: Python for Web
Learn how to use Python to consume web content and serve complex applications!
-
Lesson 07: Project: Motivational Meme Generator
For this project, you'll build a "meme generator". This will demonstrate your newly learned skills by creating a dynamic, data-rich application that generates images with quotes.
-
Part 04 (Elective): Shell Workshop
-
Module 01: Shell Workshop
-
Lesson 01: Shell Workshop
The Unix shell is a powerful tool for developers of all sorts. In this lesson, you'll get a quick introduction to the very basics of using it on your own computer.
- Concept 01: Welcome!
- Concept 02: Windows: Installing Git Bash
- Concept 03: Opening a terminal
- Concept 04: Your first command (echo)
- Concept 05: Variables
- Concept 06: Navigating directories (1/2)
- Concept 07: Navigating directories (2/2)
- Concept 08: Options
- Concept 09: Organizing your files (mkdir, mv)
- Concept 10: Downloading (curl)
- Concept 11: Viewing files (cat, less)
- Concept 12: Removing things (rm, rmdir)
- Concept 13: Review
- Concept 14: Keep learning!
-
Part 05 (Career): Career Services
-
Module 01: Career Services
-
Lesson 01: Take 30 Min to Improve your LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
- Concept 01: Get Opportunities with LinkedIn
- Concept 02: Use Your Story to Stand Out
- Concept 03: Why Use an Elevator Pitch
- Concept 04: Create Your Elevator Pitch
- Concept 05: Use Your Elevator Pitch on LinkedIn
- Concept 06: Create Your Profile With SEO In Mind
- Concept 07: Profile Essentials
- Concept 08: Work Experiences & Accomplishments
- Concept 09: Build and Strengthen Your Network
- Concept 10: Reaching Out on LinkedIn
- Concept 11: Boost Your Visibility
- Concept 12: Up Next
-
Lesson 02: Optimize Your GitHub Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.
- Concept 01: Prove Your Skills With GitHub
- Concept 02: Introduction
- Concept 03: GitHub profile important items
- Concept 04: Good GitHub repository
- Concept 05: Interview with Art - Part 1
- Concept 06: Identify fixes for example “bad” profile
- Concept 07: Quick Fixes #1
- Concept 08: Quick Fixes #2
- Concept 09: Writing READMEs with Walter
- Concept 10: Interview with Art - Part 2
- Concept 11: Commit messages best practices
- Concept 12: Reflect on your commit messages
- Concept 13: Participating in open source projects
- Concept 14: Interview with Art - Part 3
- Concept 15: Participating in open source projects 2
- Concept 16: Starring interesting repositories
- Concept 17: Next Steps
-