Advanced Python Course with Fundamentals of Computer Science
This college level course teaches students how to use Python to solve problems of gradually increasing complexity, ranging from simple calculations, working with text strings, loops, conditions, and variables, to file operations, data visualization, and object-oriented programming. The estimated time to complete this course is 80-120 hours, based on student’s ability level.
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. Advanced Python is “learning by doing”. Like all NCLab courses, each level is self-graded for immediate feedback.
What you will learn:
- Working with Text: Students learn how to create, analyze, and modify text strings for any application.They create their own text-to-Morse and Morse-to-text translators.
- Python Libraries and API Design: Students learn how to use Matplotlib and Numpy to perform calculations, draw images, display graphs of functions, plot curves, and more. They create their own Graphics Editor API that can create various shapes and combine them together.
- Binary Numbers and Computing Logic: Students learn how computers compute, including binary and hex numbers, logic gates, logic circuits, binary adders and multipliers. They create their own library of functions related to computing logic, and use it to simulate a binary computer.
- Files, Data, and Visualization: Students learn how to work with data files. They work with various data formats including ASCII art, bitmap images, dictionaries, CSV files, and visualize data obtained from scientific measurements and computations. They create their own library of functions to manipulate PBM, PGM and PPM images.
- OOP and Advanced Techniques: In Sections 21 – 24 students learn the principles of Object-Oriented Programming (OOP). In Section 25 they learn selected advanced techniques including *args, **kwargs, maps, filters, anonymous lambda functions and conditional ternary statements. They create an object-oriented version of their Graphics Editor API from Unit 2.