You're not currently signed in. Sign in »

CS 491TC—Tradecraft for Coders

Neal Davis · Teaching Assistant Professor · Computer Science


What When and Where
Lessons Mon/Wed 14h00–14h50; 0220 Siebel Center
Office Hours Mon/Wed 14h00–14h50; 2229 Siebel Center
Instructor email; please include in subject "CS491TC"
Class URL
Class forum Piazza

We will meet in person on the first day of class only, and then on the presentation days. Otherwise the course will be run as if it were online, plus in-person office hours at my ofice.


Date Lesson Topic Exercise Due Date
Shell Scripting
2019-08-26 lesson00 linux/bash/intro: Introduction to Bash 2019-09-13
2019-08-28 lesson01 linux/bash/data: Processing Data Streams 2019-09-13
2019-09-04 lesson02 linux/filesystem: Conventions of the Linux File System
linux/bash/tmux: Screen Management (Optional)
2019-09-09 lesson03 linux/bash/ps: Process Management
linux/bash/format: Formatting Text
mp0::shell 2019-09-13
Source Control
2019-09-11 lesson04 indev/git/intro: Introduction to Git 2019-09-13
2019-09-16 lesson05 indev/git/branch: Branching with Git 2019-09-20
2019-09-18 lesson06 indev/git/collab: Collaborating using Git 2019-09-20
2019-09-23 lesson07 indev/git/advanced: Git Hooks and Workflow Management 2019-09-27
mp1::git 2019-09-27
Software Development
2019-09-25 lesson08 indev/compile: Compiling with gcc and clang 2019-09-27
2019-09-30 lesson09 indev/autotools: GNU Make and Autotools 2019-10-04
2019-10-02 lesson10 indev/gradle: Gradle Builds
indev/tdd: Test-Driven Development
2019-10-07 lesson11 indev/ci: Continuous Integration
indev/codecov: Code Coverage
mp2::indev 2019-10-11
Performance & Architecture
2019-10-09 lesson12 indev/debug: Debugging with gdb 2019-10-11
2019-10-14 lesson13 indev/profile: Performance Profiling
devops/code-review: Code Review (Optional)
2019-10-16 lesson14 foss/proj-mgmt
foss/licensing: Software & Content Licensing
foss/arch: Principles of Software Architecture
2019-10-21 lesson15 indev/v&v: Software Verification & Validation 2019-10-25
IEF mp3::perf 2019-10-25
DevOps & Cloud Computing
2019-10-23 lesson16 devops/docker/intro: Using Containers 2019-10-25
2019-10-28 lesson17 devops/docker/image: Developing with Images
devops/ansible: Automating Setup
2019-10-30 lesson18 devops/cloud/k8s: Kubernetes 2019-11-01
2019-11-04 lesson19 devops/cloud/aws/server: Amazon Web Services for Servers 2019-11-08
2019-11-06 lesson20 devops/cloud/aws/lambda: Amazon Web Services for Microservices 2019-11-08
2019-11-11 pres1 foss/architecture: Presentations on Open-Source Architecture 2019-11-11
2019-11-13 pres2 foss/architecture: Presentations on Open-Source Architecture 2019-11-13
mp4::devops 2019-11-22
2019-11-18 lesson21 devops/cloud/azure/intro: Microsoft Azure 2019-11-22
2019-11-20 lesson22 markup/markdown: Text Markup with Markdown
markup/yaml: Data Markup with YAML
2019-12-02 lesson23 ui/a11y: Accessibility 2019-12-06
2019-12-04 lesson24 ui/encoding: Text Encoding & Unicode 2019-12-06
2019-12-09 lesson25 ui/i18n: Internationalization 2019-12-13
2019-12-11 lesson26 ui/d11n/man: Unix/Linux-Compatible Documentation 2019-12-13
mp5::i18n 2019-12-13


Component Value Explanation
Lessons 25% Each day of lessons is worth 1 point; 2 lowest grades are dropped. Lessons are typically due at the end of the week during which they were assigned (typically Friday at midnight).
Machine Problems 25% Each MP is worth 5 points; lowest MP is dropped. Typically due Friday at midnight.
Presentation 25% The software architecture presentation and report are worth 25 points.
FOSS Activity 25% See the explanation.

This course assigns a pass/fail grade at a threshold of 75%.