Skip to content
Educora

Computer Science

Computers, algorithms, data and the internet

In this course you will learn how information is measured, how a computer is built and how binary numbers and logic work inside it. You will be able to write algorithms and flowcharts, compare searching and sorting algorithms, explain how the internet works and protect yourself online. University modules then take you deep into algorithms, data structures and computer systems.

59 lessons12 modules≈ 22.5 hGrades 5–11BeginnerIntermediateAdvancedUniversity
Progress0%

0 of 59 lessons completed

Start course

Information, its kinds and information processes

Course content

All tests · 18Formulas & shortcuts
7

Programming in Python (school course)

Intermediate

Input and output, conditions and loops, number algorithms, strings, lists, functions and DİM's written programming tasks.

9 lessons
  1. 29Programming languages and Python: variables, input and outputWhat a program and a programming language are and how translators (interpreters and compilers) work; Python variables, input with `int(input())`, output with `print()` and the `//` and `%` operators — with exam-style “what does the program print?” tasks.
  2. 30The conditional statement: if, elif, else and compound conditionsComparisons, the full and incomplete `if`, `elif` chains, nested conditions, `and`, `or`, `not` and conditions built on remainders — with exam-style tracing, “how many times `Yes`?” and written-program tasks.
  3. 31Loops: for, while, step, break, continue and nested loops`for` and `range(a, b, d)`, the number of iterations, counters and accumulators, the pre-condition `while` loop, trace tables, recurrences such as Fibonacci, `break`, `continue` and nested loops — with solved exam-style tasks.
  4. 32Working with numbers: digits, divisors and primesSplit a number into digits with `n % 10` and `n // 10`; find the sum, product, count and reverse of the digits; count divisors; test primes and perfect squares; compute the GCD with Euclid's algorithm. Ready templates for the DİM tasks.
  5. 33Analysing programs: from the output back to the inputUse a trace table to find what a program prints, get the number of loop iterations from the printed value, and turn the loop condition into inequalities to find the smallest and the largest input and how many inputs give the same output — as in DİM's closed and coded tasks.
  6. 34Strings and string operationsIndexes (negative ones too), slices and `[::-1]`; `len`, `+`, `*`, `in`, `count`, `find`, `replace`, `upper`, `isdigit`, `split`, `join`; loops over characters, digits through `str(n)` and the string patterns of the DİM written tasks.
  7. 35Lists and list operationsCreating lists, reading n numbers into an empty list, indexes and neighbouring elements, list methods and DİM-style tracing tasks.
  8. 36Functions: def, parameters and returnDefining and calling functions, formal and actual parameters, local variables, one function calling another and helper functions over lists — with DİM-style tracing.
  9. 37Writing programs: the written tasksInformatics written tasks 89 and 90: how they are marked, how to read the *Giriş / Çıxış* table, 10 model solutions for the 2025–2026 task families and the mistakes that cost points.
11

Algorithms and data structures

University

Complexity analysis, arrays, lists, hash tables, trees, graphs, recursion, dynamic programming and efficient sorting.

7 lessons
  1. 46Complexity and Big O notationLearn to count operations, use O, Ω and Θ notation, recognise the common complexity classes and solve recurrences with the master theorem.
  2. 47Arrays, linked lists, stacks and queuesLearn how arrays sit in memory, why a dynamic array appends in amortised O(1), how linked lists work, and what stacks and queues are used for.
  3. 48Hash tablesLearn how hash functions turn keys into indexes, how collisions are resolved by chaining and open addressing, and how the load factor keeps operations O(1) on average.
  4. 49Trees and heapsLearn binary trees and their traversals, search, insertion and deletion in a binary search tree, the idea of balanced trees, heaps, priority queues and heap sort.
  5. 50Graphs and graph algorithmsLearn how graphs are represented, breadth-first (BFS) and depth-first (DFS) search, Dijkstra's algorithm, topological sorting and minimum spanning trees (Kruskal), step by step.
  6. 51Recursion and dynamic programmingLearn how recursion works, how memoisation turns exponential recursion into linear time, and the classic dynamic programming problems — Fibonacci, knapsack, longest common subsequence and coin change.
  7. 52Efficient sorting algorithmsLearn merge sort and quicksort step by step, prove the Ω(n log n) lower bound for comparison sorting, and meet counting sort, which beats that bound.