Introduction to Unix Shell, Git, and GitHub (formerly Data Science Foundations)
The beginning of the course will introduce the basic language of the Unix shell including how to navigate and manipulate files and directories. You will learn certain commands, and how to create scripts and write basic functions using pipes, filters and loops. The next portion of the course will be dedicated to getting started with version control and GitHub, and how it connects to the ethical discussions of reproducibility. You will learn how to set up GitHub. How to initialize and utilize repositories, including recording, viewing and undoing changes. You will also learn how to create branches and collaborate with others using shared branches.
Finally, you will learn valuable problem-solving skills, learning to identify an issue, and how to search with Google and Stack Overflow. This course also covers the topic of reproducibility, how to contribute by commenting code and writing documentation, and the ethical considerations of who is and isn’t in our datasets.
Requirements
This course is designed for those who have a degree in something other than Computer Science/Statistics and are looking to enhance their data science skills for their career.
Learning Outcomes
- The ability to comfortably use the Unix shell
- An understanding of the importance of version control and the ability to implement fundamentals in GitHub
- Confidence with problem-solving code
- Appreciation of the importance of reproducibility and essential features
- The ability to actively consider who is, and is not, in a dataset and why
- The ability to develop knowledge of past abuses of power
- Time management and team working skills
Delivery Format/Length
Online for 7 hours/week for 3 weeks (21 hours in total).
Offered twice in 2022/23:
-
Fall 2022
- Monday 17 October, 6pm-8pm: Unix shell I (Introducing the Shell; files and directories; pipes and filters)
- Thursday 20 October, 6pm-8pm: Unix shell II (Shell scripts; functions; flow control)
- Saturday 22 October, 9am-noon: Version control and GitHub I (Introducing version control and GitHub)
- Monday 24 October, 6pm-8pm: Version control and GitHub II (Git commits, gitignore; Git Commands)
- Thursday 27 October, 6pm-8pm: Version control and GitHub III (Remote repositories; branching)
- Saturday 29 October, 9am-noon: Version control and GitHub IV (Collaborating; dealing with conflicts)
- Monday 31 October, 6pm-8pm: Problem solve, reproducibility, ethics, inequity
- Thursday 3 November, 6pm-8pm: Professional skills: Industry case study
- Saturday 5 November, 9am-noon: Data Science Foundations: Review and Practice
-
Winter 2023
- Monday 30 January, 6pm-8pm: Unix shell I (Introducing the Shell; files and directories; pipes and filters)
- Thursday 2 February, 6pm-8pm: Unix shell II (Shell scripts; functions; flow control)
- Saturday 4 February, 9am-noon: Version control and GitHub I (Introducing version control and GitHub)
- Monday 6 February, 6pm-8pm: Version control and GitHub II (Git commits, gitignore; Git Commands)
- Thursday 9 February, 6pm-8pm: Version control and GitHub III (Remote repositories; branching)
- Saturday 11 February, 9am-noon: Version control and GitHub IV (Collaborating; dealing with conflicts)
- Monday 13 February, 6pm-8pm: Problem solve, reproducibility, ethics, inequity
- Thursday 16 February, 6pm-8pm: Professional skills: Industry case study
- Saturday 18 February, 2pm-5pm: Unix Shell, Version control, and GitHub: Review and Practice