Discrete Mathematics

Learning outcomes of the course unit:

To acquire knowledge of foundations of Discrete mathematics, Algebra and Logics with the emphasis to finite structures. To extend the ability to perceive mathematics in more abstract level. To make students able to write elementary proofs individually, to understand the implication and basic types of mathematical proofs. To make the students aware of the foundations of the Graphs Theory and its applications in Computer Science.

Course contents:

Introduction. Sets, operations on sets, mathematical induction. Relations. Equivalence relation and partial order. Operations on sets. Groupoids, monoids, commutativity. Lattices, distributive and modular lattices. Boolean algebras. Sublattices, homomorphisms, congruencies on lattices, factor lattices. Representation of finite distributive lattices. Groups, subgroups, groups of permutations. Homomorphisms and congruencies on groups, normal subgroups. Graphs and their representation. Isomorphism of graphs. Connected graphs. Minimal path algorithm for a weighted graph. Trees and spanning trees. Minimal spanning tree algorithms.

Linear Algebra

Learning outcomes of the course unit:

The aim is to show basic notions and methods of linear algebra. Students should learn the definition and basic properties of linear spaces over complex numbers and over finite fields. They will understand the basic methods of solving systems of linear equations and matrix representation of linear operators. Students have to learn how changing the bases affects the matrix representation of a linear operator. It will be explained how the cannonical forms of square matrices can be obtained. The Gramm-Schmidt orthogonalization over rational numbers will be used to explain foundations of LLL-algorithm.

Course contents:

1. Complex numbers 2. Polynomials, Euclidean algorithm 3. Fields R,C,Z_p the construction of complex numbers field and some finite fields 4. Linear space 5. Basis and dimension of a subspace, rank of matrices 6. Linear transformation, matrix representation 7. eigenvalues and eigenvectors 8. Minimal and characteristic polynomial of a matrix 9. Jordan cannonical form 10. Scalar product in R^n 11. Gramm-Schmidt ortogonalisation 12. LLL algorithm

Logic Systems

Learning outcomes of the course unit:

To provide students with foundations of basic topics of the discrete mathematics aimed at Boolean functions and their applications in combinatorial circuits. An application in the self-correcting codes theory is presented. Consecutively, the students will yield basic knowledge on the finite-state machines and their practice outcome in sequential circuits.

Course contents:

Introduction to Discrete Structures, Mappings, Operations, Relations, Equivalence Relations and Partitions, Logic, Predicates and Quantifiers, Graphs, Boolean Expressions, Boolean Functions, Normal Disjunctive and Conjunctive Forms, Algebraic Normal Form, Minimization of Boolean Expressions, Karnaugh Maps, Combinatorial Circuits, Finite-State Machines, Equivalence of States, Equivalence and Cover Relation between Finite-State Machines, Sequential Circuits

Analysis and Complexity of Algorithms

Learning outcomes of the course unit:

The aim of this course is to understand the notions in complexity of algorithms, to obtain knowledge and techniques to estimate the computational complexity of algorithms, to obtain practical skills in this field by analyzing well known algorithms from various areas (graph theory, number theory, cryptology, and others).

Course contents:

1. Algorithm. Computational complexity of an algorithm. Asymptotic growth of functions. 2. Manipulations with series. Recurring relations. 3. Sorting. 4. Independent sets and graph colouring. 5. Fast Fourier transform. 6. The network flow problem. 7. Matrix operations. 8. Selected number theory algorithms. 9. Pattern matching. 10. Complexity classes.

Statistical Methods in Informatics

Learning outcomes of the course unit:

The course provides the fundamentals of statistical methods with focus on their practical application using Matlab statistical software, with emphasis on probabilistic inductive approach to statistical analysis

Course contents:

Random events, the probability of a random phenomenon. Random variable and its distribution. Conditional probability. Bayes formula. Distributions for discrete random variable. Distributions for the continuous random variable. Moments, covariance, correlation coefficient. Basic statistical concepts. Descriptive statistics. Random sample and its implementation. Characteristics of a random sample, sample mean, sample variance. The Central Limit Theorem. Point and interval estimators. The confidence intervals for mean and variance. Statistical tests of hypotheses.

