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
main
branch 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
book
branch, and mergemain
intobook
:git merge main
Run
rippledoc.py
to regenerate HTML sources. These.html
files are committed to thebook
branch. 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.gitignore
files for the two branches:main
disallows.html
files, andbook
allows them!Commit the changes and push to remote to redeploy.