Data Visualization and Game Programming
Section 90: TR 4:00-5:15pm / J.C. Long 221
An introduction to general computer programming. Through game development, students will be exposed to computer modeling, data visualization, and media transformations: images, sounds, music, and text. Programming exercises will mainly involve computer games and animations developed in Python and VPython. Students will develop at least one computer game of their choice. Upon completion of the course, students will be able to develop programs to model information and processes in their field of study. Course is open to any major. No previous programming experience required.
- Test 1: Tuesday, September 26, 2006
- Test 2: Tuesday, November 14, 2006
- Final: 4-7pm, Tuesday, December 12, 2006
- Wikipedia, Computer and video game genres.
- Wikipedia, Roguelike computer games - games for ASCII platforms.
- Schiesel, S. "Online Game, Made in U.S., Seizes the Globe", New York Times, September 5, 2006.
- Games and violence readings.
- Laitinen, S. "Better Games Through Usability Evaluation and Testing", Gamasutra, June 23, 2005.
- Geoff Howland, "How do I make games? A Path to Game Development".
- P. Prusinkiewicz and A. Lindenmayer (1990), "The Algorithmic Beauty of Plants", Springer-Verlag.
- Worth, P., Stepney, S. (2005), "Growing Music: musical interpretations of L-Systems". EvoMUSART2005 – 3rd European Workshop on Evolutionary Music and Art, Lausanne, Switzerland, Lecture Notes in Computer Science, Applications of Evolutionary Computing, LNCS 3449, Springer-Verlag.
- Sample programs from textbook.
- Python operator overloading example.
- Input from file(s) provided as program argument(s): fileinput module.
- Keyboard input events through curses (for MS Windows use wcurses).
- L-Systems: l-system.koch.py, l-system.tree.py.
- jMusic - a programming library for sound and music applications in Java (docs).
- Download Jython + jMusic bundle: jython and jMusic (4MB) or jython, jMusic and Java Runtime (16MB).
- MIDI: bing.py, myFavoriteMelody.py, stochastic.py.
- Audio: sonOfBing.py, audioReadWrite.py, audioVisualize.py, audioDrums.py (samples for hihat, open hihat, kick, and snare).
- L-Systems: l-system.music.py (requires stack.py, lsystem.py (docs)).
- Python official site.
- Jython (Java + Python) official site.
- jMusic - a programming library for sound and music applications in Java. Also see jMusic setup instructions and documentation.
- ZunZun - on-line 2D and 3D data modeling and visualization.
- VRML (Virtual Reality Modeling Language, usually pronounced vermal) is a standard file format for representing 3-dimensional (3D) interactive vector graphics.
- HoloDraw is free VRML converter of data to rotating, fly-through and fly-by 3D images (Unix, Mac or Windows).
- Free VRML Viewers: SIM VRMLview, Cortona VRML Client, CosmoPlayer.
Engines for Visualization and Game Development (Python, freeware)
- Vpython - interactive 3D data visualization and modeling for novice programmers:
- PyGame - fully featured 2D games and multimedia programs:
- Panda3D - a 3D engine for rendering and game development:
- Blender - 3D modeling, animation, rendering, post-production, interactive creation and playback:
- PyUI - a simple user interface library in Python.