University of Warsaw - Central Authentication System
Strona główna

Elective courses for Computer Science (course group defined by Faculty of Mathematics, Informatics, and Mechanics)

Faculty: Faculty of Mathematics, Informatics, and Mechanics Courses displayed below are part of group defined by this faculty, but this faculty is not necessarily the one that organizes these courses. Read Help for more information on this subject.
Course group: Elective courses for Computer Science
other groups class schedules for this group
Filters
Please log in to gain access to additional options

Precisely - show only these courses which are related to such open registration which allows you to register for the course.

Additionally, courses which you are already registered for (or applied for registration) are also included.

If you want to change these settings permanently
edit your preferences in the My USOSweb menu.
Key
If course is offered then a registration cart will be displayed.
unavailable (log in!) - you are not logged in
unavailable - currently you are not allowed to register
register - you are allowed to register
unregister - you are allowed to unregister (or withdraw application)
applied - you applied for registration (and you can no longer withdraw it)
registered - you are registered (and you cannot unregister)
Use one of the "i" icons below for additional information.

2024Z - Winter semester 2024/25
2024L - Summer semester 2024/25
2025Z - Winter semester 2025/26
2025L - Summer semester 2025/26
(there could be semester, trimester or one-year classes)
Actions
2024Z 2024L 2025Z 2025L
1000-2M22ALG
n/a n/a n/a
Classes
Winter semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

(in Polish) Wykład opisuje związki pomiędzy logiką a automatami skończonymi. Punktem wyjścia jest klasyczne twierdzenie, że automaty skończone opisują dokładnie te języki, które można zdefiniować w logice monadycznej drugiego rzędu. Wykład omawia daleko idące rozszerzenia tego twierdzenia, dotyczące przede wszystkim obiektów nieskończonych, takich jak nieskończone słowa czy drzewa. Ważną rolę w teorii odgrywają pewne gry matematyczne, przede wszystkim tzw. gry parzystości, w których rozgrywka jest nieskończona.

Course page
1000-2M23DE
n/a n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Overview of the data processing pipeline; collection and storage of raw data; processing, cleaning, and storage of processed data; scaling tools for the data processing system.

Course page
1000-2M25III
(from 2025-10-01)
n/a n/a n/a
Classes
Summer semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description
No brief description found, go to course home page to get more information.
Course page
1000-1M24TDA
n/a n/a n/a
Classes
Summer semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

(in Polish) In this lecture, we will introduce the necessary basic concepts from topology that are needed for the first step into topological data analysis, e.g. topological

spaces, simplicial complexes, homology etc. Parallel to introducing these the- oretical concepts, we also discuss options of how to handle geometric objects

with the help of computers and learn how to implement the learned techniques to analyze data. The lecture will be accompanied by exercise sessions, in which

theoretical and practical (programming) problems will be solved by the students. Prior knowledge of (algebraic) topology will be helpful but not a strict re-

quirement. First experiences with Python is necessary for the practical part.

Course page
1000-2M23TAG
n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
Summer semester 2025/26
  • Lab - 30 hours
Groups

Brief description
No brief description found, go to course home page to get more information.
Course page
1000-2M24ZPS
n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

(in Polish) Techniki programowania umożliwiające rozwijanie niezawodnych i bezpiecznych aplikacji sieciowych.

Course page
1000-2M23STI n/a n/a n/a
Classes
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description
No brief description found, go to course home page to get more information.
Course page
1000-2N09ZBD n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The course will cover various issues which have not fit into the basic database course. Furthermore, the database research domain is so huge that it would not fit into any basic course. The subjects of lectures will be relational database tuning, object-relational mapping, columnar data store, NOSQL stores (key-value, wide-column, document, graph), advanced server programming and distributed databases.

Course page
1000-2M11ZPF n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The lecture aims to present central issues in modern functional programming in languages such as Haskell, Coq, Idris, especially focusing on usung types for program specification and verification.

Course page
1000-2N09ZSO n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The course it is highly recommended for students who plan to attend Master Seminar on Distributed Systems, which is partly devoted to operating systems and in particular distributed operating systems. The course will have a form of lectures and labs.

We plan to view in detail the structure of a specific operating system. The chosen case study is Linux which is modern operating system, popular in the Faculty of Mathematics, Computer Science and Mechanics, University of Warsaw, often used as server platform, but also on desktops, mobiles, as embedded system. Source code of Linux is freely available which gives a unique opportunity to analyze in detail used algorithms, data structures, and also to run experiments and do research in the area of operating systems.

