PYTHON 210A Syllabus

_images/python100.png

UW Adult and Continuing Education Program

Certification in Python Programming: Program Description

The Python Certificate program is a 9-month curriculum divided into three courses. By the end of the program students will have gained a fundamental understanding of programming in Python by creating a variety of scripts and applications for the Web and for systems development. Python is a versatile programming language, suitable for projects ranging from small scripts to large systems. The certificate program emphasizes best practices such as version control, unit testing and recommended styles and idioms. Students will explore the large standard library of Python 3.6, which supports many common programming tasks.

First Course: Introduction to Python

Tuesdays 6-9 pm: Oct 3 - Dec 12, 2016 (10 Sessions)

NOTE: in the spirit of the dynamic nature of Python, this Syllabus (and the class) will be a dynamic document – evolving as the class progresses. The general structure is fixed, but the details will change to meet the evolving needs of the class.

Learning Goals

By the end of this course, students will be able to “do something useful with Python”.
  • Identify/characterize/define a problem
  • Design a program to solve the problem
  • Create executable code
  • Read most Python code
  • Write basic unit tests

Approach:

This class assumes a basic knowledge of programming. Thus I will try to emphasize what is unique about Python, with less focus on general programing concepts.

One learns programming by doing – I’ll be demonstrating as I talk about concepts, and I will pause frequently to give you a chance to try things out, so plan on having a laptop up and running with python and your text editor of choice during each class.

We will be using a combination of traditional lecture format and “Flipped Classroom” approach – We will generally have reading (or video) assignments that cover a topic, and then in class, we will work through exercises as a group to cement your understanding. We will also be doing frequent “pair programming” – teaming the students up in pairs to work through exercises together.

Logistics

Location: Puget Sound Plaza, 4th and Union, Seattle

Room 506 (5th floor)

Tuesday nights, 6 - 9pm; Oct 3 - Dec 12, 2017

Your Instructors:

Christopher Barker – pythonchb@gmail.com

TA: Maria Mckinley – mariak@mariakathryn.net

Course website: https://github.com/UWPCE-PythonCert/IntroPython-2017

Python Version:

There are two main supported versions of Python: the 2.* series and the 3.* series (py3k). In this class we will be using “cPython” version 3.6, the version distributed by python.org. Each student is expected to have access to a laptop with permission to install software – both during class and for homework assignments. Any modern operating system is fine: OS-X, Linux, or Windows.

Note that Python3 and Python2 have some slightly different syntax and semantics. Many of the examples you will find on the web are in Python2 syntax. We will cover the differences early in class so you will know how to translate.

Assignments And Assessment

Homework:

There will generally be weekly homework assignments. They will include primarily reading and video watching and completing programming exercises started in class. You are not required to turn in the assignments to pass the course, however, we learn by doing, so I do encourage you to put some time in to the homework. I will review your work if you ask me to, and do mini code-reviews of selected assignments during class.

Teach Yourself Programming in Ten Years

Lightning Talks:

Each student is expected to give one “lightning talk” during the class – this is a simple 5-minute talk on something related to Python – totally up to you. We will randomly assign the talks schedule (using Python, of course) during the first class.

Grading And Attendance

This course is graded pass/fail, based on attendance and participation in class. Students are required to attend at least 8 of the 10 classes.

Policies And Values

Active learning requires students to participate in the class, as opposed to sitting and listening quietly. In class students will follow the instructor in creating demonstrative examples. Outside of class, students are expected to read the assignments, perform the homework, and post questions (about recent session topics) that they have on the class mailing list or slack before the next class session. Other students are strongly encouraged to answer these questions if possible. Answers to common and unanswered questions will be reviewed in the next class session.

Your feedback on the course and instruction

After the 3rd class session, we solicit anonymous feedback from all students regarding the pacing and instruction of the course. Students will also be invited to provide comments at the end of the course.

Student Handbook

The student handbook can be found online http://www.pce.uw.edu/resources/certificates/

Communication

Office Hours:

Physical location to be determined week to week.

Usually Saturdays and Sundays, 10:00 a.m. to noon Pacific Time (Seattle time) but day and time may change week to week.

Office hours are completely optional

Slack

We will be using Slack for communication. Join us there.

https://python2017-fall.slack.com/

gitHub

All class materials will be up on gitHub (where you probably found this). This allows me to update things at the last minute, and the students can all have easy access to the latest versions. It also familiarizes you with a very useful tool for software development.

We will also be using gitHub to communicate during the class – turn in assignments, post questions, etc.

We’ll spend a bit of time during the first couple classes getting everyone up and running with git and gitHub.

https://github.com/UWPCE-PythonCert/IntroPython-2017

for rendered and ready to read version of the class lecture notes:

http://UWPCE-PythonCert.github.io/IntroPython-2017

Mailinglist

There is a google groups mailing list for the class:

https://groups.google.com/forum/#!forum/programming-in-python

You should have received an invitation to join the group. If you have not, please let us know and we can get you added.

Course Textbook

There is no textbook to purchase.

We have determined over time that a one-size-fits-all approach does not work well for the diverse skills and backgrounds of students in class. Thus, rather than requiring that everyone purchase a single text, we supply many resources, most of which are free (as in free beer) and available online.

We also encourage you to purchase or find your own texts and references. If you have a special interest in, for instance, data visualization, machine learning or game programming, find a reference and bring it and your questions to class and/or weekly office hours. By the time you get to the third course in the series this will feel natural. Indeed it is the way we work as professionals in the field, each of us individually or in small teams finding the tools and resources we need to further our interests, skills and careers.

A few you may want to consider: Useful Python Learning Resources

Disability Accommodation

Your experience in this class is important to us, and it is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law. If you experience barriers based on disability, please seek a meeting with DRS to discuss and address them. If you have already established accommodations with DRS, please communicate your approved accommodations to your instructor at your earliest convenience so we can discuss your needs in this course.

Disability Resources for Students (DRS) offers resources and coordinates reasonable accommodations for students with disabilities. Reasonable accommodations are established through an interactive process between you, your instructor(s) and DRS. If you have not yet established services through DRS, but have a temporary or permanent disability that requires accommodations (this can include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), you are welcome to contact DRS at 206-543-8924 or uwdrs@uw.edu or disability.uw.edu