David Chiu

Professor of Computer Science
University of Puget Sound
Thompson Hall 303 | dchiu@pugetsound.edu


home | teaching | research | people | service | faq for students | contact

CS 240 - Software Engineering

Homework: Scoreboard Operator

In this assignment you will be building a scoreboard and its control panel using what we’ve learned so far. Specifically, we’ll build a scoreboard for softball (or baseball). If you’re not familiar with the scoring system of this game, here’s a feeble attempt at describing it. In an official game, the two teams play seven innings (nine, if baseball). Each team gets three outs per inning to try to score runs (which counts the number of players who reach home plate). After seven innings the runs are added together, and the winner is determined.

Image of Scoreboard

The status (and result) of the game is called a box score. During a game, the box score is tracked on a giant scoreboard at the ballpark, and it is constantly updated by a scorekeeper. In addition to tracking the score accurately, they also try keep the crowd entertained by playing music, sound effects, and displaying images next to the box score.

In this assignment, you will create a scoreboard and control center.

Student Outcomes

Starter Code and Git

Starter code for this assignment is provided in the github repo https://github.com/davidtchiu/cs240-hwk-scoreboard. Go to my github repo, and *fork* this repository to your github account to obtain your own copy on github. Copy the Github URL to your newly forked project. Then from your local machine, open a terminal, navigate to your directory for this class, and *clone* your forked Github repo down to your local working directory. After you’ve done this, you can work freely in VS Code. Remember to commit when appropriate with substantive messages. Branch early and often. Push your main branch up to your github repo for backing up your work. I also will be checking out your Github’s main branch for grading!

Working Solution

Click here for my working solution of this App.

Program Requirements

For full credit, your project should observe the following requirements.

Optional Extensions

Have some free time? Add the following features:

Submission

Assignment submission is simple. Simply make sure that the latest code is committed and pushed into your forked cs240-hwk-scoreboard on github (before the 12am deadline). Then send me the link to your repository on canvas.

Grading

CS 240 Homework (Scoreboard Operator)


----------------------------------------------------------
[20/20pts] HTML + CSS

> The design and feel of your Scoreboard app looks exactly as
  is specified in the description. The exception is if you
  added a few more buttons if you completed some of the
  "extra" items.

----------------------------------------------------------
[30/30pts] DOM and Events

> Your program queries for, and reads in all "inning" and "runs"
  boxes as DOM nodes, storing them in an appropriate data
  structure for easy access.

> Pressing + or - will make the appropriate scoring changes
  in the box currently specified by the "Inning" and "Who" values.
  Additionally, the total runs in the "R" column should reflect
  the new scores.

> Ensure that runs never go negative.

> The music buttons play sound effects and updates images as
  as described.

----------------------------------------------------------
[5/5pts] Implementation and Efficiency

> Your program should demonstrate reasonable runtime
  efficiency of all algorithms. Appropriate data structures
  should be used.

----------------------------------------------------------
[5/5pts] Comments

> You include sufficient block comments for each class and method.

> You include sufficient inline comments in your methods.


----------------------------------------------------------
[0pts] Misc. Deductions
> Late?

----------------------------------------------------------
Suggestions (No Deductions)


Total: 60 pt