Advanced Python

In this college-level course trainees become proficient in object-oriented programming in Python, as well as in a number of advanced concepts including ternary conditional operators, variadic functions, anonymous lambda functions, iterables and iterators, generator functions and generator expressions, filters, maps, decorators, object introspection, JSON, XML, and the basics of working with big data.

Note: This course is only available as part of NCLab’s Python Developer Career Training program.

Course Features

  • Trainees learn at their own pace by reading tutorials, going through examples, and solving programming challenges.
  • Every short lesson is followed by self-assessment, so that trainees instantly know whether they have mastered the concept.
  • Trainees obtain real-time help from the NCLab AI tutorial engine, as well as remote assistance from live course instructors as needed.
  • The course incorporates fundamentals of Computer Science which every software developer should know.
  • Trainees learn how to use powerful Python libraries including Matplotlib, Numpy, Scipy, Pandas, and Seaborn.
  • An interactive Python coding app allows trainees to create portfolio artifacts and easily share them online.

Prerequisites

This course has Python Fundamentals as a prerequisite.

Student Learning Outcomes (SLO)

Students will be able to:

  • Explain and relate basic concepts of object-oriented programming (OOP) including encapsulation, classes, instances, attributes, methods, and constructors.
  • Explain and relate advanced concepts of OOP including inheritance, polymorphism, multiple inheritance, static methods, and object introspection.
  • Implement OOP principles in a number of training classes and a simplified version of Python Turtle Graphics.
  • Upgrade the Graphics Editor from Python Fundamentals to an object-oriented design.
  • Identify problems of recursive nature and use recursion to solve them.
  • Recursively flatten lists and parse expressions in Polish (prefix) notation.
  • Use recursion to work with trees and binary trees.
  • Make Python programs interactive.
  • Work with variadic functions using *args and **kwargs.
  • Use anonymous (lambda) functions.
  • Use iterators to efficiently step through iterables.
  • Make iterators via generator functions and generator expressions.
  • Apply filters and maps to data.
  • Use names and namespaces.
  • Create modules and packages.
  • Define and use decorators.
  • Read and write JSON and XML data.
  • Store and clean data with Pandas Data frames.
  • Visualize data and the results of linear regression analysis with Seaborn.
  • Analyze data with Statsmodels, visualize the results with Matplotlib.

Equipment Requirements

Computer, laptop or tablet with Internet access, email, and one of the following browsers:

  • Google Chrome
  • Mozilla Firefox
  • Microsoft Edge
  • Safari

Course Structure and Length

This course is self-paced, and trainees practice each skill and concept as they go.  Automatic feedback is built into the course for both practices and quizzes.

The course is divided into four Units, and each Unit is composed of five Sections. Each Section consists of 7 instructional/practice levels, a quiz, and a master (proficiency) level. Trainees can return to any level or quiz for review.

This table illustrates the course structure as units, sections, and levels.

While learning skills in the Advanced Python course, trainees can practice writing code, work with libraries and create portfolio artifacts with NCLab’s Python app.

Advanced Python is designed to take approximately 80-120 hours. Since the course is self-paced, the amount of time required to complete the course will vary from trainee to trainee. Trainees are responsible for learning both the tutorial content and the skills acquired through practice.