This repository is an experiment in designing an introductory programming course with a very interactive nature. The course is directed at complete newcomers to the programming world, and requires no prerequisites beyond what can be expected from the standard highschool curriculum.
The course is structured as a series of lessons, using streamlit as the basic framework on which to define both the content and the interactive part.
This course is structures in a non-traditional way. Instead of going through the language constructs, we'll explore different tasks in the data science domain, and introduce whatever we need from there. This means we get to introduce functions and complex data types (lists and dicts) as soon as possible, even before we have loops and other basic constructs.
Here's an incomplete list of the planned lessons.
- ✅ Lesson 0 - Why are we here?: Basic explanation of the course structure.
- 🚧 Lesson 1 - What is data?: Basic data types (
int
,str
,float
) and their operations. Variables. - 📝 Lesson 2 - Data, lots of data: Lists, explicit initialization. Operations on lists,
min
,max
,reverse
,sort
. - 📝 Lesson 3: Lists,
map
andreduce
usinglambda
expressions. - 📝 Lesson 4: Tuples, named tuples, lists of tuples.