
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Prepare for the pcap certificate, a paid intermediate python programming exam that grants certified associate python programmer status, with content updated to match the Python Institute syllabus.
Identify who benefits from python pcap training, including software developers, data analysts, and IT professionals, and how core python concepts prepare you for junior software engineering and data analysis roles.
Explore the right tools for Python development, comparing PyCharm with Jupyter Notebook and Jupyter Lab, and using Anaconda or online Jupyter for easy setup.
Install the free Anaconda distribution and open Anaconda Navigator to launch Jupyter Notebook for Python development. Write and run code in browser-based notebook cells, using Ctrl+Enter to execute.
Explore Google Colaboratory and Jupiter online as plan b alternatives to Anaconda, noting interface differences and when to rely on each for data input tasks.
Prepare for the Python pcap certification by understanding key concepts, writing advanced Python programs, and practicing with exam-like quizzes that present short programs to analyze their outcomes.
Master decomposing Python code into modules, importing them to form a larger codebase, and leveraging the Python standard library and community modules.
Explore how to import modules in Python and view their available entities with dir. Practice using dot notation to access functions, and learn about from-import, aliases, and namespace risks.
Explore the Python math module, inspect its contents with dir, and master six functions: ceil, floor, trunc, factorial, sqrt, and hypot, for AP exam success.
Learn how Python's random module generates pseudo random numbers with time-based seeds, and use random, seed, choice, and sample to select items from sequences.
Access the platform module to reveal underlying Python environment details, including the Python version, operating system, hardware, and functions like platform(), machine(), processor(), and system().
Create and import your own modules as plain Python text files, then run main.py via the terminal and Jupyter Lab.
Learn how Python executes module code on import and why modules initialize once. Explore running a file directly versus as a module with __name__ == '__main__' and module testing conventions.
Explore a ready-made Python module that demonstrates a shebang line, a top-level docstring, a double-underscore variable, and three importable functions with tests that run when executed as main.
Explore how Python resolves modules by inspecting and modifying the path variable, using append and insert, and applying relative and absolute paths to control import order.
Learn to organize Python code with packages and modules, using directory structures to group related modules. Follow explicit import statements and understand when __init__.py is optional since Python 3.3.
Explore how Python stores strings, from ASCII and code pages to Unicode and UTF-8, including code points, internationalization, and practical use in variable names and i/o.
Learn how Python strings work: immutability, length, indexing, slicing, escaping, and code points with ord/chr; plus multi-line strings, concatenation, repetition, and simple iteration.
Explore string searching with index, find, and rfind functions, compare behaviors when substrings are missing, and learn argument ranges; also verify strings with isalnum, isalpha, isdigit, islower, isupper, and isspace.
Master Python string manipulation in the PCAP course by learning join, split, and sorting using sorted and sort, with examples of separators, whitespace, and when to choose sorted or sort.
Learn how Python compares strings using equals, not equal, and ordering, focusing on case sensitivity, ascii codes, and the first differing character.
Explore object oriented programming in Python by contrasting classes, objects, properties, and methods with procedural code, and learn why OOP scales for larger applications.
Learn how Python classes serve as templates to create objects with attributes and methods. Instantiate objects, use a constructor and self, and call introduce with dot notation.
Learn encapsulation and abstraction in Python by building a simple car class with a constructor, default values, speed controls, input validation, and private attributes.
Explore instance variables in Python by creating a simple Doc class with name and age. Dynamically add and delete attributes, inspect __dict__, and understand name mangling for private properties.
Explore class variables and their shared state across objects, accessed via the class name, with dict and has checks, and built-in properties like type, name, and module.
Explore instance, class, and local variables with a House class that tracks address, area, and price, showing how scope, a class counter, and variable overriding work.
Explore Python class design by creating a doctor class with ready-made methods, learn how the self parameter works, constructors, private methods with double underscores, and custom string representations.
Explore introspection and reflection in Python, using getattr, setattr, and isinstance to inspect object properties and convert string attributes to empty strings.
Explore how inheritance defines super classes and subclasses using vehicle, land vehicle, and car as examples. Create these classes, declare their relationships, and verify them with Python's is subclass function.
Demonstrates how inheritance transfers constructors and properties across vehicle, land vehicle, and car, and uses dot notation or super to invoke superclass constructors for speed.
Explore how class variables and methods are inherited in Python, using super and dot notation, with vehicle and land vehicle examples that speed up and print the class message.
Explore inheritance in python by overriding properties and methods in a dog subclass, demonstrating how present and produce sound behaviors differ through polymorphism and method overwriting.
Explore isinstance checks for class and subclass using vehicle, land vehicle, and car, and the is operator for identity, how primitive data types and strings differ in identity versus equality.
Explore multiple inheritance in Python, showing how a class inherits from several super classes, how MRO (method resolution order) selects methods, and why single inheritance is safer.
Explore how the diamond problem arises with multiple inheritance and how Python's method resolution order resolves ambiguity between inherited show power type implementations.
Explore common Python errors such as syntax and value errors, and learn to handle exceptions with try-except blocks, including specific and general branches for zero division error and other cases.
Explore Python's exception hierarchy, from bayes exception templates to concrete errors like value, type, index, and key errors, and review system exit and keyboard interrupt.
Explore how exceptions propagate through multiple function calls in Python and how a single try-except in the caller handles errors raised by called functions.
Learn to raise exceptions with the assert keyword, using assertions for debugging checks, while not using them for input validation or error handling because they can be turned off.
Explore try-except-else blocks in Python, see how the else branch runs when no exception occurs, and practice with user input and division to understand error handling.
The finally keyword works with try/except blocks and always executes the final block, even after errors, to close resources such as database connections, shown by the get inverse example.
Learn how to raise exceptions manually using the raise keyword, enforce input types with ValueError, and re-raise exceptions in except blocks to delegate handling in Python programs.
Treat Python exceptions as objects created when raised; use as e in the except block to print detailed messages and inspect their __str__ and args.
Explore creating custom Python exceptions through inheritance, building specific types like animal value error and user action exception, with constructors and messages, then raise and handle them using try-except.
Master Python list comprehension to create lists from range 1 to 100, filter by conditions, generate alternating zeros and ones, and build nested lists with inner and outer comprehensions.
Learn how Python lambda functions differ from named functions, how to define and assign them, and how to pass anonymous lambdas to a function like apply func to transform sequences.
Learn how map and filter with lambdas transform sequences in Python, producing iterators and lists, reduce code to a line, and apply them to extract even numbers and email addresses.
Explore Python closures by examining nested functions that capture outer variables, recall free variables, and return closures, enabling memory of values across calls.
Learn how Python saves and loads data by using streams and handles, opening and closing files, and portability across Linux and Windows with text and binary files.
Learn how to safely open and read text files in Python, using read, readline, and readlines, handle end of file, and manage streams with try-except and proper close.
Learn to write text to files in Python using open with write mode and the write method. Create or overwrite files, manage newlines, then close the stream.
Explore binary file basics, noting that text and binary files are byte sequences, and learn to create and read data with Python using byte arrays and wb and rb modes.
Discover how Python's open function uses the mode argument to control reading, writing, and binary or text behavior, including r, w, a, x, b, t, and plus.
explore the three predefined streams—standard input, standard output, and standard error—accessible via the open function, with standard input reading from the keyboard and outputting to the console.
Learn to diagnose Python file stream errors by using specific errno codes, the os module to translate them into readable messages, and differential handling of distinct problems.
Celebrate completing the course and solidify your intermediate python foundations, readying you for the certification with a mock exam that mirrors the real test in format and timing.
Explore how PyCharm, a popular Python IDE by JetBrains, contrasts with Jupyter for professional development, and learn the basics to start using a real-world workflow.
Install PyCharm and activate your six-month professional license using a JetBrains account and voucher, guiding you through download, activation, and managing subscriptions for hands-on Python practice.
Learn to create your first Python project in PyCharm, and run scripts with print statements. Compare PyCharm with Jupyter notebooks and use auto-completion in a professional IDE.
The only Python PCAP course that combines hands-on learning in Jupyter Notebook with a 6-month free PyCharm Pro license — in collaboration with JetBrains.
---
Welcome! My name's Adrian and I'm a professional Software Developer. If you already know basic Python and want to take another step with your skills, then you've just found an excellent course for that! Along the way, you will also create three practical Python programs!
According to statistics, Python is in the top 3 programming languages all around the world. It is much easier and quicker to learn that most other languages. At the same time, it's extremely popular among software developers, data analysts and other IT professions. All of this makes it an excellent choice for your first programming language.
COURSE OVERVIEW
In this course, you'll learn intermediate-level Python 3 and you'll get prepared for the Certified Associate in Python Programming exam (PCAP). You will need basic Python skills (entry-level PCEP exam knowledge) to start this course. I'll show you how to install Python and all the necessary tools. You will code along with me andhave a chance to write three practical programs to practice your skills.
There are 5 exam blocks when you sit the PCAP exam. Consequently, this course has 5 main modules, each one focusing on a different exam block. At the end of each module, you'll have a chance to solve an exam quiz to check your skills.
This course also comes with a mock PCAP exam at the very end. It will have the same format as your actual exam, with the same passing grade and time limit. It will show you what kinds of questions you can expect.
COURSE ADVANTAGES
• Concise and effective – No fluff or filler. Just 5.5 hours of focused, hands-on video lessons that get you writing real Python code fast, from a real software engineer.
• Based on real-world practice – You’ll learn practical programming habits and workflows used by professional developers — not just exam theory.
• Reasonably priced – Get a complete exam prep and coding foundation at a fraction of the cost of traditional bootcamps.
• Official certificate of completion – Showcase your achievement with a printable Udemy certificate to strengthen your resume or LinkedIn profile.
• Bonus for students – In collaboration with JetBrains, every student receives 6 months of free PyCharm Professional access, a professional-grade Python IDE used by developers worldwide.