PyClass/Working Syllabus

From Noisebridge
Jump to navigation Jump to search

Class Overview[edit]

This class will be taught in two parts. The first part will be an Introduction to the Python programming language. This class is great for anyone who is new to python or programming in general. We start at the basics and assume that you have no programming knowledge. The second class will focus on Web Development in python. The Introduction class meets 7:00PM - 8:00PM Wednesdays. The advanced class follows at 8:00 - 9:00. For students that have prior programming experience we encourage you to take the classes together. Students who wish a slower pace can take the classes one after the other.

Location of Class Instructions[edit]

Web Apps

* web2py: https://github.com/eleddy/web2py-noiselist/wiki/Web2py-Class
* Flask: https://github.com/eleddy/flask-noiselist/


Week 1[edit]

Beginning Nuggets

* IDEs
* PEP 8
* Debugging
* First Program

Advanced Nuggets

* Decorators

Framework

* web2py: https://github.com/eleddy/web2py-noiselist/wiki/Web2py-Class

Week 2[edit]

Beginning Nuggets

* Getting Input from the User
* Strings
* Lists
* Tuples
* Code Samples

Intermediate Nuggets

* Testing

Advanced Nuggets

* Generators

Framework

* Flask

Week 3[edit]

Beginning Nuggets

* Making Decisions

Advanced Nuggets

* Iterators

Framework

* Django

Week 4[edit]

Beginning Nuggets

* Loops

Intermediate Nuggets

* Testing

Advanced Nuggets

* Memoization

Framework

* Project Planning

Week 5[edit]

Beginning Nuggets

* Sets and Dicts

Intermediate Nuggets

* Code coverage

Advanced Nuggets

* Meta Programming

Project

* TBD

Week 6[edit]

Beginning Nuggets

* Functions

Intermediate Nuggets

* When and Why of Functions

Advanced Nuggets

* ORMs

Project

* TBD

Week 7[edit]

Beginning Nuggets

* Classes

Intermediate Nuggets

* Testing

Advanced Nuggets

* Lambdas 

Project

* TBD

Week 8[edit]

Beginning Nuggets

* Bringing it All togehter

Advanced Nuggets

* Profiling and optimization
* Integrating with C
* making good, practical decisions
* WSGI

Project

* TBD