Skip to main content
Skip header

Computer networks and hardware

Today, there is a lot of talk about new web services, mobile applications, interactive devices and other services and tools for end users. However, a very important part of modern technology is also the technical equipment (hardware) and infrastructure itself. Without these components, it would not be possible to develop and offer new services and applications, especially with the ever-increasing demands for speed and quality of data transmission, reliability, and ergonomics.

In this area, students will learn basic information about hardware concepts and their use in the overall architecture of modern systems. They will learn to think about how things work in the background, what is needed to run today's key services, or learn to configure such devices (especially network infrastructure) themselves or develop their own algorithms and applications for specific devices.

Students personally work with various Cisco or TP-Link network elements, network infrastructure simulators or single and multi-purpose hardware platforms such as Raspberry Pi. The applications of such students range from administrators of computer networks of various sizes and importance to developers of specific devices or programmers of industrial devices, machines, or equipment.

Computer graphics and image processing

Image processing, modeling, visualization, and other computer graphics tasks are now an integral part of almost every project, not only in information technology. The basic skill and ability to visually process and present information, or to be able to use visual information for other downstream activities, can be a great asset to the work of development teams in software, architecture, marketing, automotive, medical, etc.

Within this area, students may encounter courses that focus on the theoretical foundations and algorithms of computer graphics, 3D modeling, user interface design, to various forms of image and multimedia data processing. In addition, our department also handles several specialized projects that primarily use image processing methods in practice.

These include projects for gaze and activity recognition, vehicle detection, control of devices based on image analysis, etc., in which students can of course also participate. During their studies, they will encounter a variety of approaches and techniques, as well as modern visualization tools and specialized devices such as Oculus Rift, Microsoft Kinect, Intel RealSense.

Graduates who focus on the field of graphics and image processing may find it very interesting. Graduates may subsequently be involved in projects for the development of computer games, architectural visualization, or the development of specialized devices for autonomous image processing in industrial deployment, etc.

Software Engineering

Information technology is not just about algorithms, programming, or coding, but it is a complex discipline covering a wide range of activities, activities, and processes. In order to effectively define and manage all these activities and operations, it is necessary to provide an environment for their implementation. And this is the area that software engineering is primarily concerned with. Its task is to implement the so-called software process, which manages, coordinates, and ensures the interconnection between the different phases of software development and not only. Thus, software engineering offers a range of tools, methods and technologies that allow to specify the requirements for an emerging project, analyze and design appropriate solutions and procedures, manage the implementation or ensure the resulting testing and deployment.

Within the courses falling under this area, students will learn to use tools for capturing the individual phases of the development process using UML diagrams or other specification techniques and understand how to manage the overall development process using state-of-the-art approaches such as RUP or SCRUM.

The range of students who like this field is very wide. Most often, they are profiled as software team leaders who are responsible for coordinating and managing not only software processes. They can also find employment as qualified members of development teams in various roles, e.g. Scrum master. As software engineering is a field at the boundary between technology, business, and communication, graduates often find themselves working as project managers, account managers or analysts with close links to the client or customer.

Programming and algorithms

This area is one of the cornerstones of any information technology professional. The ability to think analytically, to be able to design a solution to a given problem and then implement this solution, to evaluate the quality of the resulting solution and verify its correctness, etc. is a very important part of the work of every programmer, coder, database specialist, etc.

In the course of the course, students will encounter a variety of subjects that are more or less focused on programming and algorithmization of tasks. Whether it is the actual basics of programming or the creation of program codes for database systems, complex parallel data processing, development for specific hardware devices or web applications. Knowledge of the programming language and the ability to think analytically and transfer the design of algorithms into a programming environment is always essential. An interesting part is the focus on specialized algorithms that require a deeper knowledge of theoretical computer science and efficient ways of implementation, such as genetic and evolutionary algorithms, parallelized algorithms, etc. In this area, environments offering high computational power, such as modern graphics cards or a supercomputer, which VŠB-TUO also has at its disposal, are often used and students can participate in projects using it.

In the department, we focus on a wide range of programming and production environments and technologies for use in specific courses and specializations. During your studies, you may encounter programming in C/C++, Java, C#, .NET, PHP, Perl, CUDA, JavaScript, SQL and a variety of other development environments.

Because programming permeates the entire learning process at various levels of difficulty and complexity, the ability to write an algorithm using program code is one of the fundamental skills of graduates. Employment is then often determined more by another specialization, however, a quality programmer and experienced developer in each technology is also a highly valued workforce and an effective career option today.

Web and mobile technologies

