Lesson 1: Introduction to Python Programming

12 views
Skip to first unread message

Mikeal Rogers

unread,
Feb 3, 2009, 4:23:12 PM2/3/09
to mozqa-team-py...@googlegroups.com
This is the first draft of our introductory Python programming lesson.
Feedback is encouraged as this is just the first draft.

This draft will be finalized by Friday, February 6th and posted as a
document to the Google Group. The first use of this lesson will begin
on Monday, February 9th.

===========================================

All text assignments for this lesson are from Mark Pilgrim's "Dive
Into Python".

http://diveintopython.org/toc/index.html

Week 1: Text Assignment
Chapter 2: Your First Python Program
Chapter 3: Native Datatypes
Week 2: Programming Assignment
Text Parsing:
1. Choose some text that you would like to parse, it can be a log
file, html site, xml feed, etc.
2. Write a script to read in the test file and parse out the parts
you would like in to a dictionary and print the dictionary to the
screen.
Week 3: Text Assignment
Chapter 4: The Power of Introspection
Chapter 5: Objects and Object-Orientation
Week 4: Programming Assignment
Using Classes
1. Create a class scheme for your previous parsing assignment
(suggestions will be sent out for everyone who participated in Week
2's programming assignment)
2. Create a method to refresh a given object instance from the
original parsing source
3: Extra: If it makes sense, create some dynamic attributes which
can either lazy load from the parsing source or provide dynamic
defaults for certain attributes.
Week 5: Text Assignment
Chapter 6: Exceptions and File Handling
Chapter 10: Scripts and Streams
Week 6: Programming Assignment
Creating Documents
1. Decide whether you would like to generate HTML pages, XML feeds,
or other document type from your previous objects.(suggestions will be
sent out for everyone who participated in Week 4's programming
assignment)
2. Either add methods to your previous classes to serialize to your
chosen document or create a simple wsgi server that will return
different documents.

During the text assignments participants are strongly encouraged to
send questions to the Google Group. If you finished a text assignment
early feel free to being working on the next programming assignment.

During programming assignments participants are encouraged to send
questions or problems they run in to the Google Group. All programming
assignments are to be sent to the Group for review upon completion.
The reviews are expected to bleed over in to the next week, this is
fine as the time needed for text assignments will tend to be lower
than programming assignments.


timr

unread,
Feb 3, 2009, 4:52:13 PM2/3/09
to MOZQA Team Python Learning
This is great! I was expecting each lesson to be a week or two. But
having one lesson span 6 weeks is fine. There are a few weeks without
chapters listed. Are these continuations so we would look at the
previous week's chapter for guidance? I am talking about weeks 2, 4,
6. Or will there be other resources for guidance?

I am wondering if this will be too aggressive of a schedule since we
have a lot on our plates with the big push for 3.1 testing. Another
way of thinking about this is: do you expect people to generally stay
in sync or everyone move through this at their own pace. I was
thinking we would generally stay in sync, help each other out, and not
have people feel left behind.

--Tim

On Feb 3, 1:23 pm, Mikeal Rogers <mikeal.rog...@gmail.com> wrote:

> Week 2: Programming Assignment
>         Text Parsing:
>                 1. Choose some text that you would like to parse, it can be a log  
> file, html site, xml feed, etc.
>                 2. Write a script to read in the test file and parse out the parts  
> you would like in to a dictionary and print the dictionary to the  
> screen.

> Week 4: Programming Assignment
>         Using Classes
>                 1. Create a class scheme for your previous parsing assignment  
> (suggestions will be sent out for everyone who participated in Week  
> 2's programming assignment)
>                 2. Create a method to refresh a given object instance from the  
> original parsing source
>                 3: Extra: If it makes sense, create some dynamic attributes which  
> can either lazy load from the parsing source or provide dynamic  
> defaults for certain attributes.

Mikeal Rogers

unread,
Feb 3, 2009, 5:00:38 PM2/3/09
to mozqa-team-py...@googlegroups.com
The programming assignments build on the what was learned in the
previous weeks text.

There will, of course, be some things that need to be learned outside
of the text depending on the project but I'll be sending out those
resources as they come up since they depend on what people decide to
take on in the programming assignments.

I also expect a lot of discussion about the text during the test
assignment weeks and lots of questions during the programming
assignments regarding problems that may be outside of the previous
weeks assigned text.

I don't expect the pace to stay the same with every individual,
particularly since the code review time is variable. I hope that
people won't feel "left behind" as nobody will be at the exact same
pace.

In terms of work load, there are really only 3 activities participants
will be doing.

1) Reading and participating in group discussion
2) Assigned text reading
3) Programming assignments

Reading and participation in the group discussion can be varied based
on an individuals time to do so. Since programming assignments are
chosen and tailed to the individual they can scale back their project
based on their existing work load. The only non-variable work is the
assigned reading which isn't actually that large, maybe a few hours
each week total.

-Mikeal

Andy Matthews

unread,
Feb 5, 2009, 11:11:14 AM2/5/09
to MOZQA Team Python Learning
I just joined this group, and haven't read the provided link yet, but
is it possible as part of the sessions to detail how to install Python
and get it up and running? I know nothing about it.

I'm running Apache on my local PC as a testing server so I could
easily tie into that as a module or something.

Mikeal Rogers

unread,
Feb 5, 2009, 11:20:05 AM2/5/09
to mozqa-team-py...@googlegroups.com
You can follow this guide:

http://diveintopython.org/installing_python/index.html

If you have any problems feel free to send another email and we'll
work through it.

-Mikeal

Andy Matthews

unread,
Feb 5, 2009, 4:07:28 PM2/5/09
to MOZQA Team Python Learning
Awesome. Can't wait to be a part of this. I've been reading lots of
cool things about Python and it really sounds like a great language.
Reply all
Reply to author
Forward
0 new messages