Applied Computational Intelligence

Learning outcomes of the course unit:

Introduction to selected approaches of computational intelligence (CI) as fuzzy logic, artificial neural networks, evolutionary computation and expert systems. The use of CI approaches in practical applications in mathematics, informatics, technology, economics, finance and other

Course contents:

Introduction to computational intelligence methods (CI) as fuzzy logic, artificial neural networks, evolutionary computation, expert systems. Application of CI in mathematics, informatics, technology, economy and finance.

Knowledge Representation and Inference Mechanism

Learning outcomes of the course unit:

To acquire deep skills from the area of methods for knowledge representation in artificial intelligence systems and methods for solving poorly defined problems

Course contents:

Basic schemes of knowledge representation (declarative, procedural, frames, semantic nets, production rules). Combination of schemes. Representation of uncertainty. Bayes and fuzzy approach. Solving problems in artificial intelligence systems. Inductive and deductive approach. Relation between inference and representation scheme. Chaining of rules. Basic approaches, combination of them. Application areas. Typical properties of the solved tasks. Possibilities of use in control. Calculations and real time.

Development programming environment for mechatronic systems

Learning outcomes of the course unit:

Subject builds on the theoretical knowledge and practical experience gained in teaching information technology in bachelor study. This subject will deepen students' knowledge of programming and application development in a wide range of mechatronic systems.

Course contents:

1. Introduction to high-level programming languages ​​such as support for MS 2. Development environment of mechatronic systems 3. Visualization tools and SW 4. The use and utilization of commercial software for MS devices

Design and Diagnostics of Integrated Circuits and Systems

Learning outcomes of the course unit:

Students will become familiar with the basic principles of digital integrated circuit design, modern IC simulation and design tools such as HSPICE and ISE by XILINX, high-level digital design using HDL languages (VHDL), testability problems, design for testability (DFT) approaches: SCAN, BIST

Course contents:

Structure and properties of basic cells of IC: diode and unipolar (MOS) transistor. MOS transistor as switch and amplifier. Classification of IC according to production technology. CMOS logic cirsuits, basic logic cells. Combination and sequence circuits. Methodology of IC design, design tools. Specification of IC chip design, fundamentals of cell design in selected technologies (NMOS, CMOS, BiCMOS). Design of digital circuits on higer abstraction level (VHDL). Overview of defects and their influence on parameters, function and reliability of IC. Test vectors and methods of test sequences generation. Testability of IC.

Analyses and syntheses of DEDS

Learning outcomes of the course unit:

The aim is to acquire the means and methods of analysis and synthesis of systems, which are based on discrete changes in conditions caused by events. It is to become familiar with the analysis and synthesis algorithms for a particular modeling formalism, especially Petri nets and show their use in the analysis and synthesis systems in various application areas.

Course contents:

Basic properties of event systems, reachability, boundedness, liveness and deadlocks. Sequential description of the behavior of Petri nets. Structural analysis and invariants of Petri nets. Liveness analysis in Petri nets. Boundedness analysis in Petri nets. Analysis of deadlocks in Petri nets. Reachability analysis in state machines and Petri nets. Synthesis of models from regular expressions and machines based on Petri nets. Nonsequential description of the behavior of event systems. Verification of reachability by nonsequential processes. Algorithms for verifying the feasibility of sequential and nonsequential scenarios. Synthesis of models based on Petri nets from nonsequential scenarios. Examples of the use of analysis and synthesis in the application areas of business processes, flexible manufacturing systems and communication protocols.

Modeling and Simulation of Event Systems

Course contents:

