Advanced Python Programming Language Course

Python Programming

Advanced Python Programming Language Course

The Python II course in NCLab covers all important aspects of the Python programming language. Learners solve realistic programming tasks that include text operations, computer graphics, API design, file operations, image manipulation, data analysis, data visualization, and object-oriented programming. It assumes that learners have taken ​Visual Intro to Python​ or have equivalent working knowledge of basic Python programming concepts such as for-loops, variables and functions, conditions, Booleans, and lists.

Python II has five units where students learn how to:

  1. Work with Text Strings
  2. Use Numpy and Matplotlib
  3. Work with Binary and Hex Numbers
  4. Work with Files and Visualize Data
  5. Use Object-Oriented Programming

Each Unit starts with simple skills and gradually progresses towards realistic practical applications. The course balances text and numeric operations with visual exercises. Using NCLab’s powerful editor, learners can track the behavior of each line of code, step through and debug their programs, and view both printed and graphic outputs. Python II is “learning by doing”: like all NCLab courses, each level is self-graded for immediate feedback.

  • Full syntax and programming structures.
  • Efficient use of Python libraries including Matplotlib, Numpy and others.
  • Game-like format and self-paced learning form the player’s journey, including well-designed puzzles and opportunities to tackle challenges with confidence.
  • Incorporates mathematics into coding in a rigorous but accessible manner (geometry, rectangular and polar coordinates, binary, hexadecimal, real number systems, 2D arrays, logic).
  • Free App to create projects.
  • Follows computer science guidelines developed by the CSForAll consortium.


Concepts Taught:
  • Text string operations.
  • Elements of computer graphics.
  • Python libraries.
  • Lists and tuples.
  • 1D and 2D arrays.
  • Principles of software design.
  • Software API design, testing, and security.
  • Handling exceptions for safe software design.
  • How computers compute and operate.
  • Decimal, binary, and hexadecimal numbers.
  • Computation with different kinds of variables.
  • Logic circuits, binary adders and multipliers.
  • File operations.
  • Display and manipulation of bitmap images.
  • Various methods of scientific data visualization.
  • Object-Oriented Programming (OOP).