Miniproject 1: "Getting into the Swing of Python With Illusions" in CSE 190 D (Spring 2013)
|
Purposes:
Gain fluency with Python, an introduction to GUI programming,
an experience with visual illusions, and a little experience working in a partnership.
|
|
Teams and Topics:
Your topic and your partner will be assigned to you. However, you get to
express your preferences for both. To do so, log into INFACT, as explained
in GoPost. Be sure to do this before Tuesday night (April 9) at 11:00 PM, unless you
are happy not to express preferences.
|
Format:
Prepare a PixelMath + Python program to illustrate the visual illusion that
your team is working on. Then
prepare a document either in Word or PDF format that includes
and explanation of your visual illusion, with one or more screen shots
of your program. Your program should be interactive, meaning that the user
can control the program in some way, possibly using one or more sliders
and/or buttons. The controls may change the contrast, rate of animation,
or any other variables that are relevant to the visual illusion you are
presenting.
It may also use simple animation, for example showing a
pattern that rotates.
Your Python program should be in one or more separate files, each having the file extension ".py".
|
|
Due:
Wednesday, April 17, via Catalyst CollectIt, at 11:00 PM.
Only the team member whose last name comes alphabetically first (in the team) need submit
the files. But the report, and the comments in the code, should clearly indicate the names of both team members.
|
|
Contents of the Report:
Your report should contain the following:
(a) a title that includes the name of your visual illusion, (b) the full names of both team members, (c) an image that illustrates the setup or stimulus for the illusion, (d) an explanation of the illusion (about 1 page in length) telling what to look for, why it works (or give a leading theory of why it might work), and a brief history of the illusion, if that information is available, (e) an explanation of how your program works (about a paragraph) explaining any classes you have defined, and how the user interaction is handled, (f) a few sentences decribing what each team member contributed to the project, and (g) what each team member learned. Finally, (h) include a list of the references
you used for your project, including names, authors, and URLs of any websites.
|
|
Resources
The following resources may be useful:
-
The website of
Michael Bach in Germany.
-
Chapter 16 (Programming Techniques) of our textbook; Appendix E on Graphical User Interfaces.
-
This
online tutorial
on GUI development with the
Jython+Swing environment.
|