APE: Awesome Python Experience: Beginner Classes (Fall 2011)

Weds 4pm-5pm, in CSB180

Course website: http://thiscourse.com/ucsd/python/fa11/

Jump to: Schedule - Links - Bottom

Instructors

Jamie Alexandre

http://jamiealexandre.com/

Office: CSB223

Jeremy Karnowski

http://www.jeremykarnowski.com/

Office: SSRB246

Richard Tibbles

http://www.cogsci.ucsd.edu/research/profile/359/

Office: CSB228

Course Description

APE is an informal Python training/learning/mentoring group, bringing together people with widely varying backgrounds and levels of experience -- from newbie programmers to expert Pythonistas -- towards the goal of boosting our collective ability to leverage this powerful, flexible language to improve our work and make our lives easier.


These beginner classes will cover the basics of programming in Python, explore some of its unique features, and provide ample opportunities for practice to get you comfortable using the language, so that you'll be able to pursue more advanced topics such as data analysis and web development.  This is a very hands-on course; we believe that the only way to learn to program is to spend time programming.  Topics covered will include:
  • Setting up your computer to program in Python, and learning about the workflow, so you can start experimenting
  • Basics of Python: code structure, variables, data types, control structures (if-else), loops, functions
  • Useful Python tricks: list comprehensions, iterators, flexible function parameters, functional programming styles, etc
  • Practice, practice, practice!  Using Python to solve problems.  Some exercises will come from Project Euler.
Prerequisites: Ability to create and save files in a text editor, and find a particular folder/directory.  No prior programming experience is required, but if you've never used any other programming language at all, there will be some extra work for you at first (but there are lots of resources available to get you started).

Installing: You will want to install either Python 2.6 or Python 2.7, plus the interpreter ipython.  If you're planning to do data analysis later, the best would be to install Enthought via the instructions at the data analysis course.  Otherwise, it's enough to install Python plus ipython.  You can discuss issues with installing on OSX here.

Note about timing: There are two separate classes, both on Weds: one at 10am, and one at 4pm.  The content in each will be the same.  Each class will be one hour long, and then I will stick around for another 30-60mins to help people as they practice, and to answer questions.

Course Schedule

Week Date  
1 Wed Sep 28 1) Motivational Overview of Python
2) Introduction to Python as a Language (we only got around as far as the Data Types slide)
2 Wed Oct 05 Variables, Numbers, and Strings
3 Wed Oct 12 Booleans & If Statements & PIRATES
4 Wed Oct 19 Lists and Loops
5 Wed Oct 26 Functions and Files
6 Wed Nov 02 More Project Euler, and file renaming
7 Wed Nov 09 More Project Euler, and intro to data analysis (Numpy)
8 Wed Nov 16
9 Wed Nov 23
10 Wed Nov 30