Python Fundamentals

In this college-level course trainees learn Python by solving programming problems of gradually increasing complexity, ranging from simple calculations, working with text strings, loops, conditions, and variables, to file operations, and data visualization. They also learn some fundamental concepts of Computer Science which every programmer needs to know.

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 practice and 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 and Scipy.
  • An interactive Python coding app allows trainees to create portfolio artifacts and easily share them online.


This is not an introductory computer programming course. Trainees should be familiar with basic concepts of computer programming including syntax, counting and conditional loops, conditions, local and global variables, functions, and recursion. For complete beginners who have little or no computer programming, NCLab provides an excellent introductory course Introduction to Computer Programming as part of the training program.

Student Learning Outcomes (SLO)

Students will be able to:

  • Use Python for calculations.
  • Use loops and conditions, define and use custom functions.
  • Define basic built-in data types.
  • Explain the difference between local and global scopes and variables.
  • Work with tuples, lists, dictionaries, and sets.
  • Use the break and continue statements in loops.
  • Use the else branch with for and while loops.
  • Work with text strings and regular expressions, ASCII table.
  • Identify characteristics of mutable and immutable data types, locate objects in memory.
  • Use the Matplotlib and Numpy libraries.
  • Plot graphs of functions and parametric curves.
  • Examine basic principles of software design.
  • Compare shallow and deep copying.
  • Read from and write to text files.
  • Use assertions and exceptions.
  • Visualize scientific data using wireframe plots, surface plots, contour plots, and color maps.
  • Design and implement a Graphics Editor capable of creating, manipulating and displaying images consisting of basic shapes.

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 practice exercises 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. Quizzes can be retaken after 12 hours.

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

Python Fundamentals is designed to take approximately 80 hours. Since the course is self-paced, the amount of time required to complete the course will vary from trainee to trainee.