Exam block #1: Basic Concepts (17%)
Objectives covered by the block (5 exam items)
- interpreting and the interpreter,
- compilation and the compiler,
- language elements,
- lexis,
- syntax
- semantics,
- Python keywords,
- instructions,
- indenting
- Boolean,
- integer,
- floating-point numbers,
- scientific notation,
- strings
- comments
- the print() function
- the input() function
- numeral systems (binary, octal, decimal, hexadecimal)
- numeric operators: ** * / % // + –
- string operators: * +
- assignments and shortcut operators
Exam block #2: Data Types, Evaluations, and Basic I/O Operations (20%)
Objectives covered by the block (6 exam items)
- unary and binary,
- priorities
- binding
- bitwise operators: ~ & ^ | << >>
- Boolean operators: not and or
- Boolean expressions
- relational operators ( == != > >= < <= ), building complex Boolean expressions
- accuracy of floating-point numbers
- input(), functions
- print(), functions
- int(), functions
- float(), functions
- str(), functions
- len() functions
- formatting print() output with end= and sep= arguments
- type casting
- basic calculations
- constructing,
- assigning,
- indexing,
- immutability
Exam block #3: Control Flow – loops and conditional blocks (20%)
Objectives covered by the block (6 exam items)
- if,
- if-else,
- if-elif,
- if-elif-else
- multiple conditional statements
- the pass instruction
- building loops: while, for, range(), in
- iterating through sequences
- expanding loops: while-else, for-else
- nesting loops and conditional statements
- controlling loop execution: break, continue
Exam block #4: Data Collections – Lists, Tuples, and Dictionaries (23%)
Objectives covered by the block (7 exam items)
- constructing vectors,
- indexing and slicing,
- len() function
- indexing,
- slicing,
- basic methods (append(),
- insert(),
- index())
- functions (len(), sorted(), etc.),
- del instruction,
- iterating lists with the for loop,
- initializing,
- in and not in operators,
- list comprehension,
- copying
- cloning
- matrices
- cubes
- indexing,
- slicing,
- building,
- immutability
- similarities and differences,
- lists inside tuples
- tuples inside lists
- building,
- indexing,
- adding and removing keys,
- iterating through dictionaries as well as their keys and values,
- checking key existence, keys(), items() and values() methods
- escaping using the \ character,
- quotes and apostrophes inside strings,
- multi-line strings, basic string functions.
Exam block #5: Functions (20%)
Objectives covered by the block (6 exam items)
- defining and invoking your own functions and generators
- return and yield keywords, returning results,
- the None keyword,
- recursion
- parameters vs. arguments,
- positional keyword and mixed argument passing,
- default parameter values
- converting generator objects into lists using the list() function
- name scopes, name hiding (shadowing), the global keyword