Technologies closely related to the Internet and mobility are among the most important areas today, both in terms of user and development. Nowadays, virtually all new ideas and possibilities for the use of information and communication technologies are somehow linked to the world of the Internet and mobile devices. Whether it is the ability to read emails on a smartphone, to the integration of large enterprise solutions into web and mobile client environments. Games are also an important chapter, where current trends and advanced technologies make it possible to develop an application once and then seamlessly deploy it not only as a web application, but also on various mobile platforms or even stream it via web technologies.

Courses that touch on web and mobile platforms in some way are designed across the whole study and cover both the purely technical level (HTML 5, JavaScript, CSS, mobile frameworks, etc.) and the user to business level (User eXperience, e-commerce, SEO, etc.). The student can focus on a specific technical area and then complement it with the perspective of web users and developers.

The application of students in this field is also very interesting and increasingly important. A student who successfully penetrates the secrets of modern web technologies, and also has a visual and user experience, can work as a freelancer and implement not only custom web presentations and information systems, but also mobile applications and games. He can also become an integral part of development teams of large products where the web part is a major or even a minor part of the whole system, this is common in e.g. eshops, CRM or ERP systems.

Data analysis and processing

Terms such as "big data", "data mining", data aggregation, information mining, etc. are very frequently used nowadays and in a way define trends in modern technologies focused on data processing, storage, evaluation and visualization. However, collecting and obtaining quality data, e.g. on user behavior in an e-shop or time data on the operation of a device, is only the first step towards its effective use. Several challenging stages follow, which must ensure that such large amounts of data are stored appropriately, structured appropriately and then processed, analyzed and visualized. Only the resulting processing of such data into visualized information is often the only way to turn the huge amount of 0 and 1 into a tool for better business decision making, traffic management or weather forecasting.

The issues of data and data processing are again distributed throughout the study and individual subjects, especially in the field of programming and algorithms, work with it as needed. Thus, a student may encounter data processing in various stages and forms, for example, in solving simple algorithms for solving trees, in designing and storing data in databases, and in visualizing data in the user environment of a web-based system.

In addition, there are also a number of courses that deal directly with data processing, in terms of large data collections and their efficient processing and evaluation. The data that students may then encounter are various data analyzed from images, industrial devices, social networks, EEG signals, eye-tracking data, real-time data and many others that are constantly expanding and new ones are being discovered with respect to the integration of modern technologies into everyday life.

Students who focus their studies on data analysis and processing, and especially on big data processing, need not worry about their future employment. This is also proven by the current success of Czech companies (startups) in the field of data analysis from social networks or business systems. With the knowledge of specialized approaches and algorithms that can effectively handle large amounts of data, it is possible to implement recommendations and optimizations in various areas of human activities. A good data architect and analyst is and will be one of the most in-demand professions.

Database systems

While current trends are towards new and innovative ways of interacting with users, supporting mobility or socializing, we must not forget the technology that makes it all possible. These technologies are largely database systems. They offer a modern and efficient environment for the operation of databases, which nowadays place ever greater demands on the amount of data stored and the speed of processing. And there is no doubt that the development of new approaches in this area is also on the rise, as evidenced by the latest versions of so-called "Database Management Systems", which today can handle big data, query dynamically, pre-process data in memory, etc.

Students will encounter the field of databases and information systems throughout their studies, both at a more general level and when dealing with specialized topics of effective data management. Thus, databases often form an integral part of projects in various subjects, where their implementation is an essential part of the implementation of information systems, web or mobile applications, etc. Specifically, they may encounter professional systems from Microsoft or Oracle, as well as available MySQL solutions, etc.

A skilled database engineer is very employable today, both in large companies and on smaller projects where it is necessary to manage, configure, maintain or optimize production databases for a variety of uses.

Theoretical Informatics

Most of the courses aim at practical deployment of the results in a production environment so that students can effectively evaluate the complexity and applicability of the procedures and technologies. The area of theoretical computer science focuses on the fundamental foundations of the apparatus of logic, graphs, algebraic structures, etc. This primarily with the motivation to provide a robust base for downstream implementations in various levels of information technology. With the theoretical foundations, it is then possible to create efficient algorithms, structures, applications, etc.

The applicability of graduates focusing on this area is not as wide in the commercial sphere as in other fields, but a good mastery of theoretical computer science can be an interesting starting point for career growth in all areas of information and communication technologies.

Computer security

The number and scale of cyber attacks is increasing every year, and so is the need for qualified professionals in the field of information and communication security. In the last decade, we have witnessed a massive digitization of information, a shift to cloud-based solutions and a growing interest in the concept of the Internet of Things, which opens up new opportunities but also brings new security risks.

Detecting, identifying and minimizing security risks requires graduates to have knowledge of ICT (Information & Communication Technology) with a profile in information and communication security with the ability to apply knowledge in practical ways in information systems and computer networks, and finally the need to know the related legal issues of cybercrime.