Course: Software Engineering

» List of faculties » FM » MTI
Course title Software Engineering
Course code MTI/SIN
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 4
Language of instruction Czech
Status of course Compulsory-optional
Form of instruction Face-to-face
Work placements Course does not contain work placement
Recommended optional programme components None
Lecturer(s)
  • Kraus Jan, Ing. Ph.D.
Course content
Lectures 1. Fundamentals of object oriented programming (OOP) - class and its instance, data items and methods, properties,... 2. Advanced OOP techniques - encapsulation, composition, inheritance and polymorphism 3. Events and delegates, asynchronous call of methods. 4. Basic design patterns - singleton, factory,... 5. Three-tier application architecture, client-server architecture. 6. Visual design of application data structures. 7. Web services and applications. 8. Applications for mobile platforms and cloud environments. 9. Multi-threaded applications. 10. Testing and debugging applications, creating installation packages. Exercises Exercises focus on students' independent work, programming of assigned tasks, which take into account the currently lent topics. In the course of the semester, typical problems from the areas discussed in the lectures are realized. Individual tasks build on each other and demonstrate practically the possibilities and ways to reuse shared code.

Learning activities and teaching methods
Project teaching, Lecture, Practicum, Task-based study method
Learning outcomes
The aim of the course is to acquaint students with advanced techniques for application programming - especially with object-oriented programming, principles of events driven software and with basic software engineering concepts.
To complete this course, it is essential for the student to master basic software development techniques in any common higher (procedural) programming language in advance.
Prerequisites
The subject follows the basic courses of programming and assumes that students have already acquired this knowledge thoroughly.

Assessment methods and criteria
Combined examination

To obtain course credits, you have to pass a written credit test and pass the practical and theoretical (oral) part of the exam.
Recommended literature
  • Microsoft Application Architecture Guide. Microsoft Press book, 2009. ISBN 978-0735627109.
  • MILES, R. C# Programming Yellow Book. 2016. ISBN 978-1509301157.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester