Welcome to Codelab, a course on the foundations of coding and digital humanities technics designed by the Scholars' Lab at the University of Virginia Library for the Praxis Fellowship.
Codelab is broadly divided into two sections: Codelab Fundamentals, which introduces basic computing, data, and algorithmic concepts without coding directly, and Codelab Code Lab, which uses Python to teach practical programming skills.
- Week 01: Introduction to CodeLab
- Environment setup
- What is Code?
- Algorithmic thinking
- Why is Code?
- Week 02: Introduction to Data
- What is data?
- How do we represent data?
- Digital vs analog
- Text encoding
- Colors and images
- Week 03: Structured Data
- Limitations of simple data
- Lists (simple and complicated)
- Tabular data and CSV
- XML
- JSON
- Week 04: Version Control
- How do we collaborate on digital project?
- Version control systems
- Git and Github
- Week 05: Introduction to Python
- Python interactive interpreter
- Saving and running Python files
- Hello World
- Variables
- Classes, Objects, and Instances
- Simple types
- Documentation
input()
- Lists
- Week 06: Functions and Methods
- Types and
type()
- Type conversion
- Function calls, arguments, return values.
- Built-in functions
- Methods
- Defining Functions
- Types and
- Week 07: Control Flow
- Conditionals
if
,elif
, andelse
- Booleans in conditions
- Loops
while
vsfor
- Exit conditions
- Week 08: Control Flow (ctd)
continue
andbreak
- Nested loops
- Week 09: Algorithms and File Operations
- Algorithms (ctd)
- Sorting
- File input/output
- Week 10: Dictionaries, CSV, JSON
- Basic and Complex Data Types
- Dictionaries
- Structured data review
- CSV and JSON in Python
- Week 11: Show and Tell!
- Week 12: Web scraping?!
- Week 13: HTML/CSS/Design
- Week 14: More of the same