Course: Fundamentals of Programming Practice

« Back
Course title Fundamentals of Programming Practice
Course code KIV/ZPP
Organizational form of instruction Lecture
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 3
Language of instruction Czech
Status of course Compulsory, Compulsory-optional, Optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Brůha Petr, Ing.
Course content
1. Introduction to operating systems + Bash: basic orientation in operating systems, the example of Linux and installation options, basics of working in Bash environment, remote access, the example of cloud services. 2. Introduction to versioning systems: in short what is it, what are the types of versioning systems, basic commands, the example of creating a repository, first commit, push, pull, cloning of a foreign repository. 3. Working with branches: branching theory (visualization on graphs), basic commands (creating, deleting branches), branch -d -D -b, merge, rebase, the example of deleting a master at a local, merge & rebase. 4. Best practices & troubleshooting 5. Advanced work with Git 6. Working with IDE, static program analysis, linting 7. Project management 8. Tools and techniques of project management 9. Projects in GitLab 10. Gitlab CI / CD workflow 11. Introduction to containers: docker installation, virtualization of the whole system vs containers, basic description of Docker technology, basic commands, therm explanation: container, image. 12. Working with containers: dockerfile, docker.compose.yaml, Docker Hub, practice - examples. 13. Hackathon

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ů.


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