CSCI 102 Homework Assignments - Spring 2008

Assignment Assigned Date Due Date Points
`Homework 1 1/28 2/10 25
Homework 2 2/11 2/24 30
Homework 3 3/3 3/13 25
Homework 4 3/24 4/8 40
Homework 5 4/9 4/29 50

Assignment Grading

Unless you get permission from your TA, or from the professor, the late submission penalty is as follows:

Student Code of Conduct

The official USC code of student conduct clearly discusses what is acceptable and not acceptable for submission of homework. It also states the penalties associated with various violations.

I would like to make it clear, that it is NOT ACCEPTABLE to submit any code, FROM ANY SOURCE - whether a friend, or whether found online, as part of your own homework or lab submission.

Since you have this significant warning, there will be NO EXCUSES ACCEPTED. If you are found cheating, you WILL receive an F for the course and be reported to the Office of Student Judicial Affairs.

Design Document Requirement

The link below is to the template for the design document. Like what is done in the labs, EVERY lab and homework assignment, unless otherwise stated, requires a design document. The design document must also describe the ALGORITHM that is used for a function that you write. Not just the inputs and outputs.

Design Document Template

Assignment Details

Homework 1 - Fantasy League Team Registration System

You've been hired as a contract programmer by a company to write a Fantasy League Team Registration System for some kind of fantasy sport. You've already had a couple of meetings with your "boss" and have learned the following:

You are to build the system so that leagues can be created. Once a league exists, teams can be added to the league. Once a team exists, players can be added the the team. You are likely to want some kind of menu choice for the user to select what they wish to create: league, team, player, etc. If the user wants to create a team, you must display the list of leagues that have been created. The same can be applied to adding players to a team. You get to decide, but remember you want the user interface to be convenient for the user.

A league must have a manager. A team must have an owner. A team must also have at least the minimum number of players and no more than the maximum number of players.

Grading

Submission

All assignments are to be submitted electronically - including your design documents. To submit your work, you must be logged into aludra.usc.edu - in your Unix account. We use the submit program to do the actual submission. The command line you must enter to submit your work is:
     submit -user csci102 -tag hw1 MYFILES

Where MYFILES is the list of file names that you are submitting. DO NOT submit your compiled code, just your source code and design documents. Also, submit a file called COMPILE. This is the instructions for the TA/LA on how to compile and run your problems

Homework 2 - Fantasy League: Playing Games and Scoring

You are to add a Schedule to your league. A Schedule is a list of games that are to be played between 2 teams on a certain date. You are to prompt the user for all data needed to make up a schedule - which 2 teams and what date the game is to be played. Store the schedule with the league it is for.

Also, you are to use your own templated linked list class in this assignment. DO NOT use the STL vector class, or any STL classes, for this assignment.

You are to have a new schedule summary report. This will print the schedule for a league. Any games that have been "played" are to show the score.

Lastly, you are to allow the user to select a scheduled game and enter the score for the game. From the score you are to assign a win/loss to each team. A team's record is now to be displayed for the summary reports - both league and team.

Grading

Submission

All assignments are to be submitted electronically - including your design documents. To submit your work, you must be logged into aludra.usc.edu - in your Unix account. We use the submit program to do the actual submission. The command line you must enter to submit your work is:
     submit -user csci102 -tag hw2 MYFILES

Where MYFILES is the list of file names that you are submitting. DO NOT submit your compiled code, just your source code and design documents. Also, submit a file called COMPILE. This is the instructions for the TA/LA on how to compile and run your problems

Homework 3 - Making a Scroller

You are to use EzWindows to build a "game" that scrolls. For this first assignment, you are to build the scrolling part of your game. You are to have "things" (you get to decide what they are) that show up and move across the screen. They can all move at the same speed, for now. You are to have 5 different things. They are to show up randomly and then scroll.

Each of your scrolling "things" is to be represented by a class. Items that are being scrolled are to be stored in your templated list class. When an item is no longer on the screen, it is to be removed from its list.

Grading

Submission

All assignments are to be submitted electronically - including your design documents. To submit your work, you must be logged into aludra.usc.edu - in your Unix account. We use the submit program to do the actual submission. The command line you must enter to submit your work is:
     submit -user csci102 -tag hw3 MYFILES

Where MYFILES is the list of file names that you are submitting. DO NOT submit your compiled code, just your source code and design documents. Also, submit a file called COMPILE. This is the instructions for the TA/LA on how to compile and run your problems

Homework 4 - Scroller Game Version 1

You are to turn your homework 3 into the first version of your scroller game. This means you must make the following enhancements:

Grading

Submission

All assignments are to be submitted electronically - including your design documents. To submit your work, you must be logged into aludra.usc.edu - in your Unix account. We use the submit program to do the actual submission. The command line you must enter to submit your work is:
     submit -user csci102 -tag hw4 MYFILES

Where MYFILES is the list of file names that you are submitting. DO NOT submit your compiled code, just your source code and design documents. Also, submit a file called COMPILE. This is the instructions for the TA/LA on how to compile and run your problems

Homework 5 - Final Scroller Game

For your last homework assignment, you are to add the following capabilities to your scroller game:

Grading

Submission

All assignments are to be submitted electronically - including your design documents. To submit your work, you must be logged into aludra.usc.edu - in your Unix account. We use the submit program to do the actual submission. The command line you must enter to submit your work is:
     submit -user csci102 -tag hw5 MYFILES

Where MYFILES is the list of file names that you are submitting. DO NOT submit your compiled code, just your source code and design documents. Also, submit a file called COMPILE. This is the instructions for the TA/LA on how to compile and run your problems