11th grade retreat

From Computer Science Wiki
Jump to: navigation, search
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

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

The Problem

The 11th grade has a two-day retreat. This retreat will help them learn about CAS (Creativity, activity, service). There are 10 activities for the 11th grade retreat. Each activity can only have 8 students. Each student can make a primary request and a secondary request. Students can only be in one activity at one time.

Your solution must make the best possible match for all students. An example of the INPUT data is provided below:

#
# in the example below:
# student 1 wants to be in activity 4 and 5
# student 2 wants to be in activity 7 and 8
# and so on...
#
choices={"1":"4,5",
"2":"7,8"
"3":"1,6"
"4":"2,4"}

Unit Tests

If you accept the choices as input, your program must output (as an example):

#
# in the example below, activity 1 has students 1,5,7,8,9,12,17 and 75 (8 students)
#
activities = {
"1":"1,5,7,8,9,12,17,75",
"2":"3,22,29,33,31,45,50,80"}

Hacker edition

DemonstrateProve or make clear by reasoning or evidence, illustrating with examples or practical application. you have made the best match. Essentially, you are providing information that most of the students had their first choice.

How you will be assessed

Your solution will be graded using the following axis:


Scope

  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. does your code implement the features required by our specification?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. is there evidence of effort?

Correctness

  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. did your code meet specifications?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. did your code meet unit tests?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. is your code free of bugs?

DesignProduce a plan, simulation or model.

  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. is your code written well (i.e. clearly, efficiently, elegantly, and/or logically)?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. is your code eliminating repetition?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. is your code using functions appropriately?

Style

  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. is your code readable?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. is your code commented?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. are your variables well named?
  • To what extentConsider the merits or otherwise of an argument or concept. Opinions and conclusions should be presented clearly and supported with appropriate evidence and sound argument. do you adhere to style guide?

References

A possible solution

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

  1. track every first choice and every second choice (how many total choices are there for activity 1,2,3....)
  2. First of all, just try to get everyone into their first choice
  3. Then count how many students are in choice 1,2,3,4 etc
  4. Count the numberA unit of abstract mathematical system subject to the laws of arithmetic. of open / free spots in remaining activities
  5. If any activity has more than 10 students, look at the second choice of everyone in activity 1
  6. If any of the people in activity 1 have a second choice that is open, move them to that choice.