Lecturer(s)
|
|
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ů.
|