I was happy to see my alma mater introduce a class called "CS 193 Tools" that is taken by all freshmen. I never took it, but it started when I was a junior or so (~2014). A friend of mine pushed to create the course and helped TA it for a few semesters. Here's the course description:
Learning Outcomes:
1. Understand Unix/Linux commands for navigating directories and files and manipulating files and folders.
2. Understand terminal commands for searching and input/output redirection.
3. Understand shells such as sh, csh, ksh, tcsh, bash, zsh.
4. Understand debugging via print statements and general debugger concepts.
5. Understand version control via Git and Github, source control, workflow, commit, collaboration, pull, push, create and pushing a new repository, cloning, branches, merging, and conflicts.
6. Understand vim including mouseless navigation, normal/insert mode, copy/paste, search/replace, and saving/quitting.
https://selfservice.mypurdue.purdue.edu/prod/bwckctlg.p_disp...
Learning Outcomes:
1. Understand Unix/Linux commands for navigating directories and files and manipulating files and folders.
2. Understand terminal commands for searching and input/output redirection.
3. Understand shells such as sh, csh, ksh, tcsh, bash, zsh.
4. Understand debugging via print statements and general debugger concepts.
5. Understand version control via Git and Github, source control, workflow, commit, collaboration, pull, push, create and pushing a new repository, cloning, branches, merging, and conflicts.
6. Understand vim including mouseless navigation, normal/insert mode, copy/paste, search/replace, and saving/quitting.
https://selfservice.mypurdue.purdue.edu/prod/bwckctlg.p_disp...