About this book
Introduction to Tools and Techniques in Computer Science

This
work is licensed under a Creative Commons
Attribution-ShareAlike 4.0 International License.
Welcome to Introduction to Tools and Techniques in Computer Science. This is an introductory lab-based course.
Every Computer Scientist needs to make use of an expansive set of modern computing tools and techniques. This course provides a hands-on experiential introduction to working with the tools and techniques we use every day to design, develop, analyze, and maintain software.
Building the book
This book was originally written with Pandoc’s Markdown in mind. A tool that can use Pandoc to render something like a book is Rippledoc. We’re using a fork of Rippledoc that uses Pandoc to get metadata instead of blindly trying to use the first line as the title.
The repository is hosted on Github and is open for contributions.
Here’s the strategy for building this book:
Switch to the
mainbranch from whatever branch you’re currently on.Make changes to the Markdown files you want to make changes to.
Commit your changes and optionally push them to remote
main.Switch to the
bookbranch, and mergemainintobook:git merge mainRun
rippledoc.pyto regenerate HTML sources. These.htmlfiles are committed to thebookbranch. We don’t usually want that because we generally wouldn’t commit something we can generate, but is required for the Github Pages to work. This has some interesting side-effects, such as having different.gitignorefiles for the two branches:maindisallows.htmlfiles, andbookallows them!Commit the changes and push to remote to redeploy.