ehmatthes / ehmatthes/intro_programming

Invite others to help write exercises and challenges

Open
#37 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
400
Forks
191
PR merge metrics
No merged PRs in 30d

Description

## Why write exercises?

One of the strengths of this project is that students can learn a new Python concept, and then apply what they've learned by trying to complete a short series of exercises. That makes high-quality exercises one of the most important parts of the project.

There should be enough exercises that students can get help on a number of exercises, and then still have enough to complete a number of exercises independently. If students don't get to the point of writing simple programs independently, they will not get far in programming.

This could be one of the most straightforward and helpful ways to contribute to the project. If you'd like to help write some exercises or challenges, please fork the project and make a pull request. If you're not sure how to do that, please feel free to ask, and I'll help you get through the first pull request.
## Exercise or Challenge?

An **exercise** asks the learner to use what was just covered, in a way that mostly repeats the examples that were just given. The exercise can use a new context, but it should tell the learner to use a specific skill to complete a specific task.

A **challenge** asks the learner to combine what they have just learned with significant previous concepts. A challenge may be less directive and more open to interpretation; it may ask the learner to solve a problem that can be solved with a newly learned concept, without being overly directive about how to use the new concept.
## Examples

The following notebooks have decent starter exercises for each main topic that is introduced:
- [Variables, Strings, and Numbers](http://introtopython.org/var_string_num.html)
- [Lists and Tuples](http://introtopython.org/lists_tuples.html)
- [Introducing Functions](http://introtopython.org/introducing_functions.html)
- [If Statements](http://introtopython.org/if_statements.html)
- [While Loops and Input](http://introtopython.org/while_input.html)
- [Basic Terminal Apps](http://introtopython.org/terminal_apps.html)

These are just some starter exercises, so please feel free to add more.
## Notebooks with few exercises

The following notebooks have sections with no exercises yet:
- [Dictionaries](http://introtopython.org/dictionaries.html)
- [More Functions](http://introtopython.org/more_functions.html)

I would love to have some help writing decent exercises for these notebooks.
## Invitation

Writing exercises and challenges can be fun and satisfying. If you want to help but are not sure how to get started, please introduce yourself in this thread and I'll be happy to help you get started!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.