¡Felicidades!
Final presentation
Welcome!
So you've decided to learn Python?
Python is a general-purpose, high-level programming language. It has a design philosophy that emphasizes code readability, which is important because you’ll spend a lot more time reading code than writing it! Python boasts features that make it easy to learn and fast to develop in: elegant syntax, a dynamic typing system, automatic memory management, and support for mutiple programming paradigms. Not sure what all of that means? Well, hopefully you will at the end of our course.
Python has also become increasingly popular in scientific computing and data analysis. There is a flourishing and open-source ecosystem of scientific packages for number crunching, statistical analysis, data visualization, machine learning, image analysis, and more! This is largely thanks to the ease of extending and integrating Python with fast programs written in languages closer to the metal like C and C++.
Material
-
If you want to install the tools on your personal laptop.
1. Python
We are using the "mini" version of the Anaconda Python distribution, which ships as a package manager utility called
conda
. Installers for the conda tool can be downloaded from here.2. Text editor
We are using Sublime Text 3, which is also free (in trial mode) and cross-platform.
3. PyGame
This can be a pain to install because it is not available on the Python Package Index. Here are recommended approaches depending on your platform:
Windows: Use one of the Windows installers available at http://www.pygame.org/download.shtml.
Mac OSX: Use homebrew to install the dependencies. Then install using
pip
.
$ brew install sdl sdl_image sdl_mixer sdl_ttf portmidi $ pip install hg+http://bitbucket.org/pygame/pygame
- Linux: use your package manager to install the dependencies, and
pip
to install pygame from the bitbucket repository as above.
-
Batteries included
- standard library:
os
,math
,itertools
- functional tools: map, reduce, filter
- comprehensions
Getting classy
- modules, scope, and namespaces
- classes and objects
Building a physics engine with PyGame
- Based on this video tutorial series from Marek Belski and the Pygame physics simuation tutorial by Peter Collingridge. Code
- standard library:
-
Python and the web
- Where to get more batteries:
pip
and the Python Package Index - Web architecture and HTTP
Scraping a web page withBeautifulSoup
- Loteria Game using a web framework (
Flask
) Code
Try git!
- What is version control?
- Create an account on Github
- Interactive git tutorial
- Create a local repository and push your code to a remote repo on Github.
- Where to get more batteries:
-
Science and data science
- IPython and the IPython (jupyter) notebook
- The Scientific Python stack:
- numpy, scipy, matplotlib, pandas
- the anaconda distribution
- the scikits
- many more!
-
Catch-up and work on final presentation.