|
Lecturer(s)
|
|
|
|
Course content
|
1. Introduction to the Course & Team Project Kick-off (TechTower) Partner: TechTower Content: Course overview, presentation of the group project assignment, team allocation, and setting up development roles. 2. Version Control Systems I: Practical Git from Basics to Branching Partner: Freelancer Content: Versioning principles, basic workflows, working with branches (merge, rebase, conflict resolution), best practices (Git conventions). 3. Version Control Systems II: Project Management in GitLab & CI/CD Partner: Freelancer Content: GitLab Issues, Merge Requests, and Boards. Introduction to GitLab CI/CD - automating build, testing, and deployment. 4. Containerization I: Introduction to Docker Partner: Freelancer Content: Virtualization vs. containers, Docker architecture, installation, basic commands, creating a Dockerfile, and working with Docker Hub. 5. Agile Project Management in Practice Partner: Unicorn Content: Scrum/Kanban frameworks, effort estimation, risk management, team performance metrics, and effective team communication. 6. Containerization II: Advanced Docker & Orchestration Partner: Unicorn Content: Working with multi-container applications using docker-compose.yml, container networking, persistent data (volumes), and dev environments in containers. 7. Modern Cross-Platform Development & AI Integration Partner: GK Software Content: Kotlin Multiplatform (KMP) in practice, effective use of AI assistants (Copilot/Claude/ChatGPT) for coding, refactoring, and documentation. 8. Enterprise CI/CD Pipelines & Code Quality Partner: Leuze Engineering Content: Advanced CI/CD workflows based on a real-world GUI library example, static code analysis, linting, and advanced testing strategies. 9. Embedded SW & Automotive Cybersecurity (Block A) Partner: ZF (Lab capacity 20 students / Remaining students work on their team project) Content: SW development and analysis in prototype vehicles, embedded development specifics, automotive cybersecurity. 10. Embedded SW & Automotive Cybersecurity (Block B) Partner: ZF (Group swap: Second half in the lab / First half working on the project) Content: Hands-on SW testing and analysis behind the wheel of prototype cars. 11. Software Quality: TDD (Test-Driven Development) & Refactoring Partner: ICONICS Content: TDD methodology in practice (Red-Green-Refactor), writing unit tests, techniques for safely refactoring legacy code. 12. Mid-term Team Project Defense & Presentation Content: Feedback on ongoing projects from instructors and TechTower representatives, review of CI/CD and architecture status. 13. Infrastructure as Code (IaC) & Cloud Partner: Kadel Data Service Content: Introduction to Terraform, automated configuration and provisioned management of virtual machines on AWS (Amazon Web Services). 14. Final Hackathon & Final Project Presentations Partner: TechTower Content: Final presentation of working solutions to an expert jury at TechTower premises, project evaluation.
|
|
Learning activities and teaching methods
|
- Contact hours
- 26 hours per semester
- Team project (50/number of students)
- 52 hours per semester
|
| prerequisite |
|---|
| Knowledge |
|---|
| Explain basic control of computer |
| Skills |
|---|
| Use Operating System (Windows / Linux) |
| Use the computer at a basic level |
| Efficiently use modern information technologies |
| Competences |
|---|
| N/A |
| N/A |
| learning outcomes |
|---|
| Knowledge |
|---|
| Explain how to run a computer program |
| Describe basic constructions of the programming language |
| Manage source code |
| Project design and sustainability |
| Skills |
|---|
| Perform the decomposition of the problem to partial subproblems |
| Build a general procedure to resolve the problem |
| Use basic features of the development environment |
| Create a functional source code from general instructions |
| Use basic programming language constructs |
| Competences |
|---|
| Analyze the problem and decompose it Clearly formulate the procedure needed to resolve the problem |
| teaching methods |
|---|
| Knowledge |
|---|
| Interactive lecture |
| Self-study of literature |
| Skills demonstration |
| Task-based study method |
| One-to-One tutorial |
| Skills |
|---|
| Skills demonstration |
| Students' portfolio |
| Task-based study method |
| One-to-One tutorial |
| Individual study |
| Competences |
|---|
| Lecture with visual aids |
| Skills demonstration |
| Task-based study method |
| Discussion |
| Students' portfolio |
| assessment methods |
|---|
| Knowledge |
|---|
| Skills demonstration during practicum |
| Skills |
|---|
| Skills demonstration during practicum |
| Competences |
|---|
| Continuous assessment |
|
Recommended literature
|
-
Chacon, Scott. Pro Git. 2009. ISBN 978-80-904248-1-4.
-
KLEMENT, Milan. Virtualizace a instalace OS Windows. Olomouc: Univerzita Palackého v Olomouci, 2015. ISBN 978-80-244-4568-7.
-
Poulton, Nigel. Docker Deep Dive.. 2020. ISBN 9781800565135.
-
Rankin, Kyle. Linux Knoppix na maximum : [100 tipů a řešení pro náročné]. Vyd. 1. Brno: Computer Press, 2006. ISBN 80-251-0993-3.
-
Ruest, Danielle; Ruest, Nelson. Virtualizace : podrobný průvodce. Vyd. 1. Brno: Computer Press, 2010. ISBN 978-80-251-2676-9.
-
Štefánek, Radoslav. Projektové řízení pro začátečníky. Vyd. 1. Brno: Computer Press, 2011. ISBN 978-80-251-2835-0.
-
Valade, Janet. Linux : jdi do toho. 1. vyd. Praha: Grada, 2006. ISBN 80-247-1455-8.
-
Vytlačil, Dalibor. Projektové řízení a řízení projektů.
|