CS 101
Entry requirements: entering grade 7
List of Topics of CS 101:
- Python editor, running code, working with files. 
- Operators: Arithmetic, Comparison, Logical, Membership. 
- Basic variable types. Type conversion. 
- Python variables, objects, and variable names as references to objects. 
- Printing and f-strings. Input() and its applications. 
- Error handling. 
- Definite and indefinite Iteration. 
- Conditional statements: if else, if elif else. 
- Lists and list operations. 
- Copy and deep copy. 
- Iterable objects: tuples, sets, and dictionaries. Iterable objects’ methods. 
- Nested data structures. 
- User defined functions and different types of arguments. 
- Nested functions. Local and global variables. 
- Anonymous lambda functions; map() and filter() functions. 
- List comprehension. 
- Random number generation. 
- Object-oriented programming introduction and terminology. 
- Polymorphism. Inheritance. 
- Working with os module. Creating user modules. 
- Opening and reading data from text files. Writing text to files. Appending text to files. 
- Working with text. 
- Numerical Python (NumPy). Array properties. Indexing values. 
- Basic operations with arrays: creation, reshaping, manipulation, stacking, element-wise math. 
- matplotlib. Creating a simple bar chart for two data series. 
- Using numpy to store, record, and retrieve data. 
CS 202
Entry requirements: entering grades 7 - 9
List of Topics of CS 202:
- Object oriented programming, advanced concepts and techniques. 
- Code and performance optimization. 
- Programming basic graphics and user interface. 
- Introduction to PyGame. 
- Numerical and scientific Python applications (numpy and scipy). 
- Visualizations in Python (matplotlib). 
- Working with data and basic data analysis (pandas). 
- Machine leaning (scikit-learn). 
- Introduction to networks and graphs (networkx). 
- Introduction to databased management (SQLite). 
- Introduction to web development. 
- Software development version control, GitHub. 
- Optional topics include: Python C extensions (cython); Multiprocessing; GPU accelerated computing.