***This is being reorganized based on our new course catalog offerings, which are broken down into the following:
- Python-0
- Python-1
- Python-2
- Python-3
A place to organize live and prepared class materials. Stop in often to find new stuff.
The general approach is to learn fundamentals in the following order:
- Actions (Function Calls)
- Variables
- Strings
- Numbers
- Operators (Assignment, Basic Math)
- Logic (Booleans and Conditionals)
- Loops
- Lists-Tuples
- Dictionaries
- Procedures (Function Definitions - No Return Value)
- Functions (Function Definitions - Return Value)
- Classes
- Objects
- Modules
- Importing
- Exceptions
- Files
- JSON-YAML
- Testing
Beyond the basics:
- Anonymous Functions (Lambdas)
- List Mapping and Comprehensions
- Decorators
- Special Methods
- Packages and Distribution
- Asynchronous Programming
- Extending
- Embedding
Then there are the types of programs:
- Commands
- Interactive-REPL
- GUI-2D-turtle
- GUI-2D-tkinter
- GUI-2D-GTK3
- GUI-2D-kivy
- GUI-2D-pygame
- GUI-2D-splat
- GUI-3D-panda3d
- GUI-3D-sdl2
Why no Flash or Pyramid or Django or anything web related?
JavaScript is the second main language everyone learns at SkilStak. The natural point to begin is with web technology. While Python certainly has good stuff for creating web technology, and has a huge following with real deployments to it's name, at SkilStak we've decided to focus on JavaScript/Node for anything web related, (single-page-apps, web sites, REST APIs, etc.) rather than spend time learning how to do the same things in Python. This decision is more about exposure to JavaScript and its different paradigm (functional, prototypal, asynchronous) than it is about which language is better or more popular for such things.
However, Python is first and foremost a backend, platform language chosen over and over again by developers, architects, creatives, and scientists for producing games, apps and systems of all sizes and for embedding into other applications (i.e. Blender, Gimp, etc.) This is Python's greatest strength and the place you will likely most encounter Python in the working world.