top of page

Course Syllabi

Introduction to Artificial Intelligence

Week 1

  • Introduction to AI

  • AI definitions

  • The Turing Test

  • Regular expressions for chatbots

  • The chinese room problem

  • Symbolic and connectionist approches to AI

  • A Brief History of AI

Week 2

  • Introduction to Computer Vision

  • Human vision and associated brain activity

  • Face detection with Viola-Jones algorithm

  • Image processing

  • Optical images

  • Digital cameras

  • Introduction to Colour theory

  • Image classification

Week 3

  • Image processing continued

  • Mathematical convolution operation

  • 1D convolution

  • 2D convolution

  • Kernals and convolution of images

  • Kernals as image filters (blur, sharpen, edge detection)

  • Fast convolution algorithm

  • Fast Fourier Transform in convolutions

  • Introduction to Convolutional Neural Networks

  • Building and training a CNN

  • Live code session

Week 4

  • Stable Diffusion

  • SD web ui

  • Text to image generation

  • Image to image generation

  • Night Cafe website - tool for image generation

  • Dreambooth for creation AI models

  • Hugging Face website for dreambooth

  • SD models

  • Live code session

Week 5

  • Introduction to natural language processing

  • How AI is becoming stronger

  • Development S curves

  • Definition of NLP

  • Types of NLP

  • Applications in the NLP market

  • Speech Recognition

  • Parsers

  • Syntactic analysis

  • Semantic analysis

  • Natural Language Generation in a parsers

Week 6

  • Parser trees

  • Abstract syntax trees

  • Multi-dimentional vectors

  • Vector and dot products

  • Meaning of words as a vector

  • Regular expressions in AST

  • Live code session

Week 7

  • Introduction to neural networks

  • Biological neurons

  • Artificial neurons

  • NN architecture

  • Mathematical modeling of NNs

  • Activation function

  • Introduction to linear regression

  • Project

Week 8


  • Project

Data science: Введение в машинное обучение и анализ данных

Week 1

  • Введение в курс

  • Определения

  • История развития искусственного интеллекта

  • Практические примеры работы машинного обучения

Week 2

  • Первичный анализ данных

  • Основы статистики.

  • Предсказанием пола человека по его росту и весу.

Week 3

  • Введение в машинное обучение.

  • Метод ближайших соседей.

  • Предсказание сорта ириса по измерениям лепестков.

Week 4

  • Понятие обучения с учителем.

  • Метод к ближайших соседей.

Week 5

  • Линейная регрессия

Week 6

  • Деревья решений

  • Модели отличия кошек от собак

Week 7

  • Метрики качества классификации

Week 8

  • Кластеризация методом средних значений.

  • Проект

Java 1

Week 1

  • Install Java, JDK and Netbeans, APConsole 

  • Why is Java useful? 

  • Java syntax

  • Printing

  • Comments

  • Introduction to variables and variable types

Week 2

  • Variables and types continued

  • Integers and integer operations (addition, multiplication, subtraction, modulo)

  • Doubles and double operations (addition, multiplication, subtraction, division)

  • Integer division vs double division

  • Introduction to strings

  • Concatination of strings

  • Equality of strings

Week 3

  • Math.random() 

  • Booleans and boolean operations

  • If statements

  • Else if, else

  • While loops

Week 4

  • For loops

  • Introduction to classes and objects

  • Annatomy of a class (fields, methods, constructors)

  • Public and private keywords

  • Introduction to methods

Week 5

  • More methods

  • Return and return types

  • Arguments

  • The void type

Week 6

  • Constructors

  • Accessor and mutator (getter and setter) methods

  • Static functions

  • Static variables

Week 7

  • Arrays

  • Array indexing

  • Default values

  • Array traversal

Week 8

  • Project

Python 1

Week 1

  • Create Replit account

  • Basic data types

  • Variables

  • Maths operators

  • Comparing operators

  • Basic string manipulation

  • Print and input

Week 2

  • Advanced string manipulation

  • Special characters (\n, \t)

  • Greater and Lower than signs

  • String formatting using the library

  • String formatting using f strings

  • F strings

Week 3

  • List as a data type

  • Indexing (positive and negative)

  • Slicing

  • List methods

