Change Contents of the Bubble
Welcome to CS1315. Click on the python to add comments.

Looking for the book? They have it at the Engineer's Bookstore at 748 Marietta St NW. Here is there website: http://www.engrbookstore.com/ - Monica

Hotspots: Slides and CodeTA CornerComments?AnnouncementsFAQStatic Webspace
View this PageEdit this Page (locked)Uploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

CS4452 Homeworks-Fall 2004

Homework assignments for CS4452 students will be similar to those assigned to students in CS1315, but will include additional components geared toward graduate students and designed to inspire thinking about interactivity and human-centered computing issues.

Important Note: On homeworks, you are encouraged to collaborate with your fellow students. However, if you do work with others, you must list the people you worked with in the "Notes to TA" area of the JES turnin window.

BE SURE TO TURN IN SOMETHING THAT WORKS! If your program fails with an error, it becomes very hard for the grader to give you any points at all! Turn in something that works, even if it doesn't do EVERYTHING, and you will get partial credit. If your program stops with an error without getting anything done, we are hard pressed to give you any points at all.

Homework 1:

Base assignment (from CS1315)

Additional requirements: Create 4 more posters choosing (and possibly combining) from these options:

Your turnin should consist of a single Python file named hw1.py. It should include at least five functions:

Your file may have additional "helper" functions that one or more of your functions use to create the posters.

You may optionally choose to include one or more pictures in your turnin that your createPostern functions are "well-tuned" to work with. If you'd like to have us use a specific picture with one (or more) of your functions, leave a note to that effect in the "Note to TA" box in the turnin interface.

To test your submission, the TA will use the following code:
pic = makePicture(pickAFile())
show(posterize(pic))
pic2 = makePicture(pickAFile())
show(createPoster1(pic2))
pic3 = makePicture(pickAFile())
show(createPoster2(pic3))
pic4 = makePicture(pickAFile())
show(createPoster3(pic4))
pic5 = makePicture(pickAFile())
show(createPoster4(pic5))

Also, feel free to post your results in the CS4452 Project Galleries!

Ask questions about the CS4452-specific parts of the assignment on Fall 2004 Homework 1 Questions (CS4452)

Homework 2:

Base assignment (from CS1315)

Additional requirements: your collage-generation program must demonstrate interactivity; that is, you should provide a general-purpose tool that a user could use to create an interesting collage of their own.

You are encouraged to use the JOptionPane dialog class demonstrated in breakout, although you are welcome to create a more complex interface using the Swing toolkit as well. (There's more information about using Swing towards the back of the textbook.)

Your program should still be stored in a single python file, makeCollage.py and should be started using the function call makeCollage().

At a minimum, your program should:

Also, please post at least one collage created with your program to the gallery, along with source pictures and a brief description of the sequence of user interface responses used to generate that image.

Ask questions about the CS4452-specific parts of the assignment on Fall 2004 Homework 2 Questions (CS4452)

Homework 3:

Base assignment (from CS1315)

Additional requirements: Follow the directions for the base homework, but use a minimum of four original sounds (in four sound files). Your collage must still be at least five seconds long. You must also use at least one of these sounds twice (or more!) in the collage. Your function should be named makeAudioCollage(), you should use getMediaPath() to load the sound files, and the function should return your completed audio collage.

Ask questions about the CS4452-specific parts of the assignment on Fall 2004 Homework 3 Questions (CS4452)

Homework 4:

Base assignment (from CS1315)

Additional requirements: Follow the directions for the base homework. Spend a little bit of time to generate a more refined index page. For example, use graphics, styles, a style sheet, or tables to lay out the list of links in an interesting manner. You could also ask the user (interactively) to choose between one or more "styles" to use for the index page.

Ask questions about the CS4452-specific parts of the assignment on Fall 2004 Homework 4 Questions (CS4452)

Homework 5:

Base assignment (from CS1315)

Style counts. =)

Ask questions about the CS4452-specific parts of the assignment on Fall 2004 Homework 5 Questions (CS4452)

Homework 6:

Base assignment (from CS1315)

You will accomplish all of the requirements for the base assignment, but will create some classes that will act as helpers for your makeNewsTickerTape function and encapsulate the functionality of a TickerTape object.

Your program file will contain three sections:
1. A class called TickerTape that wraps up all data associated with a single tickertape object, including its message, its y position, its speed, and optionally things like its color, font, style, etc. The tickertape will have one parameter for its constructor (__init__ method): the message that it displays. All other properties of the tickertape will be initialized in the constructor to default (read: reasonable) values.

The only method besides __init__ that TickerTape must implement is a method named paint, which takes two parameters: the canvas the tickertape should paint itself onto and the frame number that should be painted. This means that TickerTape should include the following method definition (filled out, of course):

def paint(self, canvas, frame):

2. A class called WebTickerTape that subclasses TickerTape. WebTickerTape should be identical to TickerTape, except that its constructor should take only a number – which headline (1-3) that its message should display. In its constructor, WebTickerTape should go out to the web, read the news web site, and set its message to match the specified headline.

Note that subclasses do not automatically call their parents' constructor methods – you should do that yourself at some point during the WebTickerTape constructor, using the following code:

TickerTape.__init__(self, someMessage)

3. The makeNewsTickerTape function specified in the base assignment, but that uses the WebTickerTape classes to accomplish the creation of your news tickertape movie.

Ask questions about the CS4452-specific parts of the assignment on Fall 2004 Homework 6 Questions (CS4452)

Link to this Page