20
loading...
This website collects cookies to deliver better user experience
Version Conrol | Success criteria |
---|---|
Version Control Basics | Used at least one VCS Performs basic operations like Check in, check out |
Common operations with Version Control | Creates new branches Merges branches |
Branching strategies | Understands purpose of branching Explains Centralized (Trunk Based) approach Explains GitFlow approach |
Python General Information | Success criteria |
---|---|
Code execution - Novice | Interactive shell Script execution |
Versions of Python - Intermediate | Differences between 2.x and 3.x in general (print, unicode, etc) |
Python Types and Operations | Success criteria |
---|---|
Operators - Novice | Types: arithmetic, comparison, assignment, bitwise, logical, membership, identity. |
Numbers - Novice | Definitions Decimal, hexadecimal, octal, binary number syntax |
Lists - Novice | Definition and properties Basic methods and operations Indexing and slicing list vs tuple |
Files - Novice | Definition and properties Basic methods and operations |
Dynamic typing - Novice | Definitions |
Sets - Novice | Definition and properties Basic methods and operations |
Dictionaries - Novice | Definition and properties Basic methods and operations |
Shared references - Novice | Equality: == vs is In-place changes |
Strings - Novice | Definitions Syntax Different formats: single-, double-quoted, multiline. Special characters Basic operations and methods Indexing and slicing Formatting |
Tuples - Novice | Definitions Syntax list vs tuples |
Copying procedure | deepcopy, method copy, slicing, etc. |
Dictionaries - Intermediate | Iteration and comprehensions |
Lists -Advanced | Iteration and comprehensions |
Numbers - Advanced | Numeric operations with mixed types. Comparison: normal and chained. Division: classic, floor, true. |
Operators - Advanced | Precedence of operators. |
Dynamic typing - Advanced | Strong and weak typing |
Strings - Advanced | Raw strings Unicode and ASCII strings |
Python Statements and Syntax | Success criteria |
---|---|
Condition statements - Novice | if-elif-else |
Loop statements - Novice | for, while Control of cycle execution(break, continue, pass) |
Condition statements - Intermediate | inline if, ternary operator |
Generators - Novice | Definitions |
Iterators - Novice | Definitions Built-In iterables. |
Loop statements - Intermediate | How to use else in cycles |
Generators - Intermediate | yield comprehensions vs generators gen expressions range vs xrange |
Iterators - Intermediate | Manual iteration: iter() and next() Iteration protocol. Iterable, Range iterable |
Loop statements - Advanced | Implementation details |
Functions in Python | Success criteria |
---|---|
Argument-Passing - Novice | required, keyword, default |
Argument-Passing - Intermediate | arbitrary argument values,keyword arguments in dictionary |
Definition and calls | Syntax |
Decorators - Novice | Definitions Standard class Decorators: @classmethod, @staticmethod, @property(getter, setter, deleter) |
Functional programming - Novice | map, reduce, filter, zip |
Lambda expressions | Definitions Syntax Usage |
Argument-Passing - Advanced | When and how many times are default arguments evaluated? Partial |
Decorators - Advanced | decorators for functions, decorators for classes wraps passing args to decorators |
Modules in Python | Success criteria |
---|---|
Modules in Python - Novice | import packages __ init __ .py - __ name __ and __ main __ |
OOP in Python | Success criteria |
---|---|
Attribute access - Novice | Direct access Class and instance attributes |
Definition and syntax - Novice | OOP definitions classes syntax |
Inheritance - Novice | Definitions |
Basic customization and Operators overloading - Novice | Definitions |
Relations between classes and instances - Novice | Definitions |
Abstract base class - Novice | Definition and syntax |
Inheritance - Intermediate | Multiple inheritance Classic algorithm Diamond problem MRO, super Mixins |
Inheritance - Advanced | C3 algorithm How to change MRO |
Context managers - Advanced | Implementation details contextlib decorator with-enabled class |
Troubleshooting in Python | Success criteria |
---|---|
Logging fundamentals | Explains purpose of logging. Understands logging levels. |
Debugging in Python - Novice | Definitions |
Exceptions in Python | Success criteria |
---|---|
Definitions and syntax - Novice | Definitions |
Definitions and syntax - Intermediate | Custom exceptions try-except-else, try-finally raise, assert |