Week 4

  • Logical operators

  • Logic gates (not, and, or, xor, eq)

  • If, elif, else statements

  • Conditional ternary operator

  • Nested ifs

  • "in" opperator

Week 5

  • While loop

  • Pass, continue, break operators

  • While loop with else compound

  • For loop

Week 6

  • Functions

  • Basic recursion

  • Libraries and module

  • Import statements

  • Random module

  • Turtle module

  • Basic turtle movement

Week 7

  • Complicated turtle movement

  • Customisation in turtle 

  • Project

Week 8

  • Project

Python 2

Week 1

  • Review of Python 1

Week 2

  • Tuples

  • Dictionaries

  • Sets

  • 2D, 3D lists

  • List of dictionaries or tuples

Week 3

  • Advanced recursion

  • Asterisk Operators

  • Unpacking: *args, **kwargs

  • Concatenation of string and lists by unpacking

Week 4

  • Functional programming with Python

  • Next, iter functions

  • Functions as objects

  • Functools module 

  • Map, filter, and reduce functions

  • Yeild and generators

Week 5

  • Map and range as generators

  • Map with filter functions together

  • Immutable data types

  • Introduction to Lambda functions

Week 6

  • Date and time modules

  • Time Management with Python

  • Basic multithreding/parallelization

Week 7

  • Math module 

  • Fraction module

  • Project

Week 8

  • Project

Python 3

Week 1

  • Review of Python 2

Week 2

  • Definition of class

  • Objects

  • Constructor (__init__)

  • Methods

  • __repr__, __eq__, __del__, methods

Week 3

  • Other magic methods

  • Static methods

  • Inheretence

  • Hierarchical inheritance

  • Multilevel inheritance

Week 4

  • Class variabes

  • Class methods

  • Polymorphism

  • Overriding

  • Overloading

  • __dict__ method

Week 5

  • List comprehension

  • Lambda functions

Week 6


  • Definition for errors

  • Type of errors

  • Error handling

  • Try, exept, finaly

Week 7

  • Module math

  • Module numpy

  • Module scipy

Week 8

  • Definition of files

  • Reading a txt file

  • Writing into txt file

  • Useful file types

  • Writing 1D and 2D arrays into csv files

  • Writing dictinaries into json files

Python: Intoduction to game development

Week 1

  • Intro to course

  • Definition of functions

  • Constructor ( __init__)

  • Definition of classes

  • Inheritance

  • Basic functions

  • Modules and libraries and file handling

Week 2

  • Go over pygame boilerplate

  • Pygame graphics

  • Pygame essential function:

                       .blit, .fill, pygame.rect, pygame.draw., pygame.key.pressed(), 

                         pygame.quit(), pygame.event.get(),  pygame.display.update()

  • Make moving rectangle

Week 3

  • Make 2 paddles

  • Create AI movement algorithm

  • Make a display function for the AI

  • Setup AI on game screen

Week 4

  • Make ball that moves

  • Collision algorithm

Week 5

  • Create 3 levels of difficulty

  • Make options for multiplayer and singleplayer

  • Make a theme changer

  • Add music

  • Add a score counter and end screen

Week 6

  • Working with pygame images

  • The backend logic of a scroller game

  • Making a scrolling background

  • Setup boilerplate

Week 7

  • Make scrolling background

  • Setup score timer

  • Add Dino jumping

Week 8

  • Add cacti and pterodactyls

  • Add music

  • Add end screen

  • Add day and night phases

R

Week 1

  • Introduction to R

  • Variables

  • Printing variables

  • Basic mathematical operations

  • Strings

  • Numerical data types

  • Basic functions

Week 2

  • Scalars as a data type

  • Vectors as a data type

  • Matrices as a data type

  • Dimensionality of matrices

  • Indexing in vectors and matrices

Week 3

  • Lists as a data type

  • Data frames

  • Subletting variables

  • Cross-referencing variables.

Week 4

  • Ordering and sorting of vectors, matrices and data frames.

  • Merging data frames.

  • Reshaping of data frames.

Week 5

  • If statements

  • Other conditionals

  • Control flow

  • Boolean operators

Week 6

  • Manipulating data frames with with(), within() and ifelse() functions.

Week 7

  • Basic plotting functions in R

  • Line plots

  • Scatter plots

  • Histograms

  • Box plots

Week 8

  • String formatting

  • Regular expressions

bottom of page