Example Problem Set: Difference between revisions

From Computer Science Wiki
Line 33: Line 33:


Your solution will be graded using the following axis:  
Your solution will be graded using the following axis:  


'''Scope'''
'''Scope'''
# To what extent does your code implement the features required by our specification?
* To what extent does your code implement the features required by our specification?
# Did the student try?
* To what extent is there evidence of effort?
# Evidence of effort? Even if the student fucked up, if they tried, they get assessed.
 


'''Correctness'''
'''Correctness'''
# Did code meet specifications?  
* To what extent did your code meet specifications?
# Did code meet unit tests?  
* To what extent did your code meet unit tests?
# If it passes all unit tests, it earns a 5 
* To what extent is your code free of bugs?
# Check50: output is suggestive not determinative. 
 


'''Design'''
'''Design'''
# Is this code efficient?
* To what extent is your code written well (i.e. clearly, efficiently, elegantly, and/or logically)?
# Are you you eliminating repetition?
* To what extent is your code eliminating repetition?
# Are you using functions when you should?
* To what extent is your code using functions appropriately?
# Code that is short is often a proxy for good design
 


'''Style'''
'''Style'''
# Is your code formatted?
* To what extent is your code readable?
# Variables well named?
* To what extent is your code commented?
# Adhere to clean code
* To what extent are your variables well named?
* To what extent do you adhere to style guide?


== References ==
== References ==

Revision as of 08:50, 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

Hacker edition[edit]

How you will be assessed[edit]

Your solution will be graded using the following axis:


Scope

  • To what extent does your code implement the features required by our specification?
  • To what extent is there evidence of effort?

Correctness

  • To what extent did your code meet specifications?
  • To what extent did your code meet unit tests?
  • To what extent is your code free of bugs?

Design

  • To what extent is your code written well (i.e. clearly, efficiently, elegantly, and/or logically)?
  • To what extent is your code eliminating repetition?
  • To what extent is your code using functions appropriately?

Style

  • To what extent is your code readable?
  • To what extent is your code commented?
  • To what extent are your variables well named?
  • To what extent do you adhere to style guide?

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!