Additional Resources
Linux
Being able to run and chain bash commands within Linux opens up doors to more advanced scripting. Below are some additional resources on the topic that we recommend and that other students have found helpful in the past.
-
The Missing Semester of Your CS Education - This lecture provides a great overview of the difference between terminals and shells, how to navigate Unix-like file systems like Linux, and how to redirect output between programs. Other subjects in the course are advanced and beyond the scope of 30121.
-
The Linux command line for beginners - This official tutorial from Ubuntu, a distribution of Linux, covers how to create, move, and manipulate files and directories while addressing additional topics like user permissions and hidden files.
Visual Studio Code
Visual Studio Code is a powerful IDE (integrated development environment). These resources below will help you better understand its feature offerings so you can program more efficiently.
- Introductory Videos - This short video series walks through the basics of VS Code, including how to edit and run code, use keyboard shortcuts, download extensions, and more. Some of these topics will be covered in future CAPP camp sessions.
Git
The wonderful thing about Git being so popular is that you can find loads of documentation, tutorials, and educational resources about how to work with Git online. Below, we provide a curated list of Git resources that you might find helpful for continuing your learning.
-
Git for Ages 4 and Up - A great resource for a simple, but thorough explanation of how Git works.
-
Learning Git Branching - “Learn Git Branching” is the most visual and interactive way to learn Git on the web; you’ll be challenged with exciting levels, given step-by-step demonstrations of powerful features, and maybe even have a bit of fun along the way.
-
The Git Book - The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here.
-
GitHub Docs - Comprehensive documentation of how to use GitHub.
-
A Successful Git Branching Model - Best practices for developing a Git repository within a team and utilizing Git’s powerful branching features.
Python
In addition to your course textbook, the following resources are helpful for deepening your understanding of Python and practicing coding problems:
-
Learn X in Y Minutes Where X = Python - An article providing a quick overview of Python’s features.
-
Python for Everybody - An interactive textbook allowing you to run code in the browser.
-
Introduction to Computer Science - A free, interactive course on Udacity taught by David Evans of the University of Virginia. User sign-up required.
-
Checkio - Python practice problems that can be run and tested in the browser. Unlock new levels along the way.
-
CodeWars - Python practice problems that can be run and tested in the browser. Earn points for completing katas of different difficulty levels.