Skip to content

Specialized area, Master's degree - Software Engineering

The area of software engineering within the Software, Business Process and Database Engineering silhouette focuses on methodical and tool support for software development, implementation and operation, addressing the following issues, among others:

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

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

-Project Management (required, unless similar topics were pursued as part of a completed undergraduate degree)
-Advanced Modeling and Analysis of Information Systems (required)
-Graphs and their Applications (recommended)
-Distributed Systems and Service Integration (recommended; degree only part-time)
-Linguistic Engineering (recommended)

Particularly appreciated original elements of the thesis are the generality of the developed solutions, as well as the accuracy of the selection of methods and tools for the chosen specific problem.

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

  • Implementation of an object-oriented query language.
  • Web services choreography based on an object-oriented process model.
  • Wrappers for various types of data sources (relational, XML, full-text, etc.) for a visual data mining environment
  • Tools for visual database schema design
  • Reverse engineering tools that analyze source code.
  • Query optimization in a database management system
  • Construction of domain-specific language (domain-specific language) for the selected problem area
  • Design and implementation of an extension for a popular IDE or tool that supports the software development process.
  • A tool to increase the productivity of building the presentation layer of a Web application.
  • Building a specialized Web-scraping tool.
  • An extension of an existing programming language based on preprocessing.
  • Building a CMS (content management system).
  • Dedicated application for mobile devices to facilitate the management of the selected online system.
  • A tool to help evaluate the usability of Web applications.
  • Develop the assumptions of a framework and/or portal to solve a selected general problem.
  • Solutions implementing the idea of IoT (Internet of Things) based on the chosen platform.
  • Generic solution to connect a microcontroller (e.g. Arduino) to the Network/Cloud.
  • Supported by the implementation of an example, a comparative analysis of specific architectural tools or patterns from the point of view of the assumed application.
  • Solutions for developing software (almost) without writing code (Low-Code Development Platform - LCDP, No-Code Development Platform - NCDP).
  • Automatic summarization of text documents
  • Automatic name recognition and subject grouping of documents
  • Automatic answers to text questions
  • Sentencer - a program for splitting text into sentences taking into account very different types of texts, dialogues, poems, specialized texts
  • TermExtractor - a program for identifying in-text terminology (frequently occurring noun phrases related to a particular field)
  • TermClusterer - a program for grouping terms based on occurrence in the same textual contexts (and other selected features)
  • A program for automatic text correction (taking into account data from the currently processed text, not just from the dictionary of all forms)
  • Construction of a domain-specific textual modeling language
  • Building a visual modeling language specific to the domain
  • A domain language to support the design of a database schema / data warehouse
  • A domain language that supports the implementation of the functionality of the selected type of application
  • An environment for designing traffic control systems using a domain language.

List of potential thesis supervisors - 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 selection of the scope in the Department of Computer Science is made after completing a questionnaire.

The questionnaire is filled out by second-year, sophomore students at the Department of Computer Science.