Example Problem Set: Difference between revisions

From Computer Science Wiki
Line 13: Line 13:
== The Problem ==
== The Problem ==


At a prestigious international school, we have only 5 administrators, Michael, Carol, Jen,  Constance and TJ. Your program should ask the user to type in their name. If their name matches one of our administrators, your program must output a special greeting. If the user input is any other name (does not match the list of administrators)
At a prestigious international school, we have only 5 administrators, Michael, Carol, Jen,  Constance and TJ. Your program should ask the user to type in their name. If their name matches one of our administrators, your program must output a special greeting. If the user input is any other name (does not match the list of administrators).
 
There is no testing for user input. That is, if a user enters a number, an integer, or nothing, your program should not evaluate the input.


== Unit Tests ==
== Unit Tests ==

Revision as of 07:48, 8 June 2016

This a problem set for you to work through [1]

This is a problem set. Some of these are easy, others are far more difficult. The purpose of these problems sets are:

  1. to build your skill applying computational thinking to a problem
  2. to assess your knowledge and skills of different programming practices


What is this problem set trying to do[edit]

This is example problem set. In this example we are learning about lists, conditionals, and processing user input.

The Problem[edit]

At a prestigious international school, we have only 5 administrators, Michael, Carol, Jen, Constance and TJ. Your program should ask the user to type in their name. If their name matches one of our administrators, your program must output a special greeting. If the user input is any other name (does not match the list of administrators).

There is no testing for user input. That is, if a user enters a number, an integer, or nothing, your program should not evaluate the input.

Unit Tests[edit]

  • User Input: Name: Bill
  • Expected output: Hello Bill
  • User Input: Name: TJ
  • Expected output: An administrator! Hello TJ
  • User Input: Name: 123
  • Expected output: Hello 123

Take This Further[edit]

  1. add in a condition that players only have a certain number of turns to win
  2. add in a difficulty level; easy, medium and expert. If a player has easy, they have 8 tries, medium, they have only 4 tries, and expert, only 2 tries!!

How you will be assessed[edit]

Your solution will be graded using the following axis:

Scope

  1. To what extent does your code implement the features required by our specification?
  2. Did the student try?
  3. Evidence of effort? Even if the student fucked up, if they tried, they get assessed.


Correctness

  1. Did code meet specifications?
  2. Did code meet unit tests?
  3. If it passes all unit tests, it earns a 5
  4. Check50: output is suggestive not determinative.


Design

  1. Is this code efficient?
  2. Are you you eliminating repetition?
  3. Are you using functions when you should?
  4. Code that is short is often a proxy for good design


Style

  1. Is your code formatted?
  2. Variables well named?
  3. Adhere to clean code

References[edit]

A possible solution[edit]

Click the expand link to see one possible solution, but NOT before you have tried and failed!

not yet!