1
FACULTY OF COMPUTER SCIENCE
AND INFORMATION TECHNOLOGY
LIST OF COURSES FOR ACADEMIC YEAR 2017/2018
If you have any questions regarding courses please contact person responsible for the course or faculty
coordinator directly.
Course code
(if applicable)
Course title Person responsible for the course Semester
(winter/summer)
ECTS
points
CTN Computer and Telecommunication
Networks Ph.D. Eng. Remigiusz Olejnik winter/summer 4
LAT LaTeX – Document Preparation System
for Engineers Ph.D. Eng. Remigiusz Olejnik winter/summer 2
ARD Arduino – an Introduction to the Internet
of Things Ph.D. Eng. Remigiusz Olejnik winter/summer 10
CSA Computer System Architecture Ph.D. Eng. Mariusz Kapruziak winter/summer 4
FDC FPGA Design and Reconfigurable
Computing Ph.D. Eng. Mariusz Kapruziak winter/summer 4
MDS Microprocessor Design and Soft-
processors Ph.D. Eng. Mariusz Kapruziak winter/summer 5
MAD Mobile Application Development Ph.D. Eng. Radosław Maciaszczyk winter 4
ANN Artificial Neural Networks and their
Application in System Modeling Ph.D. Eng. Marcin Pluciński winter/summer 2
SEC Software for Engineering Calculations Ph.D. Eng. Marcin Pluciński winter/summer 3
DAM Data Analysis and Machine Learning Ph.D. Hab. Eng. Przemysław Klęsk winter/summer 3
DMA Data Mining Algorithms Ph.D. Hab. Eng. Przemysław Klęsk winter/summer 4
IAI Introduction to Artificial Intelligence Ph.D. Hab. Eng. Przemysław Klęsk winter/summer 3
MIG Methods of Artificial Intelligence in
Games Ph.D. Hab. Eng. Przemysław Klęsk winter/summer 3
CVI Computer Vision and Fast Object
Detection Ph.D. Hab. Eng. Przemysław Klęsk winter/summer 3
ESY Expert Systems Ph.D. Eng. Joanna Kołodziejczyk winter/summer 4
PPA Prolog Programming for Artificial
Intelligence Ph.D. Eng. Joanna Kołodziejczyk winter/summer 4
BIA Biologically Inspired Algorithms Ph.D. Eng. Joanna Kołodziejczyk winter/summer 5
RPL Ruby Programming Language Ph.D. Eng. Joanna Kołodziejczyk winter/summer 3
RRF Ruby on Rails Framework for Web
Development Ph.D. Eng. Joanna Kołodziejczyk winter/summer 3
CPL C# Programming Language M.Sc. Eng. Marcin Pietrzykowski winter/summer 4
HMM Hidden Markov Models and its
Applications M.Sc. Eng. Marcin Pietrzykowski winter/summer 3
FPL F# Programming Language M.Sc. Eng. Marcin Pietrzykowski winter/summer 4
GUI Graphical User Interface in .NET M.Sc. Eng. Marcin Pietrzykowski winter/summer 3
IDS Intelligent Decision Systems M.Sc. Eng. Wojciech Sałabun winter/summer 6
IMP Intro to Mathematical Programming M.Sc. Eng. Wojciech Sałabun winter/summer 6
2
3DP Arduino Microcontroller: 3D Printer M.Sc. Eng. Wojciech Sałabun winter/summer 6
KED Knowledge Extraction from Data with
Rough Set Method and its Applications
Prof. Andrzej Piegat
M.Sc. Eng. Wojciech Sałabun winter/summer 6
EFL
Essentials of Fuzzy Logic and its
Applications to System Modeling and
Control
Prof. Andrzej Piegat
M.Sc. Eng. Wojciech Sałabun winter/summer 6
PD1 Programmable Control Devices 1 – Logic
Control Systems Ph.D. Eng. Sławomir Jaszczak winter/summer 5
PD2 Programmable Control Devices 2 –
Continuous Control Systems Ph.D. Eng. Sławomir Jaszczak summer 5
STE Software Testing Ph.D. Eng. Mirosław Mościcki winter/summer 4
JAV Java programming Ph.D. Eng. Tomasz Wierciński winter/summer 6
SFP Spring Framework Programming Ph.D. Eng. Tomasz Wierciński winter/summer 6
CPR Cloud Programming Ph.D. Eng. Łukasz Radliński winter/summer 4
SEN Software Engineering Ph.D. Eng. Łukasz Radliński winter/summer 4
C++ C++ Programming Language Ph.D. Eng. Agnieszka Konys winter/summer 4
ODI Ontology: Design and Implementation Ph.D. Eng. Agnieszka Konys winter/summer 4
BCI Brain-Computer Interface Ph.D. Hab. Izabela Rejer winter/summer 4
BSA Brain Signal Analysis in Matlab
Environment Ph.D. Hab. Izabela Rejer winter/summer 4
CSI Computer Simulation Ph.D. Eng. Przemyslaw
Korytkowski winter/summer 6
DCM Digital Color Management Ph.D. Eng. Przemyslaw
Korytkowski winter/summer 6
DSY Database Systems Ph.D. Eng. Przemyslaw
Korytkowski winter/summer 6
HAD HTML5 Web Applications Development Ph.D. Eng. Bartłomiej
Małachowski winter/summer 3
RES Programming RESTful Web Services in
Java
Ph.D. Eng. Bartłomiej
Małachowski summer 3
MBV Management and Business
Communication Virtualisation Ph.D. Eng. Piotr Sulikowski summer 3
DDO Dynamic Documents and Front-end Web
Development Ph.D. Eng. Jarosław Jankowski winter 3
ECO E-commerce and Online Marketing
Technologies Ph.D. Eng. Jarosław Jankowski winter 3
CGP Computer Games Programming Ph.D. Hab. Eng. Radosław
Mantiuk summer 4
VSS Video Surveillance Systems Ph.D. Eng. Adam Nowosielski winter/summer 3
HCI Human-Computer Interaction Ph.D. Eng. Adam Nowosielski winter/summer 3
3
Course title COMPUTER AND TELECOMMUNICATION NETWORKS
Field of study Computer Science
Teaching method lecture and laboratory
Person responsible
for the course Dr. Eng. Remigiusz Olejnik
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) CTN ECTS points 4
Type of course compulsory Level of course Bachelor / Master
Semester winter / summer Language of instruction English
Hours per week 2 (lecture) + 2 (laboratory) Hours per semester 60
Objectives of the
course
Knowledge of reference models, network standards, protocols of data link layer, network,
transport and application layers. Knowledge of current wired and wireless network solutions.
Ability of network’s performance evaluation. Ability of simple home/office network building.
Basic algorithms of data link, network and application layer implementation ability.
Diagnosing of workstation’s network problems ability.
Entry requirements /
prerequisites Basics of programming; Architecture of computer systems; Operating systems fundamentals
Course contents
Introduction to computer networks. Physical layer, transmission media, multiplexing
techniques, circuit and packet switching. Data link layer, error detection, flow control, ALOHA
and CSMA protocols, protocols without collisions, Ethernet, wireless local area networks,
interconnecting. Network layer, routing algorithms and protocols, quality of service, Internet
Protocol. Transport layer, protocols, addressing, flow control,
UDP, TCP and RTP protocols, Nagle’s and Clarke’s algorithms. Application layer, DNS, e-mail,
WWW, multimedia applications of the networks.
Assessment methods Written exam (lecture); written reports (laboratory).
Learning outcomes Students will acquire knowledge and skills on networking basics.
Required readings 1. A. S. Tanenbaum, D. J. Wetherall “Computer Networks” (5th edition), Pearson Education,
Boston 2011
Supplementary
readings 1. M. Hassan, R. Jain, “High Performance TCP/IP Networking”, Prentice Hall, 2003
Additional
information
Course title LaTeX – DOCUMENT PREPARATION SYSTEM FOR ENGINEERS
Field of study Computer Science
4
Teaching method lecture and laboratory
Person responsible
for the course Dr. Eng. Remigiusz Olejnik
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) LAT ECTS points 2
Type of course optional Level of course Bachelor / Master /
Doctoral
Semester winter / summer Language of instruction English
Hours per week 1 (lecture) + 1 (laboratory) Hours per semester 30
Objectives of the
course Practical skills in typesetting of engineering documents using LaTeX system.
Entry requirements /
prerequisites
Course contents
Lecture:
Description of the installation and initialization of the package, setting of environment
variables, hyphenation file. LaTeX input file and the principles of its building, permanent
elements of the file. Structure of the document: the division of the document into parts,
chapters, sections, paragraphs, etc., title page, the main file and included files, creating of a
table of contents, table of figures and tables, attaching a bibliography, creating an index,
references to the labels, usage of the counters. Defining own classes of documents: building
of the style definition file and possibilities of changing its content. Defining of running heads
for page headings and footers, defining of parameters for lists, floating objects, defining of
headers for chapter and subsections, changing of the format of the table of contents and
bibliography. Predefined classes of document and format, format definition file declared in
the preamble (page size, the type of numbering, margins, running head, footer). Defining the
type and size of fonts, special characters, accents, Polish diacritic characters. Length measures,
horizontal and vertical spacing, references, breaking
lines and pages. Defining of indivisible elements. Multiple columns usage. Greek and Cyrillic
alphabet. Mathematical texts: mathematical environment, using mathematical expressions
and symbols (indices, fractions, roots, equations and their systems, matrices, complex
formulas), spacing and bold in math mode. Special text structures: defining minipages, lists
and tables, creating pictures and including them into document, language of geometric
figures definition. Changes to the definitions, creating of own definitions and defining a new
environment. Creating new variable objects. Correction of the errors: error messages and
warnings in LaTeX and TeX, error correction capabilities.
Laboratory:
Preparing of documents of increasing complexity; changing of the font type and size, defining
of the text layout, tables, complex mathematical formulas and mathematical texts; creating
and inserting pictures; analysis of style files and preparation own styles for journals, books,
reports and thesis; merging results of all exercises in a single document with the form of a
book, with table of contents, bibliography, appendices and index.
Assessment methods Lecture - oral exam. Laboratory work - evaluation of submitted document that has been
prepared during the course.
Learning outcomes Students will acquire knowledge and practical skills in typesetting of engineering documents
using LaTeX system.
Required readings 1. L. Lamport “LaTeX: A Document Preparation System”, Addison-Wesley, Boston 1994
Supplementary
readings
1. F. Mittelbach et al. “The LaTeX Companion (Tools and Techniques for Computer
Typesetting)”, Addison-Wesley, Boston 2004
5
Additional
information
Course title ARDUINO – AN INTRODUCTION TO THE INTERNET OF THINGS
Field of study Computer Science
Teaching method lecture, laboratory and project
Person responsible
for the course Dr. Eng. Remigiusz Olejnik
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) ARD ECTS points 10
Type of course optional Level of course Bachelor / Master
Semester winter / summer Language of instruction English
Hours per week
2 (lecture)
4 (laboratory)
4 (project)
Hours per semester 150
Objectives of the
course
To gain:
1. theoretical and practical skills in Arduino programming,
2. ability of advanced hardware projects preparation.
Entry requirements /
prerequisites Basics of: C programming, electronics and computer systems architecture.
Course contents
Lecture:
1. Introduction to Arduino, its hardware and software design, IDE.
2. The art of Arduino programming – sketch and its structure: setup(), loop(), comments;
data types; variables; arithmetic, logical, conditional, relational, increment operators;
constants; functions; flow control: if, if...else, for, while, do...while; arrays; strings;
digital I/O; analog I/O; time; math; random; serial communication; libraries; PWM;
interrupts; I2C; SPI; SD card; wired and wireless networking.
3. Detailed overview of all sensors that will be used during laboratory.
Laboratory:
1. Examples built-in the IDE. Hello world! sketch.
2. Using of breadboard, resistors and LEDs, buttons, switches, digital inputs, analog
inputs, digital outputs, PWM.
3. Light: LED, fading LED, 2-color LED, RGB LED, LED bar graph, 7-digits LED display,
dot-matrix LED display, LCD display.
4. Sensors: humidity, temperature, pressure, raindrops, PIR, ultrasonic, sound, knock,
vibration, photo resistor, tilt, infrared, Hall magnetic, rotary encoder, flame, joystick,
metal touch, mercury switch, detection of gases, 3D accelerometer, obstacle
avoidance IR, optical broken light, laser.
5. Outputs: motor control: DC motor, servo motor, stepper motor; relay module
6. Sound: tone library, microphone, buzzer, speaker.
7. Analog and digital inputs: reading analog voltage, external keyboard and mouse.
8. RFID module, SD storage, GPS receiver.
9. Ethernet shield, wireless communication.
Project:
Implementation of selected problem:
6
1. Hardware design proposal.
2. Software implementation of the problem's solution.
3. Preparation of the project's documentation.
Assessment methods
Lecture – written exam.
Laboratory – evaluation of the reports submitted after each class.
Project – evaluation of the final project, along with its documentation.
Learning outcomes Students will gain theoretical and practical skills in Arduino programming, along with ability
of advanced hardware projects preparation.
Required readings
1. Michael Margolis “Arduino cookbook”, O’Reilly, 2013
2. John Boxall “Arduino workshop: a hands on introduction with 65 projects”, No Starch
Press, 2013
3. Arduino Home https://www.arduino.cc/
Supplementary
readings
1. Adeel Javed “Building Arduino projects for the Internet of Things: experiments with real-
world applications”, Apress, 2016
Additional
information
Maximum number of the students in one group: 6
All the materials related to this course will be available under:
http://rolejnik.zut.edu.pl/Arduino
Course title COMPUTER SYSTEM ARCHITECTURE
Field of study Computer Science, Electronics
Teaching method Lectures + Laboratories
Person responsible
for the course PhD eng Mariusz Kapruziak
E-mail address to the
person responsible for
the course
Course code
(if applicable) CSA ECTS points 4
Type of course compulsory Level of course Bachelor
Semester winter / summer Language of instruction English
Hours per week Lecture 2, Labs: 2. Hours per semester Lecture 30, Labs: 30.
Objectives of the
course
Computer architectures, starting from von-Neumman and first electronics computers ending
in supercomputers based on networks of superscalar machines, low power pervasive
computing and modern alternatives to classical schema (like reconfigurable computing).
Entry requirements /
prerequisites none
Course contents
Von Neumann machine and advent of commercial computers, basics of execution and control
unit functionality (on example of x86 and PIC architecture), memory hierarchy and cache
memory (its influence on efforts on program code optimization in particular), ARM
architecture and low power designs (like palmtops, smartphones), protected mode and its
influence on modern operation systems, driver design for MS Windows and Linux systems.
Instruction Level Paralellism (especially superscalar and VLIW/DSP architectures). Modern
7
microprocessors. Supercomputers and networks of computers aimed to solve particular
problems. Reconfigurable systems and modern alternatives to von Neumann machines.
Assessment methods Final Exam and Laboratory reports
Learning outcomes
1. Basics of practical low level programming
2. Basics of programm optimization.
3. Skill to read computer architecture from schematic.
4. Knowledge of general concept and history of computer system architectures.
5. Knowledge of general mechanisms from computer system architectures.
Required readings 1) W. Stallings, Computer Organization and Architecture, Prentice Hall 2015
2) P.E. Ceruzzi, A History of Modern Computing, The MIT Press 2003
Supplementary
readings
1) J. Stokes, Inside the Machine, No Starch Press, 2010
2) J. Silc, B. Robic, T Ungerer, Processor Architecture From Dataflow to Superscalar and
Beyond, Springer Verlag 1999
3) W. Oney, Programming the Microsoft Windows Driver Model, Microsoft Press 2003
4) P. Raghavan, A. Lad, S. Neelakandan, Embedded Linux System Design and Development,
Auerbach Publications 2006
5) P. Orwick, G. Smith, Developing Drivers with the Windows Driver Foundation, Microsoft
Press 2007
6) D. Bovet, Understanding the Linux Kernel, O’Reilly 2005
7) K. Kaspersky, Code Optimization: Effective Memory Usage, A-List Publishing 2003.
Additional
information
Course title FPGA DESIGN AND RECONFIGURABLE COMPUTING
Field of study Computer Science, Electronics
Teaching method Lectures + Laboratories
Person responsible
for the course PhD eng Mariusz Kapruziak
E-mail address to the
person responsible for
the course [email protected]
Course code
(if applicable) FDC ECTS points 4
Type of course compulsory Level of course Bachelor
Semester winter / summer Language of instruction English
Hours per week Lecture 1, Labs: 2. Hours per semester Lecture 15, Labs: 30.
Objectives of the
course
Teach how to deal with and encourage to use reconfigurable devices as a well-established
alternative to von-neumann and DSP processors.
Entry requirements /
prerequisites none
Course contents
FPGA/CPLD devices architecture, Verilog language, basics of VHDL language, SystemVerilog
and TLM (Transaction Level Modeling), synthesis methodology, emerging and
experimental/future reconfigurable architectures, dynamic reconfiguration, typical soft-
processor designs, FPGA implementations of DSP algorithms.
8
Assessment methods Final Exam and Laboratory reports
Learning outcomes 1. Verilog programming.
2. Practical programming for FPGA, especially in the field of Digital Signal Processing.
Required readings 1) Blaine Readler, Verilog by Example: A Concise Introduction for FPGA Design, Full Arc Press
2011
Supplementary
readings
1. C.M. Maxfield, The Design Warrior’s Guide to FPGAs, Linacre House 2004
2) Xilinx, Spartan-3 FPGA Family Complete Datasheet, 2007
3) G. De Micheli, Synteza i optymalizacja układów cyfrowych, WNT 1998
4) S. Sutherland, S. Davidmann, P. Flake, SystemVerilog for Design, A Guide to Using
SystemVerilog for Hardware Design and Modeling, Springer
5) K.K. Parhi, VLSI Digital Signal Processing Systems, John Wiley & Sons 1999
6) S. Kilts, Advanced FPGA Desing, John Wiley & Sons, 2007
7) S. S. Bhattacharyya, Hardware/Software Co-synthesis of DSP Systems, Programmable
Digital Signal Processors, 2001
8) L. Wanhammar, DSP Integrated Circuits, Academic Press 1999
9) H. Corporal, Microprocessor Architectures from VLIW to TTA, John Wiley & Sons 1998
Additional
information
Course title MICROPROCESSOR DESIGN AND SOFT-PROCESSORS
Field of study Computer Science, Electronics
Teaching method Lectures + Laboratories
Person responsible
for the course PhD eng Mariusz Kapruziak
E-mail address to the
person responsible for
the course
Course code
(if applicable) MDS ECTS points 5
Type of course compulsory Level of course Bachelor
Semester winter / summer Language of instruction English
Hours per week Lecture 1, Labs: 1, project: 1 Hours per semester Lecture 15, Labs: 15,
project: 15
Objectives of the
course
Designing unique processors dedicated for particular tasks, deep understanding of processor
functionality and acquiring skills to design your own processor.
Entry requirements /
prerequisites Computer System Architecture, FPGA Design and reconfigurable computing
Course contents
Different implementations of ALU from inside; synthesis of control unit; Internal bus
implementations and its alternatives; low power technologies – methodologies, its
advantages and pitfalls; cache, superscalar schemes and other probabilistic alternatives;
formal methodologies for assessing processor performance and hardware-software
cosynthesis; DSP specific designs, dynamic instruction set processors and processors with
dynamic structure; arrays and networks of processors in one chip. Commercial and open
projects for processor design on FPGA.
9
Assessment methods Final Exam and Laboratory reports + Project
Learning outcomes
1. Practical uP programming for ARM processors.
2. Practical soft processor program in FPGA.
3. Knowledge of processor designing techniques.
Required readings
Supplementary
readings
1) P. Ienne, R. Leupers, Customizable Embedded Processors: Design Technologies and
applications, Morgan Kaufmann, 2006
2) J. Nurmi, Processor Design: System-On-Chip Computing for ASICs and FPGAs, Springer
2007
3) D. Liu, Kindle, Embedded DSP Processor Design, Volume 2: Application Specific Instruction
Set Processors, Morgan Kaufmann 2008
4) W. Stallings, Computer Organization and Architecture, Prentice Hall 2003
5) J. Stokes, Inside the Machine, No Starch Press, 2007
6) J. Silc, B. Robic, T Ungerer, Processor Architecture From Dataflow to Superscalar and
Beyond, Springer Verlag 1999
7) K. Kaspersky, Code Optimization: Effective Memory Usage, A-List Publishing 2003
Additional
information
Course title MOBILE APPLICATION DEVELOPMENT
Field of study COMPUTER SCIENCE
Teaching method Lectures and laboratories
Person responsible for
the course
Ph.D. Eng. Radosław
Maciaszczyk
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) MAD ECTS points 4
Type of course optional Level of course Bachelor
Semester winter Language of instruction English
Hours per week
Lecture: 1
Labs: 1
Project: 1
Hours per semester
Lecture: 15
Labs: 15
Project: 15.
Objectives of the
course
Course providers concepts, tools and APIs needed to create applications for mobile devices
with Android OS
Entry requirements /
prerequisites
Required: Knowledge of at least one object programming language Preferred: Java
language
Course contents
Introducing to mobile device, The History of Android, Application Fundamentals, Activity
lifecycle, User Interface, Sensors, Threads and Services, Storing and retrieving data,
Networking, Multimedia, Location Services.
Assessment methods Written exam, project work,
10
Learning outcomes Students knows Android components, how to create a UI, how to communicate with other
local services and network applications and storage data.
Required readings
1. Ian F. Darwin, Android Cookbook, Problems and Solutions for Android Developers, O'Reilly
2012
2. Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura, Programming Android,
2nd Edition-Java Programming for the New Generation of Mobile Devices, O'Reilly 2012
3. http://d.android.com
Supplementary
readings
1. Mark L. Murphy, The Busy Coder's Guide to Android Development, CommonsWare – Digital
version - http://commonsware.com/Android/
Additional
information
Course title ARTIFICIAL NEURAL NETWORKS AND THEIR APPLICATION IN SYSTEM
MODELLING
Field of study computer science
Teaching method lecture, laboratory exercises
Person responsible for
the course Ph.D. Eng. Marcin Pluciński
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) ANN ECTS points 2
Type of course optional Level of course Bachelor
Semester winter/summer Language of instruction English
Hours per week lecture: 1 hour
lab. exercises: 1 hour Hours per semester
lecture: 15 hours
lab. exercises: 15 hours
Objectives of the
course
Extending of the knowledge about artificial neural networks, their construction, operation
and learning techniques.
Gaining practical skills in the application of neural networks to solve real tasks of modeling
and classification.
Familiarization with the software that could be used in tasks of modeling and classification
using neural networks.
Entry requirements /
prerequisites
Basics of algebra and mathematical analysis.
Basics of computer science.
Course contents
The introduction to neural networks. Feed-forward neural networks. The structure and
operation of the artificial neuron.
Simple Perceptron network - structure and learning methods. Example of learning and
action of the network. Selected applications of the Perceptron network.
Feed-forward multilayer neural networks. Network learning methods - backpropagation.
Examples of learning and operation of the network. Selected network applications.
Selection of the optimal network architecture.
Neural networks with radial basis function - RBF neural networks. Structure and learning
methods. Examples of applications. Probabilistic neural networks.
Self-organizing networks - unsupervised learning algorithms. The strucrure and operation
of networks. Kohonen's network and learning algorithm. Examples of applications of self-
organizing networks.
11
Recursive networks - Hopfield network, Hamming network. Construction, operation,
learning methods. Examples of network applications.
Assessment methods
Lecture: written test.
Laboratory: evaluation of tasks carried out during the classes, evaluation of reports,
evaluation of final work.
Learning outcomes Gaining theoretical knowledge and practical skills in the application of neural networks to
solve real tasks of modeling and classification.
Required readings
1. David Kriesel, A Brief Introduction to Neural Networks, 2012
2. James A. Freeman, David M. Skapura, Neural Networks: Algorithms, Applications, and
Programming Techniques, Addison-Wesley Publishing Company, 2005
Supplementary
readings
Additional
information
Course title SOFTWARE FOR ENGINEERING CALCULATIONS
Field of study computer science
Teaching method lecture, laboratory exercises
Person responsible for
the course Ph.D. Eng. Marcin Pluciński
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) SEC ECTS points 3
Type of course obligatory Level of course Bachelor
Semester winter/summer Language of instruction English
Hours per week lecture: 1 hour
lab. exercises: 2 hours Hours per semester
lecture: 15 hours
lab. exercises: 30 hours
Objectives of the
course
The main objective of the course is to give fundamental knowledge about two exemplary
programs supporting engineering calculations: Mathcad and MATLAB.
During the course, students will acquire the skill of working in both programs, programming
in MATLAB and solving common tasks of engineering.
Entry requirements /
prerequisites
Basics of computer science
Basics of algebra and mathematical analysis.
12
Course contents
During the first part of the course, students will learn features and functions of Mathcad Prime
– the tool for solving and visualizing mathematical and engineering problems. Its flexible
calculation and documentation environment is recognized as the easiest to use GUI-based
math software to document and compute an engineering problem with mathematical
notation. At the end of this lecture a student should be able to:
construct and evaluate mathematical expression numerically,
define variables and use them in subsequent calculations,
create 2D and 3D plots,
solve equations,
perform symbolic algebraic manipulations,
format Mathcad sheets for readability by changing answer precision, and aligning
regions.
The second part of the course introduces the student to the programming in MATLAB to
develop scientific and engineering models. The student will be able to write beginner level
programs that include conditional statements, loops, input/output of files, modular
programming including subprograms, and matrix manipulation. Main topics:
introduction to Matlab environment,
defining matrices,
matrix manipulations,
data structures,
2D and 3D graphics,
creating Matlab functions,
Simulink and other advanced Matlab subjects.
Assessment methods lecture: practical exam
laboratory exercises: evaluation of student works and programs
Learning outcomes Fundamental skills in working in Mathcad.
Fundamental skills in working and programming in MATLAB.
Required readings MATLAB – the Language of Technical Computing, The MathWorks Inc. (available online)
1. Introduction to MathCAD Prime - An Online Course for Engineers (available online)
Supplementary
readings
Additional
information
Course title DATA ANALYSIS AND MACHINE LEARNING
Field of study Computer Science
Teaching method lectures (15 h), laboratories (15 h)
Person responsible for
the course
Przemysław Klęsk,
Ph.D. Hab. Eng.
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) DAM ECTS points 3
Type of course obligatory Level of course bachelor (or master)
13
Semester winter or summer Language of instruction English
Hours per week lecture (1 h),
laboratories (1 h) Hours per semester
lectures (15 h),
laboratories (15 h)
Objectives of the
course
To explain to students the posing of learning problems based on the data. To teach students
data processing and analysis techniques, plus learning algorithms with focus on the
generalization property and model complexity selection.
Entry requirements /
prerequisites Algorithmics. Mathematics. Good skills in programming.
Course contents
Review of elements of probability calculus and statistics. Principal component analysis (PCA).
Classification and Regression Trees (CART) algorithm. Margin of separation in pattern
recognition and Support Vector Machines (SVM) algorithm. Regression estimation task and
Multivariate Adaptive Regression Splines (MARS) algorithm. Clustering analysis – K-means
algorithm.
Assessment methods
Lecture: written exam (single-choice test).
Laboratories: grades for programs (Matlab) implementing the algorithms presented at
lectures.
Learning outcomes Student understands and is able to implement state-of-the-art techniques and algorithms for
data analysis and machine learning.
Required readings 1. Hastie, T. and Tibshirani, R. and Friedman, J., "The Elements of Statistical Learning: Data
Mining, Inference, and Prediction", Springer, 2009
Supplementary
readings
1. Bishop, C., "Pattern recognition and machine learning", Information Science and Statistics,
2007
Additional
information
Based on work done during laboratory classes, students prepare homework assignments
(programming) using data of their choice, e.g.: spam filter, wine classifier, optical
digits/characters recognition, or similar. Some ready-made datasets accessible at UCI
machine learning repository (http://archive.ics.uci.edu/ml/).
Course title DATA MINING ALGORITHMS
Field of study Computer Science
Teaching method lectures (15 h), laboratories (30 h)
Person responsible for
the course
Przemysław Klęsk,
Ph.D. Hab. Eng.
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) DMA ECTS points 4
Type of course obligatory Level of course master (or bachelor)
Semester winter or summer Language of instruction English
Hours per week lecture (1 h),
laboratories (2 h) Hours per semester
lectures (15 h),
laboratories (30 h)
14
Objectives of the
course
To show to students different types of data mining and learning tasks that can be performed
on large data sets. To teach them algorithms to solve these tasks and to discover interesting
patterns in data.
Entry requirements /
prerequisites Algorithmics. Mathematics. Good skills in programming.
Course contents
Review of selected elements of probability calculus and statistics. Naive Bayes classifier
(derivation and implementation issues). Classifier's accuracy measures. Induction (search) of
association rules in shopping data - Apriori algorithm. Induction of decision rules, Pareto-
optimal rules, rules assessment measures. Decision trees - CART algorithm, tree pruning
techniques. Boosting as a meta learning technique.
Assessment methods
Lecture: written exam (single-choice test).
Laboratories: grades for programs (Matlab) implementing the algorithms presented at
lectures.
Learning outcomes Student understands and is able to implement state-of-the-art algorithms for data mining.
Required readings 1. Hastie, T. and Tibshirani, R. and Friedman, J., "The Elements of Statistical Learning: Data
Mining, Inference, and Prediction", Springer, 2009
Supplementary
readings
1. Bishop, C., "Pattern recognition and machine learning", Information Science and Statistics,
2007
Additional
information
Based on work done during laboratory classes, students prepare homework assignments
(programming) using data of their choice, e.g.: spam filter, wine classifier, optical
digits/characters recognition, or similar. Some ready-made datasets accessible at UCI
machine learning repository (http://archive.ics.uci.edu/ml/).
Course title INTRODUCTION TO ARTIFICIAL INTELLIGENCE
Field of study Computer Science
Teaching method lectures (15 h), laboratories (15 h)
Person responsible for
the course
Przemysław Klęsk,
Ph.D. Hab. Eng.
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) IAI ECTS points 3
Type of course obligatory Level of course bachelor
Semester winter or summer Language of instruction English
Hours per week lecture (1 h),
laboratories (1 h) Hours per semester
lectures (15 h),
laboratories (15 h)
Objectives of the
course
To teach students algorithms allowing to solve elementary problems within AI. In particular:
search problems for graphs and game trees, pattern recognition problems and discrete
optimization problems.
Entry requirements /
prerequisites Algorithmics. Mathematics. Good skills in programming and object-oriented programming.
15
Course contents
Problems posed within AI and definitions of artificial thinking (Turing's imitation game,
Minsky's views). Search problems: sudoku, minimal sudoku, sliding puzzle, n-queens problem;
and graph based search algorithms: A*, Best-first search, Dijkstra's algorithm. Game
problems: chess, checkers, connect 4; and game-tree search algorithms: MIN-MAX, alpha-
beta pruning.
Pattern recognition with elementary neural networks: simple perceptron, multi-layer
perceptron. Discrete optimization problems: knapsack problem, traveling salesman problem;
solutions with genetic algorithms.
Assessment methods
Lecture: written exam (single-choice test).
Laboratories: grades for programs (Java or C++, Matlab) implementing the algorithms
presented at lectures.
Learning outcomes
Theoretical and practical knowledge of algorithms for solving problems posed withing AI:
search problems (graphs and game-trees), classification problems, discrete optimization
problems.
Required readings 1. "Introduction to Artificial Intelligence, A Modern Approach" S. Russel, P. Norvig, 3rd edition,
Prentice Hall, 2010
Supplementary
readings
2. "State-space search: Algorithms, Complexity, Extensions, and Applications” W. Zhang,
Springer, 1999
3. Prepared pdf materials available online at: http://wikizmsi.zut.edu.pl/wiki/ItAI
Additional
information none
Course title METHODS OF ARTIFICIAL INTELLIGENCE IN GAMES
Field of study Computer Science
Teaching method lectures (15 h), laboratories (15 h)
Person responsible for
the course
Przemysław Klęsk,
Ph.D. Hab. Eng.
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) MIG ECTS points 3
Type of course facultative, optional Level of course master
Semester winter or summer Language of instruction English
Hours per week lecture (1 h),
laboratories (1 h) Hours per semester
lectures (15 h),
laboratories (15 h)
Objectives of the
course
To teach students advanced techniques/algorithms in search problems and game-
playing problems. Special regard to: games of imperfect information and games with random
elements, dynamic or online-observable environments.
Entry requirements /
prerequisites
Algorithmics. Mathematics. Good skills in programming and object-oriented programming.
Introduction to artificial intelligence.
Course contents Search problems in dynamic environments or environments with imperfect information
– D*/Stentz algorithm. Elements of game theory – zero-sum games, MINIMAX theorem,
16
optimal mixed strategy, Nash equilibrium. Braess paradox. Games with tree
representations, games complexity measures. Fail-soft, fail-hard alpha beta pruning,
Knuth-Moore theorem. Quiescence, refutation tables, killer heuristic. Scout algorithm,
zero-width search windows (negamax, negascout).
Expecti minimax. Montecarlo approaches to card games. Reinforcement learning, Q-learning
algorithm.
Assessment methods
Lecture: written exam (single-choice test).
Laboratories: inventive programs, written in pairs, competing against programs by other
students.
Learning outcomes
Student understands: basic concepts from game theory, advanced search techniques for
game trees, algorithms for decision support in environments of imperfect information of with
random elements.
Required readings 1. "State-space search: Algorithms, Complexity, Extensions, and Applications” W. Zhang,
Springer, 1999
Supplementary
readings
2. "Chess programming I-V" D. Laramee, 2000
3. Prepared pdf materials available online at: http://wikizmsi.zut.edu.pl/wiki/MoAIiCG
Additional
information none
Course title COMPUTER VISION OF FAST OBJECT DETECTION
Field of study Computer Science
Teaching method lectures (15 h), laboratories (15 h)
Person responsible for
the course
Przemysław Klęsk,
Ph.D. Hab. Eng.
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) CVI ECTS points 4
Type of course facultative, optional Level of course master (or doctorial)
Semester winter or summer Language of instruction English
Hours per week lecture (1 h),
laboratories (1 h) Hours per semester
lectures (15 h),
laboratories (15 h)
Objectives of the
course
To familiarize students with techniques and algorithms related to detection of objects in
digital images.
Entry requirements /
prerequisites Algorithmics. Mathematics. Good skills in programming.
Course contents
Computational complexity of detection procedures based on a sliding window. Extraction of
image features using integral images - constant-time cost per feature. Haar wavelets and
Haar-like features. HoG (Histogram of Gradients) descriptor. Augmenting HoG with integral
images. Parameterization of feature space. Boosting as a learning meta-algorithm suitable
for large-scale data and computer vision tasks. Properties of AdaBoost and RealBoost
algorithms. Accuracy measures of detectors (sensitivity, FAR, ROC curves, AUC, F1). Cascades
of classifiers.
17
Assessment methods
Lecture: written exam (single-choice test).
Laboratories: own implementation of face detector (or human detector) - a project per whole
semester (programming languange of student's choice)
Learning outcomes Student understands the modern approach and to feature extraction and detection tasks
with the focus on computational complexity and high accuracy.
Required readings 1. Cyganek, B., "Object Detection and Recognition in Digital Images: Theory and Practice",
Wiley, 2013
Supplementary
readings 1. pdf materials prepared by lecturer
Additional
information none
Course title EXPERT SYSTEMS
Teaching method Lecture and laboratory
Person responsible for
the course Ph.D. Eng. Joanna Kołodziejczyk
E-mail address to the
person responsible for
the course
Course code
(if applicable) ESY ECTS points 4
Type of course Optional Level of course bachelor/master
Semester winter/summer Language of instruction English
Hours per week 1 (L) + 2 (Lab) Hours per semester 15 (L) + 30(Lab)
Objectives of the
course
The outcome of the course is basic knowledge in expert systems and the ability to recognize
areas of implementation. Students will be able to design, build and implement rule-based
expert systems. CLIPS basic programming skills will be acquired.
Entry requirements Algorithms and data structures
Course contents
(L) A brief introduction to expert systems including the most prominent examples
(3h). Knowledge representation paradigms (with emphasis on rule-based systems) (4h) Study
of logic and inference rules. (2h) Basic aspects of reasoning under uncertainty. Systems under
uncertainty: Bayesian reasoning, certainty factors and fuzzy expert systems(6h).
(Lab) Fundamentals od CLIPS language: designing facts and rules. (5h) Developing user
interface/dialog in CLIPS.(5h) Advanced commands.(4h) How to use slots, functions, variables,
numerical calculation, loops.(6h) Developing systems with uncertainty using e.g. FuzzyCLIPS
(10h).
Assessment methods Continuous assessment, project work (solving programming problems), grade (written exam
(multiple choice test)
Learning outcomes
By the end of the course, students should be able to do the following:
Construct/develop a given expert system in CLIPS
Debug the code
Describe an expert system architecture
Explain how the expert system with uncertainty works
18
Recommended
readings
1. Joseph C. Giarratano ‘Expert systems: Principles and programming” Fourth ed. Prentice
Hall, 2004
2. Joseph C. Giarratano & Gary Riley, CLIPS User’s Guide (free e-book)
Supplementary
readings Additional literature is given directly in the lectures.
Additional information For further information, please write to [email protected]
Course title PROLOG PROGRAMMING FOR ARTIFICIAL INTELLIGENCE
Field of study Computer Science and Information Technology
Teaching method Lecture and Laboratory
Person responsible
for the course
Ph.D. Eng. Joanna
Kołodziejczyk
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) PPA ECTS points 4
Type of course Optional Level of course bachelor/master
Semester winter/summer Language of instruction English
Hours per week 1 (L) + 2 (Lab) Hours per semester 15 (L) + 30(Lab)
Objectives of the
course
The outcome of the course is knowledge in Prolog programming and the ability to recognize
different algorithms from Artificial Inteligence. Students will be able to implement some
(search, reasoning, inductive programming, belief networks) AI algoritghm using Prolog
programming language.
Entry requirements /
prerequisites The course does not require any previous knowledge.
Course contents
(L) An introduction to declarative programming paradigm (3h). Basic knowledge in logic.
Logical inference (5h). Prolog as a programming language and its connection to predicate
logic (4h). Discussion different examples (3h)
(Lab) Introduction to SWI Prolog programming language (3h). Syntax and meaning of Prolog
programs and debugging (4h). Using structures including lists (6h). How to control
backtracking (3h). Programming user interface (4h). Different styles and programming
techniques (2h). Programming: search algorithms, expert system shell, machine learning
algorithms, games (8h).
Assessment methods Continuous assessment, project work (solving programming problems), written exam
(multiple choice test)
Learning outcomes
By the end of the course, students should be able to do the following:
Construct/develop a given algorithm in Prolog using required structures
Debug the Prolog code
Describe how the result is obtained via inference algorithm.
Explain the logic programming paradigm.
19
Required readings 1. Ivan Bratko, ‘Prolog programming for Artificial Intelligence’, Fourth edition, Pearson
Education 2010
Supplementary
readings Additional readin material will be recommende by a lecturer.
Additional
information For further information, please write to [email protected]
Course title BIOLOGICALLY INSPIRED ALGORITHMS
Teaching method Lecture and laboratory
Person responsible for
the course
Ph.D. Eng. Joanna
Kołodziejczyk
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) BIA ECTS points 5
Type of course Optional Level of course bachelor/master
Semester winter/summer Language of instruction English
Hours per week 2 (L) + 2 (Lab) Hours per semester 30 (L) + 30(Lab)
Objectives of the
course
The course will introduce and discuss algorithms that were inspired by biological phenomenon
(a part of Artificial Intelligence domain). It is designed to enable students to apply those
algorithms in various real and test problems. Student will be aware of the power, and the
limitations, of those methods.
Entry requirements /
prerequisites The course requires programming skills in any programming language.
Course contents
(L) Optimization in real and discrete domain (4h) Genetic algorithm for discrete problem (3h)
An evolution paradigm in stochastic search based on Evolution Strategies (3h). Ant colony
optimization for discrete problems (2h). Particle Swarm Optimization (2h). Differential
evolution (2h). Artificial Immune Systems as an optimization tool (2h). Firefly optimization (2h).
An introduction to neural networks (2h). Neural networks as a classifier (4h). Neural network
other applications (4h).
(Lab) Computer implementations of chosen algorithms e.g.: GA (4h), (1+1)-ES (4h), ACO (4h),
PSO (4h), AIS (4h), DE(4h), ANN (6h).
Assessment methods Written exam (multiple choice test), continuous assessment, project work
Learning outcomes
By the end of the course, students should be able to do the following:
Describe each algorithm that was discussed during the course
Choose an appropriate algorithm to the problem.
Identify each algorithm’s limitations.
Demonstrate and explain the source code of the implemented algorithm.
Recommended
readings
1. Global Optimization Algorithms - Theory and Application by Thomas Weise
(http://www.it-weise.de)
Supplementary
readings Additional literature is given directly in the lectures.
20
Additional
information For further information, please write to [email protected]
Course title RUBY PROGRAMMING LANGUAGE
Field of study Computer Science and Information Technology
Teaching method Lecture and laboratory
Person responsible for
the course
Ph.D. Eng. Joanna
Kołodziejczyk
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) RPL ECTS points 3
Type of course Optional Level of course bachelor
Semester winter/summer Language of instruction English
Hours per week 1 (L) + 1 (Lab) Hours per semester 15 (L) + 15(Lab)
Objectives of the
course
The outcome of the course is knowledge in Ruby programming language. The object
programming paradigm based on the Ruby will be explained during the course. Students will
be able to use Ruby language to solve algorithmic problems.
Entry requirements /
prerequisites The course does not require any previous knowledge.
Course contents
(L) An introduction to Ruby. Lexical and syntactic structure of code. (3h) Using differnet
datatypes: numbers, text, arrays, hashes, ranges, symbols and objects and control structures.
(4h) Classes and modules application. (4h) Good practices (2h). Gems (2h)
(Lab) Introduction to Ruby programming language. (3h) Practical usage of numbers, text,
arrays, hashes, ranges, symbols and objects and control structures.(5h) Object oriented
programming (2h) Solving algorithimic problems in Ruby (5h).
Assessment methods Continuous assessment, project work or written exam
Learning outcomes
By the end of the course, students should be able to do the following:
Construct/develop a given algorithm in Ruby programming language
Explain the object programming paradigm
Required readings Online Ruby documentation
Supplementary
readings Additional literature is given directly in the lectures.
Additional
information
‘Ruby RoR framework for web development’ course can be taken simutlatously with Ruby
programming language.
For further information, please write to [email protected]
21
Course title RUBY ON RAILS FRAMEWORK FOR WEB DEVELOPMENT
Field of study Computer Science and Information Technology
Teaching method Lecture and laboratory
Person responsible for
the course
Ph.D. Eng. Joanna
Kołodziejczyk
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) RRF ECTS points 3
Type of course Optional Level of course bachelor
Semester winter/summer Language of instruction English
Hours per week 1 (L) + 1 (Lab) Hours per semester 15 (L) + 15(Lab)
Objectives of the
course
The outcome of the course is knowledge and the ability to apply RoR framework for dynamic
web development. Students will understand Ruby on Rails framework paradgim and develop
webpage with a relational database.
Entry requirements /
prerequisites Ruby programming language, database basic knowledge, basics of HTML and CSS
Course contents
(L) An introduction to Ruby on Rails. RoR project structure (MVC): Model, Views and
Controller (4h). Model in RoR: active records basics, migration, association. (4h) Devoloping
layouts. Controllers for actions in RoR.(3h) Testing application.(4h)
(Lab) A blog web application based on RoR. (3h) A web application using scaffolding (3h)
Developing students’ idividaual projects. (9h)
Assessment methods Continuous assessment, project work or written exam (multiple choice test)
Learning outcomes
By the end of the course, students should be able to do the following:
Construct/develop a webpage using RoR
Write tests for an aplication
Explain the Ruby on Rails famework philosophy, structure and tools
Required readings 1. Online Ruby on Rails documentation,
2. Michael Hartl, Ruby on Rails Tutorial (online e-book)
Supplementary
readings Additional literature is given directly in the lectures.
Additional
information
‘Ruby programming language’ course can be taken simutlatously with ‘RoR framework for
web development’.
For further information, please write to [email protected]
Course title C# PROGRAMMING LANGUAGE
Field of study Computer Science and Information Technology
Teaching method Lecture, Laboratory
22
Person responsible for
the course
M.Sc. Eng. Marcin
Pietrzykowski
E-mail address to the
person responsible for the
course
Course code
(if applicable) CPL ECTS points 4
Type of course Optional Level of course Bachelor/master
Semester winter/summer Language of instruction English
Hours per week Lecture: 1h, Lab.: 2h Hours per semester Lecture: 15 hours
Lab. Exercises: 30 hours
Objectives of the
course Familiarization with C# programming language and Microsoft .NET framework.
Entry requirements /
prerequisites Basic knowledge of at least one object programming language will be helpful
Course contents
1. Introduction to: Object Oriented Programming, Managed Languages and C#
2. Constructing Complex Types; Object Interfaces and Inheritance
3. Controlling Programmatic Flow; Manipulating Types and Strings
4. Console Applications and Windows Forms Applications
5. Working with the File System, Generic Collections, Threading namespace.
Assessment methods Written exam (Lecture), continuous assessment (Lab)
Learning outcomes
1. After the lecture the student will know the c# syntax and will be able to define object-
oriented programming principles in the context of c#.
2. After the lecture the student will be able to explain what is happening in a c# code.
3. The student will be able to write program in a c# language.
Required readings
1. John Sharp, “Microsoft Visual C# 2012 Step by Step”
2. Karli Watson, Jacob Vibe Hammer, Jon Reid, Morgan Skinner, Daniel Kemper, Christian
Nagel, “Beginning Visual C# 2012 Programming”
Supplementary
readings http://en.wikibooks.org/wiki/C_Sharp_Programming
Additional
information None
Course title HIDDEN MARKOV MODELS AND ITS APPLICATIONS
Field of study Computer Science and Information Technology
Teaching method Lecture, Laboratory
Person responsible
for the course
M.Sc. Eng. Marcin
Pietrzykowski
E-mail address to the
person responsible for
the course
Course code
(if applicable) HMM ECTS points 3
Type of course Optional Level of course Bachelor/master
23
Semester winter/summer Language of instruction English
Hours per week Lecture: 1h, Lab.: 1h Hours per semester Lecture: 15 hours
Lab. Exercises: 15 hours
Objectives of the
course
The outcome of the course is basic knowledge in Markov Models and Hidden Markov
Models. Students will be able to implement Hidden Markov Models in pattern recognition
task.
Entry requirements /
prerequisites Basics of higher mathematics. Introduction to artificial intelligence.
Course contents
1. Construction of Markov Models, Hidden Markov Models (HMM).
2. Model types.
3. Algorithms used in HMM: forward-backward algorithm, Viterbi Algorithm, Baum-Welch
Reestimation method.
4. Continuous Observation Densities.
5. Implementation Issues for HMM: variables scaling, multiple observations sequences.
6. Examples of using HMM.
Assessment methods Written exam (Lecture), continuous assessment (Lab)
Learning outcomes
1. After the course the student will possess knowledge about the construction, internal
algorithms and applications of Markov Models, Hidden Markov Models and its
modifications.
2. After the course students will be able to implement HMM in pattern recognition tasks.
Required readings 1. Ming Liao, “Applied Stochastic Processes”
2. Gernot A. Fink, “Markov Models for Pattern Recognition: From Theory to Applications”
Supplementary
readings 1. Andrew M. Fraser, “Hidden Markov Models and Dynamical Systems”
Additional
information None
Course title F# PROGRAMMING LANGUAGE
Field of study Computer Science and Information Technology
Teaching method Lecture, Laboratory
Person responsible for
the course
M.Sc. Eng. Marcin
Pietrzykowski
E-mail address to the
person responsible for the
course
Course code
(if applicable) FPL ECTS points 4
Type of course Optional Level of course Bachelor/master
Semester winter/summer Language of instruction English
Hours per week Lecture: 1h, Lab.: 2h Hours per semester Lecture: 15 hours
Lab. Exercises: 30 hours
24
Objectives of the
course
Familiarization with F# programming language and functional programming in .NET
Framework
Entry requirements /
prerequisites Basic knowledge of at least one object programming language will be helpful
Course contents
1. F# Basics
2. Working With Functions
3. Immutable Data Structures
4. Imperative Programming
5. Object Oriented Programming
6. F# Advanced
Assessment methods Written exam (Lecture), continuous assessment (Lab)
Learning outcomes
1. After the lecture the student will know the f# syntax and will be able to define functional
and imperative programming principles in the context of f#.
2. After the lecture the student will be able to explain what is happening in an f# code.
3. The student will be able to write program in an f# language.
Required readings 1. Robert Pickering, “Beginning F#”
2. Don Syme, Adam Granicz, Antonio Cisternino, “Expert F#”
Supplementary
readings
1. https://en.wikibooks.org/wiki/F_Sharp_Programming
2. Jon Harrop, “F# for Scientists”
Additional
information None
Course title GRAPHICAL USER INTERFACE IN .NET
Field of study Computer Science and Information Technology
Teaching method Lecture, Laboratory
Person responsible
for the course
M.Sc. Eng. Marcin
Pietrzykowski
E-mail address to the
person responsible for
the course
Course code
(if applicable) GUI ECTS points 3
Type of course Optional Level of course Bachelor/master
Semester winter/summer Language of instruction English
Hours per week Lecture: 1h, Lab.: 1h Hours per semester Lecture: 15 hours
Lab. Exercises: 15 hours
Objectives of the
course
The outcome of the course is knowledge in programming graphical user interface in Microsoft
Windows. Students will be able to design and implement applications in two technologies:
Windows Forms class library (WinForms), Windows Presentation Foundation (WPF).
Entry requirements /
prerequisites Good skills in programming (preferably C# or Visual Basic).
25
Course contents
1. Windows Forms
Controls, Forms, Containers and Applications, Menus, Toolbars, Dialogs,
Settings, Resources, Building Controls, Inheritance and Reuse, Property Grids, Data
binding
2. Windows Presentation Foundation
Introduction, XAML, Sizing, Positioning and Transforming Elements, Layout with Panels,
Input Events, Content Controls, Item Controls, Image, Text, Other Controls, Resources,
Data Binding
Written exam (Lecture), continuous assessment (Lab)
Learning outcomes
1. After the course the student will possess knowledge about: Windows Forms and Windows
Presentation Foundation
2. After the course students will be able to design and create Windows Form Application
and Windows Presentation Foundation Application.
Required readings
1. Chris Sells, “Windows Forms Programming in C#”
2. Matthew MacDonald , “Pro .NET 2.0 Windows Forms and Custom Controls in C#”
3. Adam Nathan, “WPF 4.5 Unleashed”
Supplementary
readings 1. Andrew Troelsen, Philip Japikse, “C# 6.0 and the .NET 4.6 Framework”
Additional
information None
Course title INTELLIGENT DECISION SYSTEMS
Field of study Computer Science, Artificial Intelligence
Teaching method Lecture and Laboratory
Person responsible
for the course
Professor Andrzej Piegat and
M.Sc. Eng. Wojciech Sałabun
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) IDS ECTS points 6
Type of course Level of course bachelor/master
Semester winter/summer Language of instruction English
Hours per week 2h Lecture + 2h laboratory Hours per semester 30L+30Lab
Objectives of the
course
The acquisition of decision-making skills based on the Multi-Criteria Decision-Making
(MCDM) methods including methods using fuzzy set theory.
Entry requirements /
prerequisites Basic knowledge of mathematics
26
Course contents
Description of decision making problems – structure and elements. The MCDM methods and
their applications ,e.g., WSM, WPM, AHP, ANP, ELECTRE, TOPSIS, COMET. Example of real
decisional problems solved with use of MCDM methods. Comparative study of different
MCDM methods. Decision Support System (DSS) synthesis.
Assessment methods Continuous assessment, project work or written exam
Learning outcomes
After the lectures the student will be able to define a decision making problem, describe main
MCDM methods, and choose the method suitable for a decision problem. The student will be
able to choose MCDM method for a problem. The student will be able to solve a multi-criteria
problem
Required readings
1. Triantaphyllou, E. (2000). Multi-criteria decision making methods. In Multi-criteria Decision
Making Methods: A Comparative Study (pp. 5-21). Springer US.
2. Hwang, C. L., & Yoon, K. (2012). Multiple attribute decision making: methods and
applications a state-of-the-art survey (Vol. 186). Springer Science & Business Media.
Supplementary
readings
1. Multi-objective group decision making: methods, software and applications with fuzzy
set techniques
Additional
information For further information, please write to [email protected]
Course title INTRO TO MATHEMATICAL PROGRAMMING
Field of study Computer Science and Information Technology
Teaching method Lecture and Laboratory
Person responsible
for the course
Professor Andrzej Piegat and
M.Sc. Eng. Wojciech Sałabun
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) IMP ECTS points 6
Type of course Optional Level of course bachelor/master
Semester winter/summer Language of instruction English
Hours per week 2L+2lab Hours per semester 30L+30Lab
Objectives of the
course
Mathematical programming is about solving optimization problems. The course introduces
to techniques for solving optimization tasks based on traditional methods (list of methods is
in the course content).
Entry requirements /
prerequisites Basic knowledge of mathematics
Course contents
1. Linear programming (geometric method, simplex algorithm, etc.)
2. Transportation theory (transport task , etc.)
3. Network Programming (mathematical programming, e.g., Program Evaluation and Review
Technique (PERT), Critical Path Method (CPM), etc.)
4. Traveling salesman problem (description of the problem, computing a solution, etc.)
27
Assessment methods Continuous assessment, project work or written exam
Learning outcomes
After the lectures the student will be able to define and describe: linear programming
methods and problems, transportation task methods and problems, network programming
methods and problems, traveling salesman problem. The student will be able to use the
methods which will be presented on the laboratories
Required readings
1. Dantzig, G. B., & Thapa, M. N. (2006). Linear programming 2: theory and extensions.
Springer Science & Business Media.
2. Winston, W. L., Venkataramanan, M., & Goldberg, J. B. (2003). Introduction to
mathematical programming (Vol. 1). Duxbury; Pacific Grove, CA: Thomson/Brooks/Cole.
Supplementary
readings
1. Hoffman, K. L., Padberg, M., & Rinaldi, G. (2013). Traveling salesman problem. In
Encyclopedia of operations research and management science (pp. 1573-1578). Springer
US.
Additional
information For further information, please write to [email protected]
Course title ARDUINO MICROCONTOLLER: 3D PRINTER
Field of study Computer Science and Information Technology
Teaching method Lecture and Laboratory
Person responsible
for the course
PhD Sławomir Jaszczak and
M.Sc. Eng. Wojciech Sałabun
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) 3DP ECTS points 6
Type of course Level of course bachelor/master
Semester winter/summer Language of instruction English
Hours per week 2h Lecture+2h Laboratory Hours per semester 30L+30Lab
Objectives of the
course
Students will learn about hardware synthesis and programming by using Arduino
microcontroller. Additionally, acquire the basic knowledge on construction and using 3D
printers. The practical skills of the creation of 3D projects.
Entry requirements /
prerequisites Basic knowledge of mathematics and electronics
Course contents
1. Arduino microcontroller
2. Hardware synthesis
3. Programming in Arduino
4. Arduino simple project
2.Printer 3D - construction
5.The extruder
6.The software
7.Design a CAD model
8.Generate Gcode
28
Assessment methods Continuous assessment, project work or written exam
Learning outcomes
After the lectures the student will be able to define and describe Arduino microcontrollers,
the most popular components, hardware synthesis process the main types of 3d printers,
problems with construction of 3d printers, extruder, and etc. The student will be able to
program the Arduino microcontroller, make a simple project and create and printing 3d
project.
Required readings
1. Barrett, S. F. (2013). Arduino Microcontroller Processing for Everyone!. Synthesis Lectures
on Digital Circuits and Systems, 8(4), 1-513.
2. Evans, B. (2012). Practical 3D printers: The science and art of 3D printing. Apress.
Supplementary
readings
1. Hintz, K. J., & Tabak, D. (1992). Microcontrollers: architecture, implementation, and
programming. McGraw-Hill Professional.
Additional
information For further information, please write to [email protected]
Course title KNOWLEGDE EXTRACTIONS FROM DATA WITH ROUGH SET METHOD AND ITS
APPLICATIONS
Field of study Computer Science, Artificial Intelligence
Teaching method Lecture, laboratory
Person responsible
for the course
Professor Andrzej Piegat and
M.Sc. Eng. Wojciech Sałabun
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) KED ECTS points 6
Type of course Level of course Bachelor/Master
Semester winter/summer Language of instruction English
Hours per week 2h Lecture + 2h laboratory Hours per semester 30L + 30Lab
Objectives of the
course
Acquirement of competence and practice of knowledge in form of rule basis from information
tables about the system of interest
Entry requirements /
prerequisites Basic knowledge of mathematics
Course contents
Example of real problems solved with use of rough sets (RS). Discretization of variables. Basic
notions of RS. Absolute and relative reduction of attributes. Quality measures of RS-models.
Generating certain and uncertain rules about the system. Rules’ risk occurring due to
attributes reduction. Soft version of RS enabling generating both certain and probabilistic
rules and soft attribute reduction. Examples of RS-applications.
Assessment methods Solving of a real problem with use of RS in form of autonomous project.
29
Learning outcomes Competence for extracting knowledge in form of rules from information tables about a system
containing both numerical and quantitative information items.
Required readings
1. Lech Polkowski, Rough Sets. Mathematical foundations. Physica Verlag, A Springer Verlag
Company, Heidelberg, New York 2002.
2. W. Pedrycz, A. Skowron, V. Kreinovich (editors). Handbook of granular computing. Wiley,
Chichester, England, 2208
Supplementary
readings
1. S.K.Pal, L. Polkowski, A. Skowron (editors), Rough-Neural Computing Techniques for
Computing with Words, Springer, Berlin, Heidelberg, New York, 2004
Additional
information
A very interesting and useful area of artificial intelligence able to process mixed types of data
items
Course title ESSENTIALS OF FUZZY LOGIC AND ITS APPLICATIONS TO SYSTEM MODELING
AND CONTROL
Field of study Computer Science, Artificial Intelligence
Teaching method Lecture, laboratory
Person responsible
for the course
Professor Andrzej Piegat and
M.Sc. Eng. Wojciech Sałabun
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) EFL ECTS points 6
Type of course Level of course Bachelor/Master
Semester winter/summer Language of instruction English
Hours per week 2h Lecture + 2h laboratory Hours per semester 30L + 30Lab
Objectives of the
course
Acquirement of competence and practice in construction of fuzzy models of systems, fuzzy
calculation and fuzzy control of plants
Entry requirements /
prerequisites Basic knowledge of high mathematics
Course contents
Difference between classical and fuzzy logic (FL). Examples of fuzziness in the real world. Short
history of fuzzy logic. Models of fuzzy values: membership functions (MF). Vertical and
horizontal MFs. Identification of MFs. Typical errors made at identification. Fuzzy arithmetic.
Granular Computing. Fuzzy models of systems. Components of a fuzzy model: fuzzification,
premise evaluation, determining activated MFs of particular rules, determining resulting MF,
defuzzification of the resulting MF. Constructing fuzzy models for chosen real problems.
Calculating the model output for given inputs. Neuro-fuzzy networks. Fuzzy control. Examples
of real applications of fuzzy logic.
Assessment methods Written or oral exam and preparing short lecture/presentation on application of FL
Learning outcomes Competence of application of FL in future engineer work
30
Required readings
1. Andrzej Piegat, Fuzzy modeling and control. A Springer Verlag Company, Heidelberg, New
York 2001
2. Witold Pedrycz, Fernando Gomide, Fuzzy systems engineering. Wiley, Hoboken, New Jersey,
USA, 2007
Supplementary
readings
1. Y. Bai, H. Zhuang (editors), Advanced fuzzy logic technologies in industrial applications ,
Springer, Berlin, Heidelberg, New York, 2006
Additional
information
Fuzzy logic allows for introducing human knowledge in computers and then using in various
machines and devices.
Course title PROGRAMMABLE CONTROL DEVICES 1 – LOGIC CONTROL SYSTEMS
Teaching method Lecture and laboratory
Person responsible for
the course Sławomir Jaszczak
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) PD1 ECTS points 5
Type of course elective Level of course bachelor
Semester summer or winter Language of instruction English
Hours per week 1 (L) + 2 (Lab) Hours per semester 15(L) + 30(lab)
Objectives of the
course
The outcome of the course is basic knowledge in programming industrial control devices and
the ability to using them in real time systems. Students will be able to design, build and
implement control algorithms dedicated to the real time control systems. Ladder Diagram,
Function Block Diagram, Automation Basic, Structure Text basic programming skills will be
acquired.
Entry requirements Basic programming skills in any programming language, basic knowledge of physics,
electronics and measurement theory
Course contents
(L): Programmable controllers (physical and logical construction, memory organization),
programming of PLC controllers (a short introduction to basic programming languages (LD,
ST, FBD), general rules related to the development and implementation of control
algorithms,I/O signal standards); Examples of applications).
(Lab) A complete course of programming PLC controllers, related to a logic process control,
using GE VersaMaxMicro and/or B&R controllers, (connecting a PLC controller with a
computer and a plant (a process or machine to be controlled), a diagnostic and starting of the
PLC in real conditions, implementation of logic functions, timers, counters, sequencers, batch
processes.
Assessment methods continuous assessment, project work, grade
Recommended
readings
1. Bryan L.A., Bryan E.A. Programmable Controllers Theory and implementation. Industrial
Text Company,Marietta 1997.
2. Astrom K., Hagglund T. PID controllers : Theory, design and tuning, Instrument Society of
America, NY, 1995.
3. Manuals from GE and Bernecker&Reiner
31
Additional information
Maximum 5 students in one laboratory group.
A practical part of the course is related to programming various control devices e.g. PLC
controllers mainly from Bernecker&Reiner (X20 controllers and power panels) and GE
(VersaMax Micro controllers).
Course title PROGRAMMABLE CONTROL DEVICES 2 – CONTINOUS CONTROL SYSTEMS
Teaching method Lecture and laboratory
Person responsible for
the course Sławomir Jaszczak
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) PD2 ECTS points 5
Type of course elective Level of course bachelor
Semester summer Language of instruction English
Hours per week 1 (L) + 2 (Lab) Hours per semester 15(L) + 30(lab)
Objectives of the
course
The outcome of the course is basic knowledge in programming industrial control devices and
the ability to using them in real time systems. Students will be able to design, build and
implement control algorithms i.e. PID and PID-like algorithms dedicated to the real time
control systems. Ladder Diagram, Function Block Diagram, Automation Basic, Structure Text
basic programming skills will be acquired.
Entry requirements Basic programming skills in any programming language, basic knowledge of physics,
electronics and measurement theory
Course contents
(L): Programmable controllers (physical and logical construction, memory organization),
programming of PLC controllers (a short introduction to advanced element of programming
languages (LD, ST, FBD), general rules related to the development and implementation of
control algorithms (of two state algorithm, dead-beat algorithms, PID algorithms (classical and
fuzzy versions)),I/O signal standards); Examples of applications). Some elements of advanced
development procedures (rapid prototyping, hardware in the loop) will be shown.
(Lab) A complete course of programming PLC controllers, related to a continuous process
control, using GE VersaMaxMicro and/or B&R controllers, (connecting a PLC controller with a
computer and a plant (a process or machine to be controlled), a diagnostic and starting of the
PLC in real conditions, implementation of two state algorithm, dead-beat algorithms, PID
algorithms (classical and fuzzy versions). A rapid prototyping and hardware in the loop
exemplary procedure will be shown i.e. how to quickly develop a control algorithm and using
it by means of a plc controller.
Assessment methods continuous assessment, project work, grade
Recommended
readings
1. Bryan L.A., Bryan E.A. Programmable Controllers Theory and implementation. Industrial
Text Company,Marietta 1997.
2. Astrom K., Hagglund T. PID controllers : Theory, design and tuning, Instrument Society of
America, NY, 1995.
3. Manuals from GE and Bernecker&Reiner
32
Additional information
Maximum 5 students in one laboratory group.
A practical part of the course is related to programming various control devices e.g. PLC
controllers mainly from Bernecker&Rainer (X20 controllers and power panels) and GE
(VersaMax Micro controllers).
Course title SOFTWARE TESTING
Field of study Information Engineering
Teaching method Lecture: 1 hour per week/15 hours per semester
Lab. Exercises: 2 hours per week/30 hours per semester
Person responsible
for the course PhD eng Miroslaw Moscicki
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) STE ECTS points 4
Type of course Optional Level of course bachelor
Semester winter/summer Language of instruction English
Hours per week 3 hours Hours per semester Lecture: 15 hours
Lab. Exercises: 30 hours
Objectives of the
course
To gain knowledge about software testing process. Familiarization with testing tools and
methodology. Knowledge about various test levels and scope. Learning about software tester
role.
Entry requirements /
prerequisites
Required: Knowledge of at least one object programming language
Preferred: Java language course completed
Course contents
1. Software quality – basic concept
2. Tests – types and levels
3. Software testing process
4. Test design
5. Testing with unit test
6. GUI level tests
7. Robot Framework and Robot IDE tools
8. Sikuli GUI testing tool
9. Introduction to web application testing
Assessment methods
Each student should complete laboratory exercises and pass theoretical exam in order to
complete the course. In case of exceptional performance during the labs, student can be
excuses from the exam with top grade mark
Learning outcomes
1. Various test procesess and continuous quality improvement
2. Types of errors and fault models
3. Methods of test generation from requirements
4. The use of various test tools
Required readings
1. Ilene Burnstein. “Practical Software Testing”, Springer, 2002
2. Marnie L. Hutcheson, “Software Testing Fundamentals: Methods and Metrics”, Wiley,
2003
33
Supplementary
readings
1. Kshirasagar Naik, Priyadarshi Tripathy, “Software Testing and Quality Assurance Theory
and Practice”, Wiley, 2008
2. ISTQB Certified Tester Foundation Level Syllabus
Additional
information
Course title JAVA PROGRAMMING
Field of study Informatics
Teaching method lecture, laboratory
Person responsible
for the course Tomasz Wierciński
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) JAV ECTS points 6
Type of course elective, optional Level of course Bachelor
Semester winter / summer Language of instruction English
Hours per week Lecture: 1 hours
Lab. exercises: 2 hours Hours per semester 15L 30W
Objectives of the
course
Familiarization with the syntax and structures of the Java language. Knows how to analyze and
implement source code in Java language. Understands the need for further development of
professional skills in the field of Java language.
Entry requirements /
prerequisites Programming basics. Object programming
Course contents
Data types and objects. Operators. Control instructions. Packages. Exceptions. Encapsulation,
inheritance, polymorphism. Parametrized types. Input-output operations. Threads.
Annotations. GUI programming
Assessment methods written exam, project work
Learning outcomes
Familiarization with the syntax and structures of the Java language. Knows how to analyze and
implement source code in Java language. Understands the need for further development of
professional skills in the field of Java language.
Required readings
1. Thinking in Java (4th Edition), Bruce Eckel, Prentice Hall, 2006
2. Java Programming (Oracle Press), Poornachandra Sarang, McGraw-Hill Osborne Media, 1
edition, January 20, 2012
3. Java, A Beginner's Guide, 5th Edition, McGraw-Hill Osborne Media; 5 edition, August 16,
2011
Supplementary
readings
Additional
information group limit: 10 persons
34
Course title SPRING FRAMEWORK PROGRAMMING
Field of study Informatics
Teaching method Lecture and laboratory
Person responsible
for the course Ph.D. Eng. Tomasz Wierciński
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) SFP ECTS points 6
Type of course elective, optional Level of course Master
Semester winter / summer Language of instruction English
Hours per week Lecture: 1 hours
Lab. exercises: 2 hours Hours per semester
Lecture: 15 hours
Lab. Exercises: 30 hours
Objectives of the
course
Familiarization with Java EE language and Spring Framework programming. Knows how to
develop advanced client-server applications in Java language and Spring. Understands the
need for further development of professional skills in the field of Java EE.
Entry requirements /
prerequisites
Java SE programming. XML basics. SQL and database basics. Web application development
basics.
Course contents
Spring IoC container structure. Writing, configuring and injecting beans. Aspect-oriented
programming. Using JDBC with Spring. Integrating ORM with Spring. Managing transactions.
Building web application with Spring MVC. Securing applications with Spring Security.
Working with remote services. Working with Spring JMS. Managing Spring components with
JMX.
Assessment methods written exam, project work
Learning outcomes
Familiarization with Java EE language and Spring Framework programming. Knows how to
develop advanced client-server applications in Java language and Spring. Understands the
need for further development of professional skills in the field of Java EE.
Required readings
1. Spring in Action, Third Edition, Craig Walls, Manning Publications Co., 2010
2. Spring Framework Reference Documentation,
http://docs.spring.io/spring/docs/current/spring-framework-reference/pdf/spring-
framework-reference.pdf
Supplementary
readings
Additional
information group limit: 10 persons
Course title CLOUD PROGRAMMING
Field of study Computer Science
35
Teaching method lecture, laboratory and project
Person responsible
for the course Łukasz Radliński, PhD
E-mail address to the
person responsible for the
course
Course code
(if applicable) CPR ECTS points 4
Type of course optional Level of course bachelor or master
Semester winter or summer Language of instruction English
Hours per week 1 (lecture) + 1 (laboratory) +
1 (project) Hours per semester
total: 45
15 (lecture) + 15
(laboratory) + 15 (project)
Objectives of the
course
Familiarizing with selected cloud platform. Possess knowledge and obtain practical skills in
developing cloud-based applications. Usage of technologies, techniques and tools for cloud
development. Practicing individual and team-based work in a software project.
Entry requirements /
prerequisites
Basic knowledge and skills in object-oriented programming (preferably in Java, C# and/or
Python), databases, web applications development.
Course contents
1. Introduction to cloud computing – features, capabilities and limitations.
2. Cloud computing platforms.
3. Architecture of cloud-based software.
4. Cloud-based data storage.
5. User interface in cloud-based applications.
6. Security issues in cloud-based applications.
7. Integrating with external services.
8. Administration of application and resources.
9. Development, deployment and testing cloud-based applications.
Assessment methods
Lecture – written exam.
Laboratory – continuous assessment.
Project – team-based or individual project (depending on number of students).
Learning outcomes
1. Student has a basic knowledge on the features and limitations of specific cloud platform.
2. Student can develop a simple application that uses functionality of specific cloud
platform.
Required readings
1. Erl T., Puttini R., Mahmood Z., Cloud Computing: Concepts, Technology & Architecture,
Prentice Hall, 2013.
2. Redkar T., Windows Azure Web Sites: Building Web Apps at a Rapid Pace, CreateSpace
Independent Publishing Platform, 2013.
Supplementary
readings
1. Rhoton J., Cloud Computing Explained: Implementation Handbook for Enterprises,
Second Edition. Recursive Press, 2010.
2. Sanderson D., Programming Google App Engine, Second Edition, O'Reilly Media, 2012.
Additional
information
Specific cloud platform will be selected shortly before or at the start of the course - depending
on the conditions of usage available for teaching purposes and entry skills/interests of
students.
36
Course title SOFTWARE ENGINEERING
Field of study Computer Science
Teaching method lecture, laboratory and project
Person responsible
for the course Łukasz Radliński, PhD
E-mail address to the
person responsible for the
course
Course code
(if applicable) SEN ECTS points 4
Type of course optional Level of course bachelor or master
Semester winter or summer Language of instruction English
Hours per week 1 (lecture) + 1 (laboratory) +
1 (project) Hours per semester
total: 45
15 (lecture) + 15
(laboratory) + 15 (project)
Objectives of the
course
Possess knowledge and obtain practical skills in software engineering with a special focus on
requirements, designing, prototyping, testing, process management. Usage of techniques and
tools supporting development process where outcomes from one stage flow to subsequent
stages. Practicing individual and team-based work in a software project.
Entry requirements /
prerequisites
Basic knowledge and skills in object-oriented programming (preferably in Java, C# and/or
Python). Recommended basic knowledge and skills in databases and web applications
development.
Course contents
1. Introduction to software engineering, software development methodologies
2. Gathering customer/user requirements, writing user and software specifications
3. Software analysis/modeling
4. Software designing – software architecture and design patterns, data design, user
interface wireframing, processing design, prototyping
5. Software artifact versioning
6. Introduction to testing
7. Software and process quality
Assessment methods
Lecture – written exam.
Laboratory – continuous assessment.
Project – team-based or individual project (depending on number of students).
Learning outcomes
1. Student has a basic knowledge the main tasks of software engineering process as well
as techniques and tools used to support them.
2. Student can prepare documentation for software with main elements of requirements
specification, design and testing plan.
3. Student can develop a software prototype according to the specification from
documentation.
Required readings
1. Bruegge B., Dutoit A.H., Object-Oriented Software Engineering Using UML, Patterns and
Java, 3rd edition, Prentice Hall, 2009
2. Pressman R., Maxim B., Software Engineering: A Practitioner's Approach 8th Edition,
McGraw-Hill Education, 2014
37
Supplementary
readings
1. Bass L., Clements P., Kazman R., Software Architecture in Practice (3rd Edition), Addison-
Wesley Professional, 2012
2. Larman C., Applying UML and Patterns: An Introduction to Object-Oriented Analysis and
Design and Iterative Development, 3rd Edition, Prentice Hall, 2004.
3. Freeman E., Bates B., Sierra K., Robson E., Head First Design Patterns, O'Reilly Media,
2004.
4. Wiegers K., Beatty J., Software Requirements, 3rd Edition, Microsoft Press, 2013.
Additional
information
Students can choose an object-oriented programming language that they will use in software
design and prototype development.
Course title C++ PROGRAMMING LANGUAGE
Field of study Computer Science and Information Technology
Teaching method Lecture/laboratories
Person responsible
for the course Ph.D. Eng. Agnieszka Konys
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) C++ ECTS points 4
Type of course Facultative, optional Level of course Bachelor/master
Semester winter / summer Language of instruction English
Hours per week Lecture: 2 hours
Laboratories: 2 hours Hours per semester
Lecture: 30 hours
Laboratories: 30 hours
Objectives of the
course
The course provides an introduction to the C++ programming language. The objective is to
understand and use the basic programming constructs of C++.
Entry requirements /
prerequisites
The course does not require any previous knowledge, but little programming background will
make it easier.
Course contents The C++ basics; Fundamentals for getting started: types, variables, and arithmetic; Pointers,
arrays, and loops; Functions; User-defined types.
Assessment methods - written exam,
- continuous assessment
Learning outcomes
By the end of this course a student should be able to:
Understand and use the basic programming constructs of C++
Manipulate various C++ data types, such as arrays, strings, and pointers
Isolate and fix common errors in C++ programs
Write small-scale C++ programs using the above skills
The course prepares students for intermediate and advanced C++ topics.
Required readings
1. Stroustrup Bjarne, The C++ Programming Language (Fourth Edition), Addison-Wesley,
2012.
2. Daoqi Yang, C++ and Object-Oriented Numeric Computing for Scientists and Engineers,
2001st Edition, Springer 2001.
3. http://www.cplusplus.com/doc/tutorial/
38
Supplementary
readings
1. John J. Barton and Lee R. Nackman, Scientific and Engineering C++: An Introduction with
Advanced Techniques and Examples, 1st Edition, Addison-Wesley Professional, 1994.
2. https://en.wikibooks.org/wiki/C%2B%2B_Programming
Additional
information
Course title ONTOLOGY: DESIGN AND IMPLEMENTATION
Field of study Computer Science and Information Technology
Teaching method Lecture/laboratories
Person responsible
for the course Ph.D. Eng. Agnieszka Konys
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) ODI ECTS points 4
Type of course Facultative, optional Level of course Bachelor/master
Semester winter / summer Language of instruction English
Hours per week Lecture: 2 hours
Laboratories: 2 hours Hours per semester
Lecture: 30 hours
Laboratories: 30 hours
Objectives of the
course
The course introduces to ontology designing and implementation. The main objective is to
obtain the fundamental knowledge of ontology construction and application. The students
should have practical skills in building ontologies using Ontology Web Language (OWL).
Entry requirements /
prerequisites The course does not require any previous knowledge.
Course contents
Course contents:
1. Introduction (the basic terms related to the ontology and its application areas, the ontology
editors, OWL language).
2. Ontology construction (the process of defining the following elements: classes and sub-
classes, object properties definition, individuals, data type properties).
3. Graphical visualization of the ontology.
4. The application of plugins and tools to manage the ontology.
5. The reasoning processes and the application of DL query tool.
Assessment methods
- written exam,
- project work,
- continuous assessment.
Learning outcomes
The ability of designing the ontology for a given domain, and its implementation in OWL
language.
The ability of using selected reasoning mechanism and posing queries using DL query tool.
The ability of graphical visualization of the projected ontology.
39
Required readings
1. Michael K. Smith, Chris Welty, and Deborah L. McGuinness. OWL Web Ontology Language
Guide. World Wide Web Consortium (W3C) Recommendation. February 10, 2004. Available
from http://www.w3.org/TR/owl-guide/
2. Natalya F. Noy and Deborah L. McGuinness. ``Ontology Development 101: A Guide to
Creating Your First Ontology''. Stanford Knowledge Systems Laboratory Technical Report KSL-
01-05 and Stanford Medical Informatics Technical Report SMI-2001-0880, March 2001
3. Protege tutorial. Available from http://protege.stanford.edu/
4. Barry Smith, Preprint version of chapter “Ontology”, [in:] Blackwell Guide to the Philosophy
of Computing and Information, Floridi L. (ed.), pp. 155–166, Oxford Blackwell 2003
Supplementary
readings
1. Hepp M.: Ontologies: State of the art, business potential and grand challenges. In: Hepp
M., De Leenher P., de Moor A., Sure Y. (eds.) Ontology Management: Semantic Web, Semantic
Web Services, and Business Applications. pp. 3-22, Springer (2007)
2. Matthew Horridge (eds.): A Practical Guide To Building OWL Ontologies Using Protege 4
and CO-ODE Tools Edition 1.2, The University of Manchester, Manchester (2009)
Additional
information
Course title BRAIN-COMPUTER INTERFACE
Field of study Computer Science
Teaching method lecture, laboratory
Person responsible
for the course Izabela Rejer
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) BCI ECTS points 4
Type of course elective Level of course 1st / 2nd / 3rd
Semester winter/summer Language of instruction English
Hours per week L:1, Lab: 3 Hours per semester L: 15, Lab: 45
Objectives of the
course
The aim of the course is to teach students how to use an electroencephalographic device to
create an interface which allow to communicate with the machine directly via the brain
activity.
Entry requirements /
prerequisites None
Course contents
1. Brain-computer interface (BCI) - an overview
2. Different types of BCI
3. Main aspects of brain structure and functionality
4. Methods for measuring the brain activity
5. BCI interference cycle
6. Paradigms for measuring EEG signals
7. Theoretical and practical aspects of processing an EEG signal
8. Methods for classifying EEG signals
9. Preparing an experimental setup for creating BCI data set
10. Creating a BCI data set composed of EEG signals recorded during labs
11. Extracting features from the recorded data set
40
12. Training a classifier
13. Creating a BCI
14. Testing the created BCI in real conditions
Assessment methods Project work: creating a brain-computer interface
Final exam
Learning outcomes The ability of designing and developing a BCI system that can be used in real environment
Required readings None hard literature
Scientific papers which will be handed during lectures.
Supplementary
readings None
Additional
information None
Course title BRAIN SIGNAL ANALYSIS IN MATLAB ENVIRONMENT
Field of study Computer Science
Teaching method lecture, laboratory
Person responsible
for the course Izabela Rejer
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) BSA ECTS points 4
Type of course elective Level of course 1st / 2nd / 3rd
Semester winter/summer Language of instruction English
Hours per week L:1, Lab: 3 Hours per semester L: 15, Lab: 45
Objectives of the
course
The aim of the course is to teach students how to record, process and analyze EEG signals in
Matlab environments.
Entry requirements /
prerequisites None
Course contents
Introduction to Matlab programming
EEG signals - main characteristics
Recording EEG signals with 19-channel Discovery 20 device
Main types of artifacts and methods for removing them
Spatial and temporal filtering
Spectral analysis of EEG signal (Fourier transform)
Extracting different brain activity patterns from EEG recording
Assessment methods Project work: Designing and implementing a Matlab program for EEG processing and analysis.
Final exam
Learning outcomes The ability of designing and developing an application for analyzes of EEG and other
biosignals
41
Required readings
3. Official Matlab site: http://www.mathworks.com/help/matlab/
2. S. W. Smith, Digital Signal Processing: A practical Guide for Engineers and Scientists, 2003
3. R. G Lyons, Understanding Digital Signal Processing, 2011
Supplementary
readings
1/ F. Lotte, "Study of Electroencephalographic Signal Processing and Classification Techniques
towards the use of Brain-Computer Interfaces in Virtual Reality Applications” PhD Thesis 2008
2/ Oja E., Yuan Z., The FastICA Algorithm Revisited: Convergence Analysis, IEEE Transac tion
on Neural Networks, vo. 17, No. 6, pp. 1370-1381, November 2006
3/ Wang Y., Shangkai G., Xiaorong G.: Common Spatial Pattern Method for Channel Selection
in Motor Imagery Based Brain-Computer Interface, Proceedings of the 2005 IEEE Engineering
in Medicine and Biology 27th Annual Conference, 2005
4/ S. W. Smith, Digital Signal Processing: A practical Guide for Engineers and Scientists, 2003
5/ Pfurtscheller G., Neuper C., Flotzinger D., Pregenzer M.: EEG-based discrimination between
imagination of right and left hand movement, Electroencephalography and clinical
Neurophysiology, 103 (1997), pp. 642–651
Additional
information None
Course title COMPUTER SIMULATION
Field of study Computer science
Teaching method lecture and laboratory
Person responsible
for the course Przemyslaw Korytkowski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) CSI ECTS points 6
Type of course elective Level of course Bachelor/Master
Semester winter / summer Language of instruction English
Hours per week Lecture – 1 hour
Laboratory – 2 hours Hours per semester 45
Objectives of the
course
Entry requirements /
prerequisites Basics of probability theory and statistics
Course contents
This course will provide a comprehensive coverage on system modelling, statistical theory,
and programming skill, which are essential for carrying out simulation. Main topics on
statistical theory will be illustrated with modelling and simulation exercises.
Course outline:
1. Introduction to modelling
2. Approaches to computer simulation
3. Input data modelling
4. Design of experiments for simulation study
5. Output data analysis
Assessment methods Project work
42
Learning outcomes
Upon successful completion of the course, the student will be able to:
1. Identify problems from their specific domains suitable for simulation, and correctly
approach the modeling of those problems, including identification of simulation goals
and necessary real-world data.
2. Implement and execute discrete-event simulation models and correctly interpret and
present the results.
Required readings
1. Banks, J., J.S. Carson, B.L. Nelson, D.M. Nicol, Discrete-Event System Simulation, Prentice
Hall, 2009.
2. Kelton, W.D., R.P. Sadowski, N.B. Sweets, Simulation with Arena, McGraw Hill, 2009.
Supplementary
readings
1. Law, A.M., W.D. Kelton, Simulation Modelling and Analysis, McGraw Hill, 2000.
2. Altiok, T., B. Melamed, Simulation Modeling and Analysis with ARENA, Academic Press,
2007.
Additional
information
Course title DIGITAL COLOR MANAGEMENT
Field of study Computer science
Teaching method lecture and laboratory
Person responsible
for the course Przemyslaw Korytkowski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) DCM ECTS points 6
Type of course elective Level of course Bachelor/Master
Semester winter / summer Language of instruction English
Hours per week Lecture – 1 hour
Laboratory – 2 hours Hours per semester 45
Objectives of the
course
Entry requirements /
prerequisites
Course contents
Course outline:
1. Human colour reception
2. Standard colour spaces
3. Colour measurement
4. ICC profiles
5. Devices calibration
6. Colour Management System
Assessment methods continuous assessment
Learning outcomes
Upon successful completion of the course, the student will be able to:
Describe colour phenomena
Apply various colour spaces (CIE LAB, CIE XYZ, CIE xyY, CIE LUV, RGB, CMYK)
Measure colour parameters using spectrophotometer
Use ICC profiles in a color workwlow
Organize a reliable colour management system
43
Required readings 1. Fraser, B., C. Murphy, F. Bunting, Real World Color Management, Peachpit Press, 2004.
2. Sharma, A., Understanding Color Management, Delmar Cengage Learning, 2003
Supplementary
readings
1. Giorgianni, E.J., T.E. Madden, M.A. Kriss, Digital Color Management: Encoding Solutions,
Wiley, 2009
2. www.eci.org
3. www.color.org
Additional
information
Course title DATABASE SYSTEMS
Field of study Computer science
Teaching method lecture and laboratory
Person responsible
for the course Przemyslaw Korytkowski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) DSY ECTS points 6
Type of course elective Level of course Bachelor/Master
Semester winter / summer Language of instruction English
Hours per week Lecture – 2 hour
Laboratory – 2 hours Hours per semester 60
Objectives of the
course
Entry requirements /
prerequisites Introduction to algorithms and data structures
Course contents
The course outline:
1. Introduction to database systems
2. The Relational Model of Data
3. Design Theory for Relational Databases
4. Relational Database Programming
Assessment methods continuous assessment
Learning outcomes
Upon successful completion of the course, the student will be able to:
1. Define the terminology, features, classifications, and characteristics embodied in
database systems.
2. Analyze an information storage problem and derive an information model expressed in
the form of an entity relation diagram and other optional analysis forms, such as a data
dictionary.
3. Demonstrate an understanding of the relational data model.
4. Transform an information model into a relational database schema and to use a data
definition language and/or utilities to implement the schema using a DBMS.
5. Formulate, using SQL, solutions to a broad range of query and data update problems.
6. Demonstrate an understanding of normalization theory and apply such knowledge to the
normalization of a database.
44
7. Use an SQL interface of a multi-user relational DBMS package to create, secure, populate,
maintain, and query a database.
8. Demonstrate a rudimentary understanding of programmatic interfaces to a database and
be able to use the basic functions of one such interface.
Required readings 1. Garcia-Molina, Ullman, Widom (2008) Database Systems: The Complete Book, 2nd Ed,
Pearson.
Supplementary
readings
Hellerstein, Stonebraker, Hamilton (2007) Architecture of database system.
http://db.cs.berkeley.edu/papers/fntdb07-architecture.pdf
Additional
information
Course title HTML5 WEB APPLICATIONS DEVELOPMENT
Field of study Computer science, Information technologies
Teaching method Lectures, laboratories
Person responsible
for the course
Bartłomiej Małachowski, PhD
Eng.
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) HAD ECTS points 3
Type of course Level of course Bachelor
Semester winter / summer Language of instruction English
Hours per week Lectures: 1 hour
Laboratories: 2 hours Hours per semester
Lectures: 15 hours
Laboratories: 30 hours
Objectives of the
course
The course focuses on evolution of HTML from simple page description language to the
powerful environment for building rich internet and mobile applications. Students will learn
how to develop modern web applications using various new HTML5 Web APIs and how to
package and distribute it as a mobile application.
Entry requirements /
prerequisites
Principals of world wide web network. Basic knowledge and practical skills on website design
(HTML and CSS). Basic programming skills.
Course contents
HTML5 principles and typical applications
JavaScript programming techniques for web development
Single Page Applications (SPA) principles and development
Web development tools (dependency management and boundling, task running etc.)
Dynamic manipulation of document with Document Object Model API
Transferring data between a web browser and a web server with XMLHttpRequest API
Using various Web APIs (Notification API, Geolocation API, Drag&Drop etc.)
Building cross-platform mobile apps with HTML5, CSS and JavaScript
Assessment methods Continuous assessment based on small practical projects and programming tasks to develop
Learning outcomes
1. Knowledge and practical skills on modern web applications design and development;
2. Ability to use various Web APIs to extends functionalities of a website;
3. Ability to build cross-platform mobile apps built with web technologies.
45
Required readings
1. M. MacDonald, HTML5: The Missing Manual, O'Reilly Media 2014
2. Z. Kessin, Programming HTML5 Applications: Building Powerful Cross-Platform
Environments in JavaScript, O'Reilly Media 2011
3. D.Flanagan, JavaScript: The Definitive Guide
Supplementary
readings
1. M.Mikowski, J.Powell, Single Page Web Applications: JavaScript end-to-end
2. E.Scott, SPA Design and Architecture: Understanding Single Page Web Applications
Additional
information
Course title PROGRAMMING RESTFUL WEB SERVICES IN JAVA
Field of study Computer science, Information technologies
Teaching method Lectures, laboratories
Person responsible
for the course
Bartłomiej Małachowski, PhD
Eng.
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) RES ECTS points 3
Type of course Level of course Bachelor
Semester summer Language of instruction English
Hours per week Lectures: 1 hour
Laboratories: 1 hour Hours per semester
Lectures: 15 hours
Laboratories: 15 hours
Objectives of the
course
The main objective of the course is to deliver students with knowledge and practical skills in
development of web services according to the Representational State Transfer (REST)
architectural pattern in Java programming language
Entry requirements /
prerequisites
Principals of world wide web network (WWW). Basic knowledge and skills on object-oriented
programming.
Course contents
Client-server model of web applications
Principals of web services
Representational State Transfer (REST) architectural pattern
Java API for RESTful Web Services (JAX-RS)
Accessing and persisting data in the web service with Java Persistence API (JPA)
Developing simple REST client with JAX-RS client API
Assessment methods Continuous assessment based on small practical projects and programming tasks to develop
Learning outcomes
1. Knowledge and understanding of Representational State Transfer (REST) architectural
pattern
2. Ability to use JAX-RS API to build RESTful Web Services
3. Ability to build RESTful web service client in Java
Required readings
1. B.Mehta, RESTful Java Patterns and Best Practices, Packt Publishing 2014.
2. B.Burke, RESTful Java with JAX-RS 2.0: Designing and Developing Distributed Web
Services
46
Supplementary
readings 3. A.Gupta, Java EE 7 Essentials: Enterprise Developer Handbook
Additional
information
Course title MANAGEMENT AND BUSINESS COMMUNICATIONS VIRTUALISATION
Field of study Information Technology
Teaching method Lecture – interactive
Person responsible
for the course Piotr Sulikowski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) MBV ECTS points 3
Type of course Compulsory Level of course Bachelor/Master/Doctoral
Semester Summer Language of instruction English
Hours per week 2 Hours per semester 30
Objectives of the
course
To provide students with information on information society, virtual organizations &
management and business communication. To help practise intra- and interpersonal skills
useful in work environment, incl. intercultural communication.
Entry requirements /
prerequisites
Thorough knowledge in the fields of Organisation and Management and Information
Systems. Information Technology background.
Course contents
Information Society. Virtual Organisations: Genesis, Features, Classification. Information
Systems in Virtual Organisations. Business Communication. Interpersonal and Intrapersonal
skills. Public Speaking. Trust Management.
Assessment methods Major end-of-term written & oral exams plus smaller mid-lecture quizzes during the term.
Individual essays and/or team projects.
Learning outcomes
Students should demonstrate knowledge of key theories in organizations and be able to apply
them to the analysis of organizational issues. Students should understand the importance of
virtual organizations in the modern world, be aware of the ways they are created and how
they function in multicultural work environment. Students should learn to pay attention to
precision, accuracy, and well-defined language in business communication.
Required readings
1. Guffey M.E., Loewy D.: Business Communication: Process and Product. Cincinnati, OH:
South-Western College Pub, 2014.
2. Allen D.: Getting Thigs Done. London: Penguin Books, 2015.
3. Grudzewski W., Hejduk I., Sankowska A., Wantuchowicz M.: Trust Management in Virtual
Work Environments. Boca Raton, FL: CRC Press, 2008.
Supplementary
readings
1. Warner M., Witzel M.: Managing in Virtual Organisations. London: International Thomson
Business Press, 2004.
2. Collins S.: Communication in a Virtual Organisation. Mason, OH: Thompson-South
Western, 2003.
Additional
information
47
Course title DYNAMIC DOCUMENTS AND FRONT-END WEB DEVELOPMENT
Field of study Computer Science and Information Technology
Teaching method Lectures and laboratory
Person responsible for
the course
Ph.D. Eng. Jarosław
Jankowski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) DDO ECTS points 3
Type of course Optional Level of course Bachelor
Semester Winter Language of instruction English
Hours per week 2 Lab + 1 Lecture Hours per semester 30 Lab + 15 Lecture
Objectives of the
course
This course delivers extensive knowledge with both practical and theoretical background in
the area of dynamics documents programming on the Web with main focus on the front end
of applications. Exercises are be based on Document Object Model and several technologies
like HTML5, , JavScript, JQuery, CSS, XML and integration of them with the use of AJAX.
Exercises will cover bigger project related to e-commerce divided into several parts with the
use of several libraries and technologies.
Entry requirements /
prerequisites Basic knowledge related to HTML and Internet systems
Course contents
1) Evolution of web technologies
2) Document Object Model
3) Dynamic documents and JavaScript
4) CSS and visual layer of applications
5) XML and integration of Web Systems
6) Asynchronous JavaScript and XML
Assessment methods project work
Learning outcomes
After the course participants will be able to implement online systems with the integration of
several technologies. Acquired skills are related to theoretical and technical aspects of online
platforms and systems. Competences are related to group work and ability to solve practical
problems.
Required readings
1. D. Cederholm: CSS3 For Web Designers, A Book Apart, 2015
2. K. Jeremy: DOM Scripting: Web Design with JavaScript and the Document Object Model,
APress, 2005
3. J. Kalbach: Designing Web Navigation: Optimizing the User Experience, O'Reilly, 2007
Supplementary
readings
1. E. Castro: HTML5, and CSS, Eight Edition: Peachpit Press, 2013
2. T. Parker: Designing with Progressive Enhancement: Building the Web that Works for
Everyone, New Riders, 2010
3. S. Powers: JavaScript Cookbook, O'Reilly & Associates, 2010
4. C. Jarrett, G. Gaffney: Forms That Work: Designing Web Forms For Usability, Morgan
Kaufmann, 2008
Additional
information
48
Course title E-COMMERCE AND ONLINE MARKETING TECHNOLOGIES
Field of study Computer Science and Information Technology
Teaching method Lectures and laboratory
Person responsible for
the course
Ph.D. Eng. Jarosław
Jankowski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) ECO ECTS points 3
Type of course Optional Level of course Bachelor
Semester Winter Language of instruction English
Hours per week 2L 1W Hours per semester 30L 15W
Objectives of the
course
The main goal of this course it to deliver students extensive knowledge with both practical
and theoretical background in the area of technologies and analytical methods used in e-
commerce and online marketing. Exercises will be based on planning new online businesses
and launching practical solutions within selected ecommerce platforms, planning and
launching online campaigns with advertising servers, using analytical tools for data analysis,
integration of proposed solutions with social platforms. Analytical part includes web mining
techniques, social network analysis and visualization methods.
Entry requirements /
prerequisites Basic knowledge related to HTML and Internet systems
Course contents
1. Evolution of online marketing
2. E-commerce platforms in B2C sector
3. E-commerce platforms for B2B sector
4. Conversion optimization in web systems
5. Advertising serves in online campaigns planning
6. Search engines marketing and computational advertising
7. Personalization and recommending systems
8. Eye tracking and user centric analysis
9. Social media and analysis of complex networks
Assessment methods project work
Learning outcomes
After the course participants will be able to plan, implement and optimize online businesses
and marketing campaigns with dedicated systems. Acquired skills are related to both
technical and analytical aspects of online business and marketing. Competences are related
to group work and ability to solve practical problems.
Required readings
1. K. C. Laudon, C. Traver: E-Commerce 2015, 2014
2. T. Ash: Landing Page Optimization, Sybex, 2014
3. K. Bauknecht, M. Tjoa, G. Quirchmayr: E-Commerce and Web Technologies, Springer,
2009
Supplementary
readings
1. K. Goetsch: eCommerce in the Cloud: Bringing Elasticity to eCommerce, 2014
2. Ch. Roxburgh: Social Media in Business, 2015
Additional
information
49
Course title COMPUTER GAMES PROGRAMMING
Field of study Computer Science
Teaching method Lectures and workshops
Person responsible for
the course
Ph.D. Hab. Eng. Radosław
Mantiuk
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) CGP ECTS points 4
Type of course obligatory Level of course Bachelor
Semester summer Language of instruction English
Hours per week lectures: 1, workshops: 4 Hours per semester lectures: 15
workshops: 60
Objectives of the
course
The main objective of the course is to introduce a concept of the computer games
development and show basic programming techniques related to the real time computer
graphics.
Entry requirements /
prerequisites Good skills in C++ programming.
Course contents
Lecture topics:
1. Introduction to the computer graphics (concepts of image synthesis, shading model,
raster image, aliasing, image filtering).
2. Real time computer graphics system (GPU, display technologies, colour management).
3. Introduction to game development and OpenGL library.
4. Game engine pipeline (3D scene, 3D transformation, light sources, material appearance,
geometry processing, rasterization, graphic buffers).
5. Shading models.
6. Texturing.
7. Introduction to the GPU programming.
Workshops: students implement a simplified computer game based on the OpenGL library.
Assessment methods Lecture: grade
Projects: evaluation of the implemented game
Learning outcomes
knowledge: students gain knowledge about implementation of the computer game based on
the real-time graphics library (OpenGL).
skills: they improve their skills in using programming tools (IDE environment, API
documentation, etc.) and Internet resources.
competence: development of the fully operation computer game gives them a competence
in the real-time computer graphics programming tasks.
Required readings Internet resources on OpenGL programming
Supplementary
readings
1. Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Real-Time Rendering (3rd edition),
A K Peters, 2008.
Additional
information
50
Course title VIDEO SURVEILLANCE SYSTEMS
Field of study Computer science
Teaching method Workshop
Person responsible for
the course Adam Nowosielski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) VSS ECTS points 3
Type of course Optional Level of course Bachelor / master
Semester Winter / summer Language of instruction English
Hours per week 2 Hours per semester 30
Objectives of the
course
The main objective of the course is to familiarize students with the wide range of possibilities
and principles of the modern intelligent monitoring systems.
Students will be prepared to design intelligent surveillance system performing the tasks of
automatic processing, analysis and recognition of digital images.
Entry requirements /
prerequisites Elementary digital image processing.
Course contents
Introduction to video surveillance systems.
Automatic detection and recognition of objects in video surveillance systems.
Approaches to: background modeling, object detection and recognition, tracking, trajectory
analysis.
Example implementations of intelligent video surveillance systems: vehicle traffic
measurement systems, human traffic analysis, people identification based on biometric
features, etc.
Assessment methods Assessment of the project created during practical exercises and discussion of the final report.
Learning outcomes
Students are familiarized with the wide range of possibilities and principles of the modern
intelligent monitoring systems.
Students are prepared to design intelligent surveillance system performing the tasks of
automatic processing, analysis and recognition of digital images.
Required readings
1. Richard Szeliski. Computer Vision: Algorithms and Applications. Springer London, 2011
2. R. Gonzalez, R. Woods, S. L. Eddins, Digital Image Processing Using MATLAB 2nd Ed.,
Gatesmark Publishing, 2009, 827 p.
Supplementary
readings
1. W. Lin (Ed.). Video Surveillance. InTech. 2016
2. H. El-Alfy (Ed.). Recent Developments in Video Surveillance. InTech. 2016
Additional
information
51
Course title HUMAN-COMPUTER INTERACTION
Field of study Computer science
Teaching method Workshop
Person responsible for
the course Adam Nowosielski
E-mail address to the person
responsible for the course [email protected]
Course code
(if applicable) HCI ECTS points 3
Type of course Optional Level of course Bachelor / master
Semester Winter / summer Language of instruction English
Hours per week 2 Hours per semester 30
Objectives of the
course
The main objective of the course is to familiarize students with the current trends in human-
computer interaction. New approaches like touchless interaction as well as classical methods
are discussed and analyzed during the course.
Entry requirements /
prerequisites Elementary programming skills.
Course contents
Introduction to human-computer interaction.
Improving everyday computing: mouse gestures, virtual assistants, etc.
Detection and recognition of the user.
Who is the user? – assessment of sex, age and emotional state.
Touchless interaction: gestures recognition, hand operated interfaces, head operated
interfaces, touchless text entry.
Eyetracking - determining the areas of interest on the screen.
Assistive technologies for user with disabilities.
Assessment methods Continuous assessment of tasks carried out during the classes.
Learning outcomes Students are familiarized with the wide range of modern equipment, software and algorithms
of human-computer interaction.
Required readings
1. A. Dix, J. Finlay, G. D. Abowd, R. Beale. Human-Computer Interaction (3rd Edition), Pearson,
2004
2. B. Shneiderman, C. Plaisant. Designing the User Interface: Strategies for Effective Human-
Computer Interaction (5th Edition), Pearson Addison-Wesley, 2009
3. D. K. Kumar, S. P. Arjunan. Human-Computer Interface Technologies for the Motor
Impaired. CRC Press. 2015
Supplementary
readings
1. I. Pavlidis (Ed.). Human-Computer Interaction. InTech. 2016
2. D. Chugo (Ed.). Human-Robot Interaction. InTech. 2016
3. I. Maurtua (Ed.). Human-Computer Interaction. InTech. 2016
4. C. Giorio, M. Fascinari. Kinect in Motion - Audio and Visual Tracking by Example. Packt
Publishing. 2013
Additional
information