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.