Course: Fundamentals of Software Engineering

« Back
Course title Fundamentals of Software Engineering
Course code KIV/ZSW-E
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study 1
Semester Summer
Number of ECTS credits 6
Language of instruction Czech, English
Status of course Compulsory, Compulsory-optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Mouček Roman, doc. Ing. Ph.D.
Course content
1. Introduction to software engineering and the organization of software development. 2. Elicitation, analysis, specification, and management of software requirements. 3. Software processes, life cycle models, and development methodologies. 4. People, teams, and software project management. 5. Analysis and modeling of software systems. 6. Software design and software architecture. 7. Implementation, configuration management, and collaborative software development. 8. Software quality and testing. 9. Software deployment, operation, maintenance, and evolution. 10. Economic, legal, and professional aspects of software development. 11. Use of artificial intelligence in software engineering and current trends. 12. Practical examples and application of software engineering principles. 13. Summary and integration of topics within a team software project.

Learning activities and teaching methods
  • unspecified - 12 hours per semester
  • Contact hours - 52 hours per semester
  • Team project (50/number of students) - 50 hours per semester
  • Presentation preparation (report in a foreign language) (10-15) - 10 hours per semester
  • Preparation for an examination (30-60) - 32 hours per semester
prerequisite
Knowledge
- to understand the basic principles of imperative programming, - to describe basic data structures and algorithms, - to describe the structure and meaning of the code unit, - to be familiar with the program code documentation
Skills
- to create simple computer programs in an imperative programming language, - to use appropriate data structures and algorithms, - to assess the basic qualitative parameters of the computer program, - to document the program code, - to work in an integrated development environment
Competences
N/A
N/A
N/A
N/A
learning outcomes
Knowledge
- understand the key principles of software engineering and their interrelationships, - identify and understand stakeholder needs and requirements for a software product, - characterize the basic software process models and development methodologies, - understand the basic principles of software analysis, modeling, design, and architecture, - understand the principles of software implementation, quality assurance, deployment, operation, maintenance, and evolution, - understand the principles of software version, configuration, and change management, - understand the principles of software project management and the leadership and organization of software teams, - understand the basic economic, legal, and professional aspects of software development, as well as the possibilities and limitations of using artificial intelligence in software development.
Skills
- collect, analyze, specify, and manage requirements for a software product, - select and justify an appropriate way of organizing the development process with respect to the nature of the software project, - perform basic analysis and modeling of a software system and design its basic structure, - apply basic principles of quality assurance, configuration management, and change management in software development, - apply basic methods of planning, managing, and coordinating a software project, - collaboratively develop a software product and justify the key decisions made during its development.
Competences
N/A
N/A
N/A
N/A
N/A
teaching methods
Knowledge
Interactive lecture
Task-based study method
Multimedia supported teaching
Skills
Project-based instruction
Skills demonstration
Group discussion
Students' portfolio
Competences
Interactive lecture
Task-based study method
Project-based instruction
Skills demonstration
Group discussion
Students' portfolio
Multimedia supported teaching
assessment methods
Knowledge
Combined exam
Oral exam
Skills
Skills demonstration during practicum
Project
Continuous assessment
Group presentation at a seminar
Competences
Combined exam
Skills demonstration during practicum
Project
Continuous assessment
Group presentation at a seminar
Oral exam
Recommended literature
  • Šochová, Zuzana; Kunce, Eduard. Agilní metody řízení projektů. 3. aktualizované vydání. 2024. ISBN 978-80-251-5107-5.


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