🐍 A simple introduction to Python for everyone! https://laduecs.club/python
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Go to file
Anthony Wang feac58ee5c
Fix continuity errors with the LadueCS lore
1 month ago
.gitignore Replace exocalc with exohub 1 year ago
0-prologue.ipynb Fix continuity errors with the LadueCS lore 1 month ago
1-printing.ipynb Fix continuity errors with the LadueCS lore 1 month ago
2-variables.ipynb Fix continuity errors with the LadueCS lore 1 month ago
3-input.ipynb Fix continuity errors with the LadueCS lore 1 month ago
4-review.ipynb Fix continuity errors with the LadueCS lore 1 month ago
5-conditionals.ipynb Fix continuity errors with the LadueCS lore 1 month ago
6-for-loops.ipynb Fix continuity errors with the LadueCS lore 1 month ago
7-while-loops.ipynb Fix continuity errors with the LadueCS lore 1 month ago
8-review.ipynb Fix continuity errors with the LadueCS lore 1 month ago
9-lists.ipynb Fix continuity errors with the LadueCS lore 1 month ago
10-functions.ipynb Fix continuity errors with the LadueCS lore 1 month ago
11-libraries.ipynb Fix continuity errors with the LadueCS lore 1 month ago
12-review.ipynb Fix continuity errors with the LadueCS lore 1 month ago
13-rock-paper-scissors.ipynb Fix continuity errors with the LadueCS lore 1 month ago
14-tic-tac-toe.ipynb Fix continuity errors with the LadueCS lore 1 month ago
15-final-project.ipynb Fix continuity errors with the LadueCS lore 1 month ago
16-epilogue.ipynb Fix continuity errors with the LadueCS lore 1 month ago
A-bonus.ipynb Fix continuity errors with the LadueCS lore 1 month ago
LICENSE Create LICENSE 2 years ago
README.md Fix continuity errors with the LadueCS lore 1 month ago
guido-van-rossum.jpg Host images ourselves to avoid dead links 7 months ago
map-of-computer-science.jpg Host images ourselves to avoid dead links 7 months ago
python-in-tech-industry.jpg Host images ourselves to avoid dead links 7 months ago
top-programming-languages.jpg Host images ourselves to avoid dead links 7 months ago

README.md

Intro to Python

Binder

🐍 A simple introduction to Python for everyone!

Learning

This course consists of 18 Jupyter notebooks. These notebooks are like regular paper notebooks, except they contain cells of code. To get started, fire up Binder. The layout is pretty simple: you can select any file on the left to open it. Start with 0-prologue.ipynb. To run code, click inside the cell and press the run button at the top. Amazing, isn't it?

Teaching

Teaching beginners is really freaking hard. Seriously. But here are some tips:

  • Focus on guiding and helping students solve activities instead of lecturing endlessly to them. You don't learn by listening to someone talking about Python, but rather by writing lots of code. The students need plenty of chances to write code and do activities.

  • Teach one lesson per meeting. If you finish early, don't go on to the next lesson, except for the prologue and epilogue, since those two lessons are short.

  • Go slow. If you think you're going too fast and no one's understanding anything, you're going too fast. Don't skip anything and run the code for every example. The students should do every activity. However, if you don't finish the entire lesson, that's OK, and the students can do the rest for "homework".

  • Ask an insane amount of questions. Like, make it feel like an interrogation. Questions are the ultimate tool for figuring out how well students are understanding.

  • Call on people randomly! It's fun and great for testing students' understanding.

  • When working on activities and projects, don't give students solutions unless they're really stuck. Don't do the activites for them. And if the students aren't understanding anything and can't solve the activities, you're going too fast.

  • Walk around and look at your students' code to help them.

  • Avoid using anything not mentioned in the course since it confuses students. So don't use print(1, 2), input('Hello'), a,b = 1,2, 'My name is {}'.format('Billiam'), for i in range(10), and so on.

Contributing

Interested in helping improve this course? Awesome. Lessons 6 through A need to be reviewed. Our goal is for the course to be optionally self-studyable if there isn't a teacher, so it should have plenty of examples and activities. Here are some guidelines:

  • Each lesson must contain 10 activities and should take the length of a one-hour meeting.

  • The title uses a # heading and activites use ## headings. The names of activites should only have the first word and proper nouns capitalized. Add a new line between headings and paragraphs.

  • Write as many examples as possible and keep the pace slow.

  • Add a TL;DR section at the end of the lesson.

  • All output should be cleared.

  • If you're not sure about a style detail, see 1-printing.ipynb for a great example.

Activities are really difficult to write. The general idea is that the coding part should be boring so it's easy enough for beginners, and you can spice things up with a good story around the problem. As for characters, use the Wender siblings, Billiam, Bobert, and Bella. Billiam is the generic good guy. Bobert's code never works, but he's interested in sketchy things like becoming a professional spammer. Bella is an expert programmer that somehow gets caught up in weird scenarios all the time. See the lore repo for more information about them.