Posted: Mon Oct 13

Due: Wednesday 10/15 10:00am

Submission name: test01.rkt

Write Possible Test Questions

With your TableBuddy™ write three potential test questions.

  1. The first two should be multiple choice questions with 4 options.
  2. The third one should be a function to program.
    • This should be similar to the programming work you have had so far. Include all the information needed to write the function (formulas, etc).

Put both questions, and the answers in a racket file. You are working with your TableBuddy™, but both of you need to submit this file. You can put multiple lines together in a single comment using #| .... |#. Use this format:

#lang racket
#|
MC Question:
Skill:
Options:
Answer
|#

#|
MC Question:
Skill:
Options:
Answer
|#

#|
Programming question:
Skill:
Description

Possible solution:
|#
CODE GOES HERE

Here is a filled in Example:

#|
MC Question:
What is the air speed of an unladen swallow?
Skill: 9001
Options:
A) 2 mph
B) 20 mph
C) 200 mph
D) African or European?

Answer: D
|#

#|
MC Question:
Who you gonna call?
Skill: 9001
Options:
A) Transformers
B) Ghostbusters
C) Thundercats
D) Teenage Mutant Ninja Turtles

Answer: B
|#

#|
Programming question:
Write a function that takes the radius of a
circle and returns it's area.
area = pi * r^2
Skills: 1, 3
Possible solution:
|#
(define areaC
  (lambda (radius)
    (* pi radius radius)))
(areaC 10)

Skills For Test I

Skill Minimal Competency Developing Competency Competency Mastery
2. Understanding how functions operate Knows the difference between calling and defining a function. Can correctly define and call functions. Can describe, with accurate vocabulary (e.g. parameters/arguments), the difference between calling and defining a function. Can explain, with accurate vocabulary (i.e. stack) what happens when a function is called and when a function is defined.
3. Writing functions/procedures. Can write the contract for a function. Can write simple functions given a contract. Can write complex functions given a contract and can write contracts for functions given a specified task. Can write contracts for complex functions, implement those functions and create effective test cases for them.
4. Understanding Algorithms Can follow an algorithm to produce a desired outcome. Can break down a simple problem into basic steps that will result in a desired outcome. Can break down a problem into basic steps and implement those steps in code. Can analyze the differences between 2 or more algorithms that produce the same desired outcome.
5. Working with Boolean Values Understands the purpose of boolean values. Demonstrates the appropriate use of comparison operators. Demonstrates the appropriate use of comparison and boolean operators. Writes functions that take in boolean values and/or return boolean values.
6. Using Conditional Statements Can trace the result of a single conditional statement. Can write conditional statements with one or two results. Can write nested conditional statements. Can use at least two different kinds of conditional statements, and understand the benefits of each.
11. Recursion Can describe what a recursive function is. Can accurately trace a recursive function. Can write and trace a recursive function. Can develop a recursive solution to a problem and correctly implement it.