[Edu-sig] Programming Exercises
Winston Wolff
winstonw at stratolab.com
Fri Jun 10 05:18:50 CEST 2005
I just purchased the book "Python Programming" by Michael Dawson. I
like it very much for teaching absolute beginners Python, and I have
borrowed a bunch of his examples. All the examples revolve around
games, from simple text based games to later graphics games with
TKInter and PyGame/Livewire. If your students have a little
experience in another language, this might be good.
-winston
On May 26, 2005, at 1:10 PM, Scott David Daniels wrote:
> Chuck Allison wrote:
>
>> Hello Scott,
>>
>> Thursday, May 26, 2005, 1:55:15 AM, you wrote:
>>
>> SDD> Chuck Allison wrote:
>>
>>
>>>> Hello edu-sig,
>>>>
>>>> Does anyone know of a good source of programming exercises/
>>>> projects
>>>> to use when teaching Python to people who already know another
>>>> language? Solutions don't need to be available - I just need some
>>>> good sample programming assignments. Thanks.
>>>>
>>>>
>>
>> SDD> You need to tell us what yu are interested in / would like to
>> do.
>> SDD> Do you want to find eigenvectors? Do you want to do GUI
>> work? ....
>>
>> Good question. Mostly I need general assignments (using sequences,
>> mappings, text processing, basic OO, launching processes for testing,
>> etc.), but also simple mail apps and basic COM (like processing
>> Microsoft Word docs). No higher math. Some basic GUI ones would be
>> nice too (will be using wxPython). Thanks!
>>
>>
>>
> First, do the Python tutorial if you have not. Try following Dive
> Into Python if it meets your tastes.
>
> For text processing:
>
> Create or obtain a couple of plain ASCII texts. One should be short
> for testing and development, and another long for fun and production.
> Look to Project Gutenberg if you don't have anything long yourself.
> Make a concordance (words to position) that you can save and restore
> w/o re-counting your text. Find the N (50 for big) most frequent
> words used.
>
> Once you have all that working, figure out how to show all instances
> of a selected word "in context". For extra credit, words, sorted by
> frequency or alphabetically (button selectable) presented on a wx
> window that show your "word in context" when clicking on a word.
>
> That should hold you for a day or two.
>
> ---
>
> My bias is to go test-forward, so (if you want to try that) here is
> a start (a first test to pass). Most of this is boilerplate, look at
> the body of test_words to see the only actual test here. Create a
> test_wordy.py file as so:
>
> import unittest
> from StringIO import StringIO
> import wordy # the module you are actually testing
>
> class TestWords(unittest.TestCase):
> def test_words(self):
> source = StringIO("a test")
> self.assertEqual(['a', 'test'], list(wordy.aswords
> (source)))
>
> if __name__ == '__main__':
> unittest.main()
>
> Now, when you run python on this file you will get a failure. The
> first
> one is that wordy.py doesn't exist. Keep fixing until your test
> passes.
> Then add tests for new behavior, watch them fail, and fix the source
> until it works.
>
> --Scott David Daniels
> Scott.Daniels at Acm.Org
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>
More information about the Edu-sig
mailing list