This Github repository contains materials for the 2018 Masters of Science in Analytics program boot camp, including lecture notes, slides, exercises, and recommended resources as you continue to develop your skills.
Session | Content | Lecture notes | Slides | Exercises |
---|---|---|---|---|
Day 1, part 1 | The Unix shell | Lecture notes | ||
Day 1 | Review; Reading and writing files; Data manipulation in base R; Data visualization in base R | Lecture notes | Slides | Exercises |
Day 2 | RMarkdown; Loops, conditionals, and functions; R and Github | Lecture notes | Slides | Exercises |
Day 3, part 1 | Advanced manipulation: reshaping, merging, and dplyr | Lecture notes | Slides | Exercises |
Day 3, part 2 | Advanced manipulation and data.table | Lecture notes | Slides | Exercises |
Day 3, part 3 | Data visualization with ggplot | Lecture notes | Slides | Exercises |
Instructions for the final exercise on Day 3 can be found here.
NUIT's command line workshop includes some exercises and a well-curated list of resources. I'll add some commentary on what resources I think are useful for data analysts who need a working understanding of Bash, shells, and Unix.
Software Carpentry's Unix Shell course is a useful and matter-of-fact introduction. It probably won't convince you just how broadly useful the shell really is, though.
Learn Enough Command Line to be Dangerous, by Michael Hartl, is an excellent and realistic introduction with good exercises. I wish it had existed when I started learning this stuff. My only quibble is that the author is a macOS proselytizer, which I find unhelpful and out of step with the current landscape--Bash is for Windows users too!
Once you're comfortable with that, you can follow it up with Learn Enough Text Editor to be Dangerous. This might not be that exciting, but practicing this stuff will make you faster and more productive.
If you'd like a really accessible intro to the nuts and bolts of how all this stuff actually works, I like Julia Evans' work. She writes a blog as well as ingenious comics that teach Linux and Bash.
If you liked the DataCamp introductory R course, they also offer a free shell course.
Software Carpentry's Version Control with Git course is what we followed along with on day 2. Like their Bash course, it doesn't really introduce you to a real-world workflow, but it does help you understand the basic mechanics in a straightforward way.
Michael Hartl also wrote Learn Enough Git to be Dangerous. Just like his Bash and Text Editor tutorials, this is great for developing a practical understanding of the parts of Git that you really need to know.
NUIT also has a Git resource list.
The R materials used in Days 1 and 2 are based on the Intro to R workshop from NUIT Research Computing Services, created by Christina Maimone. They have been expanded and modified by Kumar Ramanathan and Richard Morel, the instructors for the R sessions during Days 1 and 2 respectively. The materials for Day 3 are original and have been developed by Richard Morel, Ali Ehlen, and Kumar Ramanathan, who are the joint instructors for Day 3.