Computer Sciences program

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.

(C) SchoolNova 2005-2019