+ All Categories
Transcript

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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


Top Related