Foundations of Python Programming

This interactive book is a product of the Runestone Interactive Project.

The Runestone Interactive tools are open source and we encourage you to contact us, or grab a copy from GitHub if you would like to use them to write your own resources.

We also welcome your support to help keep Runestone growing.

Project ListΒΆ

This book is a β€œprojects first” book, rather than teaching you language features we hope to give you a reason to learn the language in order to solve interesting problems. These projects are not meant to test your knowledge they are here to give you an opportunity to challenge yourself and your teammates to learn new programming and problem solving skills. Each project builds on the skills learned in the previous projects. If you are brand new to programming you will want to start at the beginning, if you have some prior experience, you can dive in with any project that looks interesting to you.

Project

Skills Required

Learning Goal

1

A Preview of the End Goal

An Open Mind

What is programming?

2

Driving the Turtle

Turtle Graphics Basics

Your First Program

3

How Many Handshakes?

Statements and Expressions

Breaking down a problem

4

Drawing a Circle with a Turtle

🐒 Turtle Graphics | Repetition

5

Generating a Password XKCD Style

Sequences | Repetition

Working with Strings

6

Computing statistics with Kiva

Iteration | [Optional] Functions 12.1-12.5

Computing statistics on tabular data

7

Graphing Kiva Data with a Turtle

Conditionals | [Optional] Functions 12.1-12.5

Practice with Turtle Graphics, Graphing Basics

8

Graphing Kiva Data with Altair

Conditionals | [Optional] Functions 12.1-12.5

Transforming Data, Declarative Graphing

9

Substitution Cipher

Transforming Sequences | [Optional] Functions 12.1-12.5

String manipulation

10

Image Processing

Nested Iteration | [Optional] 12.1-12.5

Nested Iteration, Function Practice

11

Exploring Common Words and SETI

Files

Reading data from files

12

Monte Carlo Simulation

Files

Working with CSV files

13

Converting Roman Numerals

Dictionaries

Practice with dictionary operations

14

Stack Overflow Developer Survey

Dictionaries

Learn the split-apply-combine pattern

15

Image Processing Revisited

Functions

Using Functions

16

Turtles and Strings and L-Systems

Functions

Using Functions

17

Predicting Pizza Prices - Linear Regression

Functions

Functions and Statistics

18

Build your own Google

Functions

Functions, Dictionary, HTML, Web API’s

19

Better Pizza Predictions

More Iteration

Multiple Regression

20

K-means clustering

Advanced Functions

Clustering, Data Science

21

Sentiment Analysis of Climate Change Tweets

Advanced Functions

Text Processing, Bayes, Functions

Table of ContentsΒΆ

AppendicesΒΆ

You have attempted of activities on this page
Next Section - Preface