There's a lot of information in the readings, videos, assignments, etc., and it's sometimes
hard to find key items. Here's a short, curated list of topics that you might miss in the
rush of reading, watching, and doing.
Want me to add something? Let me know.
- The word "directory" and the word "folder" are synonyms. (Don't fight me on this.)
- Unix commands to know: cd, ls, rm, cp, mv, cat, pwd, which, mkdir, rmdir [Unix tutorial and video #1]
- bash: combining commands and redirecting input/output with |, <, and > [Unix tutorial and video #2]
- Unix file permissions: users, groups, rwx, chmod [Unix video #2]
- bash environment variables: env, echo, HOME, PATH
- bash startup files: .bash_profile, alias, export PATH=...
- In Windows Subsystem for Linux (WSL), you can cd to the normal Windows file system with
"cd /mnt/c" to get to the C-drive, "cd /mnt/c/Users/youraccountname/Desktop" to get to
your Desktop, etc. [git Hello assignment]
- You can get a Unix/WSL prompt from the Windows PowerShell or cmd command lines by executing "bash" in
either one. [Slack discussion in #questions, 9/14 10:01PM]
- git and GitHub basic operations [git video #1]
- Initialize new repo: git init
- Get fresh copy of a repo: git clone URL-of-repo
- Add new or modified file to up-coming commit: git add filename
- Commit changes with log message: git commit "message"
- Grab partner's updates from server: git pull
- Send my commits to server: git pull, then git push
- git oddities [git videos]
- Weird warning from git pull: "Pulling without specifying how to reconcile divergent branches...".
Make the warning go away using git config pull.ff only
- More git concepts [git video #2]
- SHA-1 and how it's used to name and point to chunks of data in the .git/ folder
- the working tree/directory
- what's a commit?
- the commit history
- the index, staging area, and cache
- references, including HEAD
- Coming soon: branching and merging in git [git video #3]
- How to use the csv module in Python
- How to use sys.argv in Python. (Followed soon by how to use the Python argparse module instead of
using sys.argv directly.)
- Test-driven development (TDD): its goals, advantages, and pitfalls
- [Obviously, Jeff stopped updating this. He might come back to it, but don't hold your breath.]