Skip to content

Specialized area, Master's degree - Software Engineering

The software engineering area within the software engineering, business processes, and databases profile focuses on methodical and tool support for software creation, deployment, and operation, addressing issues such as:

— software development methodologies,
— application of modeling in software analysis and design,
— software testing,
— software architecture,
— configuration management and software metrics,
— applications of frameworks and domain-specific languages,
— building workflow management systems,
— query languages and non-relational database environments (NoSQL),
— visual interfaces for data sources,
— distributed applications using dedicated devices (IoT),
— web application development,
— applications of linguistic engineering.

Elective subjects required or recommended for the area in software engineering:

— Project management (required, unless similar topics were covered during completed first-cycle studies)
— Advanced modeling and analysis of IT systems (required)
— Graphs and their applications (recommended)
— Distributed systems and service integration (recommended; part-time studies only)
— Linguistic engineering (recommended)

Particularly valued original elements of master's theses are the generality of the developed solutions, as well as the appropriateness of the chosen methods and tools for the selected specific problem.

Topics of completed master's theses within the software engineering area:

  • Implementation of an object-oriented query language.
  • Web service choreography based on an object-oriented process model.
  • Wrappers for various types of data sources (relational, XML, full-text, etc.) for a visual data exploration environment
  • Tools for visual database schema design
  • Reverse engineering tools analyzing source code.
  • Query optimization in a database management system
  • Construction of a domain-specific language for a selected problem area
  • Design and implementation of an extension for a popular IDE or software development support tool.
  • A tool increasing the productivity of building the presentation layer of web applications.
  • Building a specialized web-scraping tool.
  • Extension of an existing programming language based on preprocessing.
  • Development of a CMS (content management system).
  • A dedicated mobile application to facilitate the management of a selected online system.
  • A tool supporting the evaluation of web application usability.
  • Develop the assumptions of a framework and/or portal to solve a selected general problem.
  • Solutions implementing the IoT (Internet of Things) concept based on a selected platform.
  • A generic solution enabling the connection of a microcontroller (e.g., Arduino) to the Network/Cloud.
  • A comparative analysis of specified tools or architectural patterns from the perspective of the intended application, supported by the implementation of an example.
  • Solutions for (almost) zero-code software development (Low-Code Development Platform – LCDP, No-Code Development Platform – NCDP).
  • Automatic summarization of text documents
  • Automatic named entity recognition and thematic grouping of documents
  • Automatic answers to text-based questions
  • Sentencer – a program for dividing text into sentences, taking into account very different types of texts, dialogues, poems, and specialized texts
  • TermExtractor – a program for identifying terminology in text (frequently appearing noun phrases related to a given field)
  • TermClusterer – a program for grouping terms based on occurrence in the same text contexts (and other selected features)
  • A program for automatic text correction (taking into account data from the currently processed text, rather than just a dictionary of all forms)
  • Development of a domain-specific textual modeling language
  • Development of a domain-specific visual modeling language
  • A domain-specific language supporting the design of a database schema / data warehouse
  • A domain-specific language supporting the implementation of functionality for a selected type of application
  • An environment for designing traffic control systems using a domain-specific language.

List of potential master's thesis supervisor – Department of Software Engineering:

- Prof. dr hab. Kazimierz Subiet
- Prof. dr hab. Maria Orłowska
- dr hab. Piotr Habela
- dr hab. Agnieszka Mykowiecka
- Eng. Tomasz Pieciukiewicz, PhD
- Eng. Mariusz Trzaska, PhD

The choice of the area at the Faculty of Computer Science is made after completing a survey.

The survey is completed by students during the application process for master's degree programs at the Department of Computer Science.