Introduction
{{ todo("Insert introduction, explaining the expectation, about the 'test your knowledge' tasks, etc.") }}
Contents
-
Version Control
- Git
- Creating a repository
- Staging, committing and pushing
-
Testing
- PyTest
- Unit Testing
- Regression Testing
- Integration Testing
- Test Your Knowledge: Bug Hunt (broken code they have to fix)
-
Selection
-
Iteration
-
Functions
- Function Syntax
- Returning Values
- Parameters
- Yield
- Lambda functions
- Passing functions
-
Documentation
- Docstrings
- PyDoc (probably)
-
Representation of Data
- Bytes, Characters and Byte Strings
- Bases
- Binary
- Hex
- ASCII, Unicode, UTF-8
- Base64
-
Algorithms
- What is an algorithm?
- Efficiency
- Test Your Knowledge: Recursive Fibonacci
- Searching
- Sorting
-
Classes and Objects
- Object-Oriented Programming
- Classes
- Objects
- Object properties and functions
- Class properties and functions
-
Interacting with the Network
- Requests
- Sockets
- Scapy
- Beautiful Soup
-
Modules and Packages
-
Abstract Data Structures
- Trees
- Graphs
- Sets
-
Low-Level Programming
- Assembly Language
- Interrupts
- Memory Organisation and Architecture
- The Stack
- The Heap
- Now Try: Core Wars
-
Functional programming ???