This repo contains basic computer science lessons. Lessons are organized into modules. Each module is contained within a subdirectory of this repo. Modules do not necessarily correspond to a single lecture/class (I don't have that kind of planning/foresight).
These courses aim to be interactive. The goal is for the modules to serve as an outline and/or jumping-off point for discussion, exploration, and experimentation. Hopefully conversation and curiosity lead us down the paths that are most interesting to the participants.
Each module starts with familiar concepts (hopefully), and then dives deeper into the hows/whys of the computer science fundamentals that support them and make them possible.
I expect participants to have a basic understanding and familiarity with computers, but all skill levels are welcome. These lessons will be most beneficial if you bring your own computer and try things yourself. Some lessons will be more focused on Linux than other operating systems, but the concepts are universal, and should translate.
- Optimizing SQL Queries
- Git
- Networking
- Concurrency
- Golang
- Elasticsearch
- Kafka
- Vim