01. The definite and indefinite integrals: application and calculating techniques.
02. Taylor polynomial and series.
03. Methods of solving systems of linear equations and the number of solutions.
04. Eigenvalues of matrix or linear transformation and their applications in IT.
05. Graphs and their types. Methods of representing graphs.
06. Binary relations, properties and methods of representation.
07. The principle of mathematical induction.
08. Bayes’ theorem.
09. Statistical hypothesis testing.
10. Determination of confidence intervals.
11. Essential features of relational databases.
12. Essential elements and importance of entity relation diagrams and principles of accurate database schema design.
13. A concurrency mechanism of multiple users work in the database management system.
14. Basic objects, constructs and applications of SQL.
15. Basic principles of query optimization, including the types and importance of indexes in databases.
COMPUTER TECHNIQUES AND ARCHITECTURE
16. Neumann’s architectural model vs. Turing’s machine computational model, and their role in IT.
17. Boolean logic and its application in computer hardware.
18. Binary notation of integers, floating- point notation of real numbers, computer arithmetic.
19. Computational efficiency measures of processors, computer memory and computing systems.
20. Moore’s Law and its implications in the context of hardware development.
ALGORITHMS AND DATA STRUCTURES
21. Estimation of algorithmic complexity and complexity class of algorithmic problems.
22. Major types of search and sorting algorithms: review and applications.
23. Characteristics and applications of the basic data structures: stack, queue, priority queue, Find-Union structure, dictionary.
24. Binary and n-ary trees in algorithmics. Characteristics, implementation methods and applications.
25. Recursive algorithms vs. iterative algorithms: comparison and the outline of essential design objectives.
PROGRAMMING METHODS, KEY ISSUES
26. Object-oriented design and operating memory management in Java and C++.
27. The role of classes, interfaces and mixins in programming on the basis of Java.
28. The concept of inheritance on the basis of Java and C++.
29. The essence and application of polymorphism on the basis of Java and C++
30. The use of arrays and other data structures in Java and C++. Java Collections Framework.
31. Concurrent programming: mechanisms and tools on the basis of Java and C++.
32. Parameterized types and methods (generics) in Java. Templates in C++.
33. Lambda expressions and functional interfaces in Java.
34. Stream processing in Java (on the basis of java.util.stream package).
35. Tools for the input/output operation programming in Java.
36. Software development project management - types of activities, the choice of methodology and non-technical context.
37. UML (Unified Modeling Language) - its features and its support for various data models.
38. Design patterns and programming frameworks - characteristics, examples and applications.
39. Software quality assurance and software testing - standards, methods and criteria.
40. Software requirements - their kinds, their specification methods and their role in the software development process.
41. Application layer services and protocols on the basis of the HTTP.
42. Transport layer services on the basis of the TCP.
43. Network layer routing protocols on the basis of the OSPF protocol.
44. Data link layer services on the basis of the Ethernet or the 802.11 protocol family (WiFi).
45. Information security methods in e-Banking.
46. Color models.
48. Compression techniques in MPEG standards.
49. Aliasing. How to avoid aliasing? Aliasing vs. sampling rate.
50. Human-Computer Interaction (HCI): Nielsen-Molich heuristics.
FUNDAMENTALS OF ELECTRONICS AND DIGITAL TECHNOLOGY
51. Basic passive element implementations (resistors, capacitors, coils)
52. RC low-pass filter. Filter’s cut-off frequency and bandwidth.
53. Harvard architecture vs. von Neumann architecture.
54. Methods of event handling in a microcontroller.
55. Common communication interfaces in a microcontroller.
56. Classification of operating systems.
57. Process and thread scheduling in operating systems.
58. Process and thread synchronization in computer programs and its support by computer systems and operating systems.
59. Operating memory management mechanisms used in operating systems.
60. Virtual memory mechanism: pros and cons.