Learn Python and Fundamentals of Computer Science

Python Programming

Learn Python and Fundamentals of Computer Science

Python is a modern, flexible language that is easy to learn, easy to use, and has powerful libraries for data (including big data) manipulation and analysis. According to the TIOBE index, Python is the 4th most popular programming language in the world. The rise of big data has created a large demand for Python developers as data scientists, since Python can be easily integrated into web applications to carry out tasks that require machine learning, deep learning and artificial intelligence. For example: Google, Dropbox, Pinterest, Instagram and Reddit were all built with Python.

To start a successful career as a Python software developer, it is not enough to just know Python. A successful software developer must be a capable problem solver. In order to be able to solve problems, it is important to know some math and be familiar with selected fundamental concepts of Computer Science. Therefore, the Python Programming course in NCLab will teach you more than an average online Python course. It covers in great detail all important aspects of the Python programming language. But on top of that, students solve carefully designed realistic programming tasks related to text operations, binary and hex numbers, logic circuits and binary adders, computer graphics, API design, file operations, image manipulation, data analysis, data visualization, object-oriented programming, and other important concepts. The course assumes that learners have taken the ​Visual Intro to Python​ or are familiar with basic programming concepts such as for-loops, variables, and conditions from elsewhere.

Python Programming 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 Programming is “learning by doing”. Like all NCLab courses, each level is self-graded for immediate feedback.


Main Features:
  • Students type code from Day 1 (no block programming).
  • Students learn how to use Python libraries including Matplotlib and Numpy.
  • Course has game-like format and self-paced learning forms the player’s journey.
  • All exercises are autograded, and students receive help and advice as needed.
  • Course incorporates mathematics into coding in a rigorous but accessible manner.
  • Interactive companion app allows students to create their own projects.
  • Course follows computer science guidelines developed by the CSForAll consortium.


Concepts Taught:
  • Text string operations.
  • Elements of computer graphics.
  • Essential 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 and exceptions handling.
  • Display and manipulation of bitmap images.
  • Various methods of scientific data visualization.
  • Object-Oriented Programming (OOP).