|
1 | 1 | # CodingCirclePython |
2 | 2 |
|
3 | | -This is a series of ipython notebooks and projects that follow along with the University of Michigan class [Python for Informatics](http://pythonlearn.com/). They are intended to be an easy way to practice what you have learned. |
| 3 | +This repo contains a series of lesson to learn Python. These lessons are intended to allow people who have no prior programming experience to learn python. Each lesson in in the form of a jupyter notebook. They include lesson text, examples, try its (quick chances to apply concepts), and projects (small projects which have step by step instructions to practice the concepts you learn). Each lesson builds on its predecessor. The first eight lessons cover core python concepts, then comes a larger project, the last lessons are more focused topics for various applications. |
4 | 4 |
|
5 | 5 | ## Prerequisites |
6 | | -You need to have the [anaconda](https://www.continuum.io/downloads) distribution of python 3.5+ or 2.7 installed. We will be using ipython notebook, if you are new to this I recommend this [tutorial](http://opentechschool.github.io/python-data-intro/core/notebook.html) from OpenTechSchool. You will also need a text editor to open the solutions for the projects. I recommend [Sublime Text](http://www.sublimetext.com/). Other options include Notepad, Notepad++, Text Wrangler, or Atom. |
| 6 | +You need to have the [anaconda](https://www.continuum.io/downloads) distribution of python 3.5+ or 2.7 installed. We will be using Jupyter notebooks, if you are new to this I recommend this [tutorial](http://opentechschool.github.io/python-data-intro/core/notebook.html) from OpenTechSchool. You will also need a text editor to open the solutions for the projects. I recommend [Sublime Text](http://www.sublimetext.com/). Other options include Atom, Notepad++ (Windows only), BBEdit (Mac only), or Visual Studio Code. |
7 | 7 |
|
8 | 8 | ## Python |
9 | 9 | The Zen of Python |
@@ -33,16 +33,43 @@ The Zen of Python |
33 | 33 | ## Lessons |
34 | 34 |
|
35 | 35 | ### Lesson 1: Variables, expressions, and statements |
36 | | -Follows lesson 2 of UMich course. Introduces values, variables, operators, and statements. **Project** you create a milestone marker program. |
| 36 | +Introduces values, variables, operators, and statements. **Project** you create a milestone marker program. |
37 | 37 |
|
38 | 38 | ### Lesson 2: Conditional Execution |
39 | | -Follows lesson 3 of UMich course. Introduces comparison and logical operators, if statements, and try except blocks. **Project** you create a program to suggest which car to buy. |
| 39 | +Introduces comparison and logical operators, if statements, and try except blocks. **Project** you create a program to suggest which car to buy. |
40 | 40 |
|
41 | 41 | ### Lesson 3: Functions |
42 | | -Follows lesson 4 of UMich course. Introduces functions, modules, parameters, arguments, and the return statement. **Project** you will create a program that lets you roll the die in yatzee. |
| 42 | +Introduces functions, modules, parameters, arguments, and the return statement. **Project** you will create a program that lets you roll the die in yatzee. |
43 | 43 |
|
44 | 44 | ### Lesson 4: Iteration |
45 | | -Follows lesson 5 of UMich course. Introduces loops and list. **Project** you will create a program that let you hunt for treasure. |
| 45 | +Introduces loops and list. **Project** you will create a program that let you hunt for treasure. |
46 | 46 |
|
47 | 47 | ### Lesson 5: Strings |
48 | | -Follows lesson 6 of UMich course. Explores strings indexing and functions. **Project** you create a program that processes DNA. |
| 48 | +Explores strings indexing and functions. **Project** you will create a program that processes DNA. |
| 49 | + |
| 50 | +### Lesson 6: Files |
| 51 | +Reading from and writing to files. **Project** you will calculate word count stats on a short story. |
| 52 | + |
| 53 | +### Lesson 7: Lists and tuples |
| 54 | +Dealing with collections of items. **Project** you will create budgeting program for party planning (so fun!) |
| 55 | + |
| 56 | +### Lesson 8: Dictionaries |
| 57 | +Key value collections. **Project** you will create and acrostic poem generator. |
| 58 | + |
| 59 | +### Lesson 9: Project |
| 60 | +A larger project so you can see how much you can accomplish with you new skills! EASY - Password hacker, you will write a program that guesses users passwords from the list of the top 500. HARD -- Male/Female promotion ratio, recreate a programming paper that simulates gender bias in promoting people within a company |
| 61 | + |
| 62 | +### Lesson 10: Regular expressions |
| 63 | +Learn how to search through text to find pattern matches. **Project** you will create a program to search for evidence in a legal case. |
| 64 | + |
| 65 | +### Lesson 11: JSON and APIs |
| 66 | +Learn how to read JSON a data format and use APIs to pull data from various sources **Project** Weather forecaster for three cities. |
| 67 | + |
| 68 | +### Lesson 12: Tabular data |
| 69 | +Learn how to read data from spreadsheets. **Project** Calculate runner speed statistics from a 5K. |
| 70 | + |
| 71 | +### Lesson 13: GUIs |
| 72 | +Learn how to create a visual interface to your programs. **Project** Create a BMI calculator. |
| 73 | + |
| 74 | +### Lesson 14: Numpy and Matplotlib |
| 75 | +Learn how to use math and graphing libraries. |
0 commit comments