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