Skip to content

WomensCodingCircle/CodingCirclePython

Repository files navigation

CodingCirclePython

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.

Prerequisites

You need to have the anaconda distribution of python 3.6+ installed. We will be using Jupyter notebooks, if you are new to this I recommend this tutorial from OpenTechSchool. You will also need a text editor to open the solutions for the projects. I recommend Sublime Text. Other options include Atom, Notepad++ (Windows only), BBEdit (Mac only), or Visual Studio Code.

Python

The Zen of Python

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Python Style Guide

Lessons

Lesson 1: Variables, expressions, and statements

Introduces values, variables, operators, and statements. Project you create a milestone marker program.

Lesson 2: Conditional Execution

Introduces comparison and logical operators, if statements, and try except blocks. Project you create a program to suggest which car to buy.

Lesson 3: Functions

Introduces functions, modules, parameters, arguments, and the return statement. Project you will create a program that lets you roll the die in yatzee.

Lesson 4: Iteration

Introduces loops and list. Project you will create a program that let you hunt for treasure.

Lesson 5: Strings

Explores strings indexing and functions. Project you will create a program that processes DNA.

Lesson 6: Files

Reading from and writing to files. Project you will calculate word count stats on a short story.

Lesson 7: Lists and tuples

Dealing with collections of items. Project you will create budgeting program for party planning (so fun!)

Lesson 8: Dictionaries

Key value collections. Project you will create and acrostic poem generator.

Lesson 9: Project

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

Lesson 10: Regular expressions

Learn how to search through text to find pattern matches. Project you will create a program to search for evidence in a legal case.

Lesson 11: JSON and APIs

Learn how to read JSON a data format and use APIs to pull data from various sources Project Weather forecaster for three cities.

Lesson 12: Tabular data

Learn how to read data from spreadsheets. Project Calculate runner speed statistics from a 5K.

Lesson 13: GUIs

Learn how to create a visual interface to your programs. Project Create a BMI calculator.

Lesson 14: Numpy and Matplotlib

Learn how to use math and graphing libraries.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •