IT v kurze > Study > Software Engineering
en

Software Engineering

Moderated online education

We teach through the METIS Academy educational portal in a face-to-face (daily) form, during which there is direct communication and interaction of the student with the lecturer and with other students in the virtual classroom, while the student can be in any place and is connected online.

Certificate 

MAC in Software Engineering

Who is the training for? 

For those who already master all phases of software development, understand databases and computer networks and want to take their IT knowledge and skills to the highest level in order to be able to perform advanced, complex and managerial IT positions.

Entry profile/requirements/prerequisites

An experienced programmer who masters programming principles and has real experience with them. The ideal candidate should have excellent logical, critical, analytical, abstract and algorithmic thinking. He/She has participated in at least one enterprise project of a larger scale, ideally in a multi-layered web system addressing several architectural requirements for the final solution: persistent storage, isolation in an attempt to prevent the expansion of the changes in the code, performance, security, reusability of software components, sustainability and others.

The candidate is also computer literate: he/she knows how to work efficiently:

  • in the operating system
  • with a text editor
  • with a command line
  • with a web browser

* alternative to Java II. is C# II.

Content of the course

  • RUP methodology (Rational Unified Process)
  • CASE (Computer-Aided Software Engineering) tools to support software development
  • Software development
  • Agile methods of software development
  • Extreme programming
  • Rapid software development
  • Software prototyping
  • Tools to support agile software development
  • Basic architectural patterns (Client-Server, Layers, MVC)
  • Patterns of application layer in the enterprise systems: Domain model and Transcription model
  • Expanding the issue of creating enterprise applications
    • monolith
    • modular monolith
    • microkernel architecture
    • microservice architecture
  • Design patterns, architectural patterns and architectural styles
    • pipes and filters
    • layers
    • message broker
    • publish / subscribe pattern
    • blackboard
    • SOA
    • microservice architecture
    • choreography
    • orchestration
    • REST
  • Version control systems
  • Caching technique
  • Principles of appllication security
  • The issue of load balancing
    • reverse proxy
    • balancing of different layers of the OSI model (network vs. application load balancing)
    • client vs. server load balancing
  • Service discovery
  • CI / CD tools
  • OCI (Open Container Initiative)
  • Log Management
  • Service monitoring and alerts
  • Cloud solutions – e.g. AWS, Azure,…
  • IaaS vs. PaaS vs. SaaS
  • Lambda function
  • Deployment strategy and tools
  • K8S
  • Blue / Green deployment

Output profile/acquired knowledge

The graduate acquires knowledge in the field of software engineering and deepens his/her knowledge in the field of enterprise software development and the field of DevOps. He/she will learn to correctly choose the system architecture for a set of complex requirements and also to choose appropriate technologies, means and tools for a defined set. He/she will be able to address issues of scalability, maintainability, availability, software performance and other constraints placed on the final software solution. He/she will learn and understand different software testing strategies, different ways of software deployment and software monitoring. He/she will be able to implement a software project starting from the assignment all the way to handover and subsequent maintenance.

This training is a part of:

 

 

en
en