The Unix Shell + Version Control with GitCompact course: The Unix Shell + Version Control with Git
- Date: 5.12.23 9am-5pm
- Instructor: Dr. Dominic Kempf
- Venue: Mathematikon Bauteil A, INF 205, room to be announced
This is a one day course. The first half of the day covers the basics of the Unix Shell, the second half covers Version Control with Git.
No prior knowledge by the participants is necessary to participate in this course and it is intended for all scientific audiences. Participants are required to bring their own laptops to work on during the course. Network access (e.g. through Eduroam) is recommended.
The Unix shell is a powerful tool that allows people to do complex things with just a few keystrokes. More importantly, it helps them combine existing programs in new ways and automate repetitive tasks so they aren’t typing the same things over and over again. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources. The course will include hands-on live coding sessions where participants exercise the learned commands on their own computers.
Version control is the lab notebook of the digital world: it is used to keep track of what was done and to collaborate with other people. Its use is the state of the art in software development projects of all scales. However, it is not limited to software: books, papers, small data sets, and anything that changes over time or needs to be shared can and should be stored in a version control system. The course will include hands-on live coding sessions where participants exercise the learned commands on their own computers.
After the course participants will
- Have a fundamental understanding of how and why to use the Unix Shell
- Be comfortable with handling files and directories using the command line
- Have experience with advanced usage of the shell e.g. loops, pipes, redirects etc.
- Know how to write their workflows as reusable shell scripts
- Understand the benefits of using version control
- Understand basic git terminology
- Have a good working knowledge of common tasks in Git
- See how Git repositories can help them to move towards practicing Open Science