coursebook README

The project's README from github.com/cs341-illinois/coursebook. As one markdown file: README.md.

Coursebook

Build Status Current Pdf Link Current Wiki Link Current HTML Link Current Epub Link

Welcome to the systems programming coursebook! This repository houses a high-quality, open-source introductory systems programming textbook used by the CS 341: System Programming course at the University of Illinois Urbana-Champaign The book assumes that you have taken a programming language course and are familiar with assembly instructions. All of the code and instruction will be in C, as it is the de-facto language of the Linux Kernel.

The Coursebook is an aim to standardize and build upon Angrave's original wikibook experiment.

The most recent version of the coursebook as a single pdf is here: main.pdf.

Overview

Goals

Contributing, Building, and Structure

Read CONTRIBUTING.md

Credit Where Credit is Due

coursebook (cs341-illinois/coursebook)

posix
Searching Database…

What is this?This is an open-source introductory systems programming textbook (the Coursebook) used by the CS 341: System Programming course at the University of Illinois Urbana-Champaign, covering low-level C programming and Linux internals.
Is this a textbook or a full course with lectures?It's just the textbook content itself, written as source that gets exported to pdf, markdown, and html; it builds on and aims to replace an older wikibook experiment.
How do I read it?Grab the latest compiled single-file version, main.pdf, directly from the repo; if you want to build it yourself from source, follow the instructions in CONTRIBUTING.md.
What background do I need before diving in?You should already have taken an introductory programming language course and be comfortable reading assembly instructions, since the book jumps straight into low-level C.
Is everything taught in C, or are other languages covered too?Everything is taught in C only, chosen specifically because it's the de-facto language of the Linux Kernel that the course focuses on.
Who is this written for?Primarily UIUC students enrolled in CS 341, but since it's fully open source anyone studying systems programming on their own can use it.
What does this improve over the original wikibook it's based on?It aims to raise the quality and factual rigor of the old wikibook by adding citations, footnotes, extended reading, and a glossary, while keeping the content open.
What formats can I actually get the book in?The project is built to export as PDF, Markdown, and HTML, in addition to the compiled main.pdf already available in the repo.
Does the book cover general OS theory or just Linux specifics?It's framed around systems programming in C with a Linux focus, since C is treated as the de-facto language of the Linux Kernel throughout the material.
Size
29.8 MB
Stars
3.8K
Age
8y
Commits · 90 Days