Python 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 practicioner-level Python skills on the job.
Basic familiarity with programming in Python. See detailed requirements.
Advanced Python Topics
Begin by establishing a foundation in Python's methods to describe data, then 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.
Large 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.
This is not intermediate, it is advanced. The lecture content is broad and covers all the important topics you should know which is really positive. The tasks/projects are not clearly explained - many students find this frustrating and I found I spent more time trying to understand what was being asked of me rather than applying my knowledge. There are mentors on hand to ask specific questions but its not easy to go up to them and say 'I have no idea what you guys actually want, can you rewrite the whole project'.
Some people will find this course good but these are probably well versed already. Others may find it painful to get through...
Udacity's Intermediate Python Nanodegree was the perfect crescendo, after going through the basic Python introductory courses. The emphasis was beyond the mere syntax and mechanics of the language, going into the Python flavor of usual programming paradigms: object oriented and functional. OOP received special attention, deservedly and forcing me to think through the implied perspectives opening. Each introduced topic had ample and very illuminating links at the bottom of the page - a great door towards the larger Python world. I've found the systematic introduction into module writing and usage to be very useful in my GitHub contribution efforts.