Principles of modeling event systems and modeling use in software design. Introduction to UML and MDA architecture principles. Modeling of static data structures in UML. Event systems modeling behavior in UML. Modeling of data structures using algebraic specifications. Modeling formalism based on automats and hierarchical automats. Modeling formalism based on Petri nets. Modeling formalism based on the partial order of events, process algebras and rewriting systems. Relations between modeling formalisms and their equivalence, independence and parallelism, causality and synchronicity of activities and events. Workflow networks and their use in modeling business processes. Signal networks and their use in modeling the application area of ​​flexible manufacturing systems and embedded systems. Examples of modeling of communication protocols. Techniques and strategies event systems simulation.

Systems for Objects Security and Safety

contents:

General information, health and safety, abstract 2nd Input detectors, ESS controllers 3rd Basics of hardware equipment 4th Standard programming 1 5th ESS output units, communicators 6th CCTV, Access control systems 7th Standard programming 2 9th Credit quiz 10th Advanced programming

Computer Architecture

Learning outcomes of the course unit:

The objective of the subject is to gain knowledge of the basic conception of computers, multiprocessor and multicomputer systems and to learn principles of the main PC subsystems -- processor, I/O subsystem and memory subsystem. It is necessary to learn basic formats of data, information coding, principles of algorithms of basic arithmetic-logic operations.

Course contents:

The history of computers, generations of computers, concepts (Princeton, Harvard), Implementation of basic components (inverter, NAND, ...). Organization of information, integer conversion, conversion of fractions. Data representation. Numbers, logical information, characters, pixel. Endians, byte alignment. EDC and ECC - codes. The basic logic operations, half and full adder, encoding negative numbers. BCD code. The multiplication, division. FPA arithmetic, coding (IEEE 754), conversions, Principle of basic arithmetic operations in the FPA . Memory (RAM, RWM, ROM). Principles (ROM, SRAM, DRAM), LIFO, FIFO. Hard disk, SSD. Address (physical, logical). Virtual addressing, paging. Cache memory Processor (CPU), main function, structure of CPU. Pipelining of instructions. CISC and RISC processors. Performance and classification of processors and computers. I/O mapping. Service of peripheral devices. Interrupt-driven I/O. DMA principle. The internal computer bus, functions, parameters, control. Overview of the PC bus. Plug and Play. The contemporay bus types. Serial data transfer. Buses RS 232, RS 422, RS 485. Computer networks, LAN, WAN, internet. Operating Systems, the basic functions of OS, process, multitasking. An overview of multiprocessors and multicomputers architectures.

Operating Systems

Learning outcomes of the course unit:

The course aims to familiarize students with the structure and functions of the core operating system (OS), process management, memory, file system, as well as the relevant system calls of these functions for operating systems like Unix and Windows.

Course contents:

1. Development and function of OS, OS classification 2. Introduction to Operating Systems (OS), Unix and Windows like OS 3. File system 4. Shell 5. Bash 6. Powershell 7. Regular expressions 8. Simple text-processing filters: grep, sed, awk 9. Processes and tasks 10. Communication and synchronization of processes 11. Management of parallel processes 12. Memory management

System Programming

Learning outcomes of the course unit:

The goal of the subject is to give the students basic knowledge in using of OS kernel functions, known as the system call, in C language.

Course contents:

2. The creation of large programs in Linux 3. Processes, creation and cancellation, system calls and programming structure 4. Process communication and synchronization 5. Signals and interrupts, signal handling and programming structure 6. Threads, creation and cancellation, library functions and programming structure 7. Threads synchronization (mutexes, semafors, condition variables) 8. Timers 9. Basic system calls for I/O

Communication Networks

Course contents:

Introduction; principles and concepts; layered protocol model, reference models, protocol, communication, services Physical layer, data link layer, MAC and LLC sublayers, error and flow control, medium access control LAN, MAN and PAN networks according to IEEE 802.x standards Network layer, routing, congestion control, quality of service TCP/IP network model, network layer protocols, IP Transport layer, UDP and TCP protocols Application layer, DNS, e-mail, WWW WAN networks: ISDN, ATM, MPLS, IP Wireless networks Multimedia