Course page
1000-2M02AA n/a n/a n/a
Classes
Summer semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Game theory was initiated by von Neumann and Morgenstern as a mathematical theory of rational behaviour. A game comprises description of possible moves and payoffs for each of the players. Typically, each player searches for a strategy maximizing her payoff. The rational behaviour of players is well described by the concept of Nash equilibrium.

Course page
1000-2M23ALE n/a n/a
Classes
Summer semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The lecture deals with issues at the intersection of computer science, artificial intelligence and economics. We will discuss key issues from game theory (cooperative and non-cooperative), social choice theory, mechanism design and social network analysis. The lecture will focus on algorithms and solutions that are practically relevant.

Course page
1000-2M24ATM n/a n/a n/a
Classes
Winter semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The lecture connects elements of structural graph theory, parameterised algorithms, and finite model theory. The main theme are algorithmic results called “algorithmic meta-theorems”, which express that entire families of computation problems can be solved efficiently on inputs enjoying specific structural properties. Typically we will consider graph problems for graphs of a particular form. For instance, every computational problem that can be expressed as a first-order sentence can be solved in linear time, on all planar graphs, or all graphs with maximum degree bounded by a fixed constant. This result can be extended to other graph classes (including nowhere dense graph classes, and monadically stable graph classes), and other logics.

Note: Course given in English

Course page
1000-2N00ALG n/a n/a
Classes
Summer semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The course is a continuation of the course "Algorithms and data structures". The aim is to make students acquainted with the methods of constructions of efficient algorithms for various combinatorial problems.

Prerequisities: Algorithms and data structures

Course page
1000-718ADG n/a n/a
Classes
Winter semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Winter semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Algorithmic problems and methods of analysis of high-throughput sequencing data and other large-scale experimental techniques of modern genomics. Topics will include the problems of mapping reads to reference genomes, reconstructing sequenced genomes from reads, classifying and quantifying reads. Methods handling data from different experiments and sequencing technologies, as well as approaches using different types of data together will be presented.

Course page
1000-2M25KST
Applied cryptography (from 2025-10-01)
n/a n/a n/a
Classes
Winter semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description
No brief description found, go to course home page to get more information.
Course page
1000-2N00SID n/a n/a
Classes
Summer semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The course is focused on using intelligent methods for solving problems that are difficult or impractical to solve with other methods. Accordingly, we discuss, among the others, various approaches based on heuristics, approximations, randomized, as well as deductive and inductive schemes of reasoning, often designed by analogy to the human way of problem solving. The main topics include also intelligent search through large spaces of states and solutions, intelligent game strategies, reasoning in logic and logical foundations of planning, foundations of machine learning in relation to artificial intelligence, foundations of modeling of uncertainty, as well as various specialized applications.

Course page
1000-2M13TAU n/a n/a
Classes
Winter semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Winter semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Auctions are a widely used mechanisms for resource exchange and allocation, that finds application in real world (e.g. internet auctions) as well as computational applications (e.g. resource allocation in multi-agent systems and eCommerce). Which auctions are best for the seller and which for the buyers? What is the impact of knowledge of others' valuations? How bad is collusion? Is it hard to determine the winner when bundles of several interdependent objects are being sold? Does it depend on the bidding language?

The aim of this course is to introduce and present the basic issues and problems of arising in auctions and to deepen their understanding via game theory and computational complexity theory.

Course page
1000-2M25AMK
Automata, matrices, codes (from 2025-10-01)
n/a n/a n/a
Classes
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description
No brief description found, go to course home page to get more information.
Course page
1000-2M05ZP n/a n/a
Classes
Summer semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

(in Polish) Kurs podstaw prawa, skupiony na zagadnieniach powiązanych z informatyką. Od podstaw prawa cywilnego, przez własność intelektualną, umowy sprzedaży praw i umowy licencyjne, po odpowiedzialność, prawo karne i ochronę danych osobowych. Kurs zdecydowanie praktyczny, dużo przykładów, dużo przypadków z życia wziętych.

Course page
1000-2M13DZD n/a n/a
Classes
Winter semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Winter semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

The subject consolidates both theoretical and practical knowledge about machine learning and data mining methods in applications related to large, heterogeneous, distributed and dynamically growing data. We discuss problems concerning reliability and quality of data in tasks of teaching effective models for classification, prediction and related applications as well as maintaining the effectiveness of such models applied as components of larger IT systems. We refer to a wide range of practical sources and shapes of data, in particular machine-generated data. We cover a wide range of practical tasks in machine learning and data analysis, e.g. anomaly detection or recognition of similarities. Based on practical examples, we discuss the full life cycle of data and information in processing and analysis systems, including properly integrated solutions based on machine learning and data analysis.