Introduction. Network architectures OSI, TCP/IP, layers and model protocols. Communication functions, services, protocols and their qualities. Communication functions- management of errors. Communication functions -- management of flow, quality and security of service. Communication functions -- leading, leading protocols. Protocols of physical layer. Protocols of link layer. Architecture of metallic and wireless networks WAN and their protocols. Network architecture TCP/IP, addressing in the environment of IP network, leading. Principal differences between the systems IP V.4 a V.6. Transportation service UDP and TCP. Multiprotocol systems, Virtual Private Networks. Design of traffic. Architecture and protocols of mobile data networks (GPRS and UMTS and etc.). New informations, network and communication protocol news.

Mobile Computing

Learning outcomes of the course unit:

The student will acquire detailed knowledge of the current trends in mobile computing, including protocols and applications such as car-to-car communication, car-to-infrastructure communication, intelligent buildings, intelligent household etc.

Course contents:

1. Introduction to mobile computing. Application areas: car-to-car communication, car-to-infrastructure communication, intelligent buildings, intelligent households etc. 2. 4G protocols. UMTS, LTE, WiMax/IEEE 802.16, IEEE 802.11p, IEEE 802.11i, Bluetooth, Wibree/Baby Bluetooth, IEEE 802.20, 5G networks. 3. Private Area Network (PAN), Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), Global Area Network (GAN). 4. Broadcast, multicast, convergecast. 5. Satellite communication, GPS, differential GPS, Galileo, TERRA (Terrestrial trunked radio), Digital audio broadcast (DAB), Digital video broadcast (DVB). Time of arrival (TOA), time difference of arrival (TDOA). 6. Mobile IP, mobile IPv6. 7. Mobile platforms and middleware. Android SDK. 8. Context awareness, location awareness. Trajectory prediction, location prediction in buildings. WLAN fingerprinting. 9. Time synchronization in distributed systems. 10. Energy efficient protocols. Energy efficient anomaly and error detection. 11. Mobile cloud computing. Architecture for mobile learning, mobile healthcare. 12. Serious games for mobile platforms.

Team Project (Android)

Learning outcomes of the course unit:

Course contents:

Programming Techniques

Course contents:

1. Sorting algorithms 2. Recursion 3. Stack, Queue 3. Trees 3. Containers - linked list, set, map 4. Graphs and algorithms

Algorithms and Programming

Course contents:

Basics of algorithm design. Introduction in funcional programming. Programmig language C: Data types,flow control, functions, pointers. Standard functions: Working with text and files. Computational model, structure of memory, stac, heap, dynamical data structures.

Object Oriented Programming

Learning outcomes of the course unit:

The subject aims to apprise the students of object-oriented paradigm. It uses the Java language.

Course contents:

1) Coupling and cohesion. 2) Creating and using objects, using static methods. 3) Introduction to the Java language. 4) Defining classes, encapsulation. 5) Association classes. 6) Packages. 7) Interfaces. 8) Nested types. 9) Program to an interface, events. 10) Inheritance, abstract classes. 11) Exceptions. 12) Generic types. 13) Collections Framework. 14) Enumerations. 15) I/O streams. 16) Model-view-controller.

Software Application Development

Learning outcomes of the course unit:

Students will get familiar with the processes and procedures in the area of information system security, especially in the context of practical usage. Lectures will be divided into several parts that will subsequentially analyze and cover formal security (security standards, security management), network security (architecture, components, secure communication), operating systems and application security (authentication, authorization, trusted systems, malware) and privacy (privacy on web and of email, anonymity, privacy protection).

Course contents:

1. Systems and software engineering 2. Software processes 3. Project & change management 4. Requirements engineering 5. System modeling 6. Architectural design 7. Object-oriented design 8. Rapid software development & extreme programming 9. Software reuse 10. Software testing 11. Security engineering

Software Architecture

Learning outcomes of the course unit:

To acquire skills in implementing web-services and familiarize with SOA and Design Patterns.

Course contents:

Basics of SOA: RESTfull and SOAP web-services. JAXB, XML, XSD, DOM, SAX. Design of WSDL and XML-schema from UML-model. Implementation of web-service client and server from WSDL. Design Patterns.

Design of Database Systems

Learning outcomes of the course unit:

Familiarize with the application design principles based on multitiered architecture, client-server communication and object-relational mapping.

Course contents:

Multi-tiered client-server architekture. ORM, JPA: Entities and associations mapping. Web-servers and applications, servlets. JSF: components, navigations, validation,... Design and implementation of 3-tiered web-application. Intro in RESTfull services.

Design of Web Applications

Learning outcomes of the course unit:

To learn to prepare supporting materials for web page design, to be familiar with web design standards, to know how to choose suitable software for design of web applications, to know to evaluate quality and impact of created web page.

Course contents:

Overview and comparison of technologies and methodologies for web application design. Basic characteristics and comparison of leading web browsers (Internet Explorer, Firefox, Chrome, Opera). Tools for web application development. Overview of suitable formats for web multimedial content (png, jpeg, flash, mp3). Technologies for development of client side applications. Hypertext language HTML. Cascade styles. Client programming using JavaScript. Security, accessibility and attractivity of web applications.

Internet/Intranet Applications

Learning outcomes of the course unit:

Preparation of supporting tools and documents for the design of web pages, the emphasis is given to applications on a server side. Overview of web server and web client characteristics and technologies. The selection of technology for development of the web application and its implementation. Data analysis for preparation of the web application database. Evaluation of web page quality.

Course contents:

Overview and comparison of technologies and methodologies for web application design. Tools for web application development. Technologies for development of client side applications (HTML, DHTML, XML, RSS). Technologies for development of server side applications, CGI. Programming languages (PHP, Perl, Python). connection with databases (MySql, SQL). Client-server and server-server aplications. Security of internet applications. Characteristics of e-shop. Internet marketing.

Computer Graphics

Learning outcomes of the course unit:

Goal of the course is to teach students basic techniques used in computer graphics. From the practical point of view, students will learn how to use OpenGL for developing simple graphic applications.

Course contents:

1.Mathematical basics 2.Line algorithms 3.Fractals 4.Clipping 5.Curves and surfaces 6.Projections 7.Shadings 8.Color models 9.Physics in computer graphics 10.Image processing

IT Project Management

Learning outcomes of the course unit:

Students will gain information about soft skills related to project management in IT domain. They will be introduced with widely accepted norms and models - PMI, PRINCE, IPMA.

Course contents:

History of project management, overview of existing models (PMI, PRINCE, IPMA). Project planning and scheduling. Specifications of SW. Monitoring and managing of project. PRoject implementation and SW development. Overview of SW development methods and models (waterfall, iteration, formal methods). Risc management. Project roles. Trends in project management. Project management SW.

Workflow Management Systems

Learning outcomes of the course unit:

This course is the intorductory course to the field of Business Process Management theory and Workflow Management Systems.

Course contents:

Basic concepts of workflow processes - tasks, activities, cases, resources, processes. Basic constructions of workflow processes. Modeling and examples of workflow processes. Modeling formalisms of workflow processes. Petri Nets. Workflow nets. Qualitative and quantitative analyses of workflow processes. Resource allocation, push and pull priciple. Process mining. Architecture of workflow management systems.

Economics

Learning outcomes of the course unit:

To gain knowledge about generic terms and relations in microeconomy, macroeconomy, corporate economy and world economy.

Course contents:

1. Basic economic terms. Market and market mechanism. 2. Theory of firm and market equilibrium in perfect competition. 3. Company, business, companies structuring. Legal forms of companies. 4. Legal and economic aspects of the business associations. 5. Company's factors of production, company's assets. 6. Costs, prices, and company's financial management. 7. Macroeconomic terms. Investments and savings. 8. Money, banks, securities, stock exchange. 9. Inflation and unemployment. 10. Economic cycle. Economic growth. 11. Macro-economic policy. 12. World economy. International trade, financial system, integration. Globalization.