Course page
1000-218bPDD n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

We will present techniques and tools for processing Big data sets on clusters of commodity computers. The main covered technologies are Hadoop and Spark. We will start with introducing architecture of those systems and programming models they assume like MapReduce and Resilient Distributed Dataset. Then we will cover most important algorithmic techniques and methods for analysing and comparing algorithms. Finally, we will discuss typical problems like skew and typical bottlenecks like limited reducer memory as well as methods to deal with those problems. This course will combine theory and practice.

Course page
1000-2M24PZB n/a n/a n/a
Classes
Summer semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

(in Polish) Przedmiot koncentruje się na aplikacjach technologii blockchainowej z pominięciem teorii, która wymagałaby szczegółowego rozważania założeń i dowodzenia twierdzeń.

Wykład jest przede wszystkim przygotowaniem do laboratorium.

Laboratorium jest obowiązkowe i przygotowuje do zaliczenia projektu.

Course page
1000-2M10TKI n/a n/a
Classes
Winter semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Winter semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Universal algebra and category theory are by now two classical areas of mathematics that offer abstract concepts, methods and results which have been widely adopted in foundations of computer science and by now form the standard language to deal with, among others, modelling, design, and systematic construction of complex software systems.

The course recalls basic concepts of universal algebra and introduces the language of category theory, limited to the most elementary and important notions and related results. We hint at least at the possible appliocations of the categorical language in various areas of computer science, for instance in type theory and in foundations of algebraic specifications.

The course will consists of lectures and tutorials, in practice without a strict separation between them. It will be offered in English, but it may be carried out in Polish in case only Polish-speaking studants register.

Course page
1000-2M12TGK n/a n/a n/a
Classes
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Coalitional Game Theory is an actively expanding subfield of game theory. Coalitional games are used to model all these real-world situations where there exists potential synergy among participating agents. Applications of coalitional game theory span from economics and political sciences to medicine and computer science (electronic commerce, multi-agent systems).

Course page
1000-2M16KS n/a n/a n/a
Classes
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Combinatorics of words is a study of properties of words understood as in formal languages.

Course page
1000-719GP2 n/a n/a
Classes
Winter semester 2024/25
  • Lab - 30 hours
  • Lecture - 30 hours
Winter semester 2025/26
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

he lecture aims to familiarize students with selected models, algorithms, and tools used in comparative genomics, particularly on trees, and their application in various contexts. The planned exercises will be partly in the form of a computer laboratory.

Course page
1000-217bMRJ
Compiler construction (from 2025-10-01)
n/a n/a
Classes
Winter semester 2024/25
  • Classes - 30 hours
  • Lab - 30 hours
  • Lecture - 30 hours
Winter semester 2025/26
  • Classes - 30 hours
  • Lab - 30 hours
  • Lecture - 30 hours
Groups

Brief description

An overview of fundamental problems and techniques of interpreter and compiler construction. The central topics of the course are methods and tools of semantic analysis of programs as well as code generation and optimisation for various platforms (JVM, LLVM, assembly).

The course builds upon knnowledge and abilities from the course "Programming Languages and Paradigms" (or an equivalent course).

Completing the course should enable students to create a compiler for a simple programming language.

Course page
1000-218bZO
Computational complexity (from 2025-10-01)
n/a n/a
Classes
Winter semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Winter semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Complexity theory is complementary to algorithmics. While algorithmics provides efficient solutions of computational problems, complexity theory explains why some problems are too hard to be solved by good algorithms, and classifies problems according to their difficulty. It also evaluates various features that may enhance the traditional model of computation, like randomness, parallelism, interaction, or quantum effects.

Course page
1000-2M24ZAZ n/a n/a
Classes
Summer semester 2024/25
  • Classes - 30 hours
  • Lecture - 30 hours
Summer semester 2025/26
  • Classes - 30 hours
  • Lecture - 30 hours
Groups

Brief description

Complexity theory classifies problems according to their difficulty and explains why some problems are too hard to be solved by good algorithms. This lecture is a continuation of the “Computational complexity” course. We will discuss classic topics of complexity theory that did not fit into that course.

Course page
ul. Banacha 2
02-097 Warszawa
tel: +48 22 55 44 214 https://www.mimuw.edu.pl/
contact accessibility statement site map USOSweb 7.1.1.0-7169e5891 (2025-04-24)