This is a talk I did in 2003 (!), but it turns out that the ideas contained in this presentation are as relevant (and NOVEL?!) as they were 15 years ago.
Please note: I DO NOT work for the University of Calgary any more. They do not deserve any credit for this work.
Assignments that Meet the Needs of Exceptional Students without Disadvantaging the Average
1. University ofUniversity of
CalgaryCalgary
Assignments that MeetAssignments that Meet
the Needs of Exceptionalthe Needs of Exceptional
Students withoutStudents without
Disadvantaging theDisadvantaging the
AverageAverage
Katrin BeckerKatrin Becker
Computer Science Education GroupComputer Science Education Group
Dept. of Computer ScienceDept. of Computer Science
University of CalgaryUniversity of Calgary
Calgary, Alberta, CanadaCalgary, Alberta, Canada
2. 09/14/18 (C) 2003 K.Becker 2
University ofUniversity of
CalgaryCalgary
IntroductionIntroduction
Beginning students have dramaticallyBeginning students have dramatically
different:different:
BackgroundsBackgrounds
Abilities / Strengths / FearsAbilities / Strengths / Fears
Interests / TalentsInterests / Talents
Future directionsFuture directions
Can We Reach Them All?Can We Reach Them All?
3. 09/14/18 (C) 2003 K.Becker 3
University ofUniversity of
CalgaryCalgary
A Solution: One AssignmentA Solution: One Assignment
with Variationswith Variations
““Base Assignment” is same for allBase Assignment” is same for all
Requirements can allow for variationRequirements can allow for variation
and choice.and choice.
4. 09/14/18 (C) 2003 K.Becker 4
University ofUniversity of
CalgaryCalgary
Variation 1: Levels ofVariation 1: Levels of
CompletionCompletion
(stages) can be described in the(stages) can be described in the
assignment specifications.assignment specifications.
Decide base (acceptable)Decide base (acceptable)
requirementsrequirements
What is “good enough”What is “good enough”
The rest are ‘embellishments’The rest are ‘embellishments’
5. 09/14/18 (C) 2003 K.Becker 5
University ofUniversity of
CalgaryCalgary
A-B-C RequirementsA-B-C Requirements
(Staged Solutions)(Staged Solutions)
Allows for more complex & interestingAllows for more complex & interesting
problemsproblems
Clearly set out requirementsClearly set out requirements
Gives “choice” back to studentsGives “choice” back to students
‘‘C’-level is within the range of allC’-level is within the range of all
Can supply portions of code, and inviteCan supply portions of code, and invite
students to replace itstudents to replace it
Provides a means of describing a minimalProvides a means of describing a minimal
acceptable solutionacceptable solution
6. 09/14/18 (C) 2003 K.Becker 6
University ofUniversity of
CalgaryCalgary
Student Reactions:Student Reactions:
Few complaints about markingFew complaints about marking
Some will choose to complete ‘C’Some will choose to complete ‘C’
requirements sometimes, and “go forrequirements sometimes, and “go for
the ‘A’” other timesthe ‘A’” other times
Students complete the ‘C’-levelStudents complete the ‘C’-level
assignment and often opt to try forassignment and often opt to try for
the ‘B’the ‘B’
Students often end up workingStudents often end up working
harder – to get the extra creditharder – to get the extra credit
7. 09/14/18 (C) 2003 K.Becker 7
University ofUniversity of
CalgaryCalgary
Example :Example :
8. 09/14/18 (C) 2003 K.Becker 8
University ofUniversity of
CalgaryCalgary
Example: FroggerExample: Frogger
C RequirementsC Requirements The minimal passable solution will have only a singleThe minimal passable solution will have only a single
Frog that moves correctly on the screen, 2 rows of Vehicles moving inFrog that moves correctly on the screen, 2 rows of Vehicles moving in
opposite directions and one Home at the top. This solution is worth aopposite directions and one Home at the top. This solution is worth a
maximum mark of C+maximum mark of C+
B RequirementsB Requirements The midrange solution will have 3 Homes, 5 rows ofThe midrange solution will have 3 Homes, 5 rows of
Vehicles, and a working Frog who can moveVehicles, and a working Frog who can move [ jumping is bonus] and ONE[ jumping is bonus] and ONE
OF: two kinds of Critter, ---OR--- a Boulevard to rest on (with NO time limit),OF: two kinds of Critter, ---OR--- a Boulevard to rest on (with NO time limit),
This solution is worth a maximum mark of B+This solution is worth a maximum mark of B+
NOTE: having the frog ride river creatures properly (and not "slide" off) isNOTE: having the frog ride river creatures properly (and not "slide" off) is
BONUS and not part of the base requirements.BONUS and not part of the base requirements.
A RequirementsA Requirements The best solution will have 5 Homes, 5 rows of Vehicles,The best solution will have 5 Homes, 5 rows of Vehicles,
one Frog, AND 5 rows of Critters all working correctly. It is worth up to anone Frog, AND 5 rows of Critters all working correctly. It is worth up to an
A The boulevard will have a time limit,A The boulevard will have a time limit, [BONUS: and the turtles must[BONUS: and the turtles must
sometimes dive.]sometimes dive.]
The "full-function" Frogger is Bonus. It includes the girl Frog; AlligatorsThe "full-function" Frogger is Bonus. It includes the girl Frog; Alligators
whose mouths open, and snakes on logs and on the boulevardwhose mouths open, and snakes on logs and on the boulevard
9. 09/14/18 (C) 2003 K.Becker 9
University ofUniversity of
CalgaryCalgary
Variation 2: Bonus PointsVariation 2: Bonus Points
Enhancements for allEnhancements for all
EXTRAEXTRA to basic requirementsto basic requirements
Limited effect on gradeLimited effect on grade
Provides mechanism for rewardingProvides mechanism for rewarding
*any* valid embellishments*any* valid embellishments
Even though a maximum of pointsEven though a maximum of points
used to affect final grade, some earnused to affect final grade, some earn
as many as they canas many as they can
It becomes like a game for some: toIt becomes like a game for some: to
see how many points they can earnsee how many points they can earn
(prime# asst)(prime# asst)
10. 09/14/18 (C) 2003 K.Becker 10
University ofUniversity of
CalgaryCalgary
Bonus Points: FroggerBonus Points: Frogger
1. [up to 6 points] Make a girl frog.1. [up to 6 points] Make a girl frog.
2. [up to 6 points] Make the alligator's mouth open.2. [up to 6 points] Make the alligator's mouth open.
3. [up to 10 points] Include the snakes.3. [up to 10 points] Include the snakes.
4. [up to 10 points] Multiple (5) frogs per game.4. [up to 10 points] Multiple (5) frogs per game.
[homes can be occupied by only one frog][homes can be occupied by only one frog]
5. [2-3 points] Detect "Game Over": when Frog5. [2-3 points] Detect "Game Over": when Frog
dead; or when Frog gets across.dead; or when Frog gets across.
6. [2 points] Keep score.6. [2 points] Keep score.
7. [2-5 points, per level] Allow different levels of7. [2-5 points, per level] Allow different levels of
difficulty (different #'s of things, different ranges,difficulty (different #'s of things, different ranges,
etc.)etc.)
8. [2 points] Set up "key bindings" so player can8. [2 points] Set up "key bindings" so player can
use the arrow keys, etc.use the arrow keys, etc.
9. [4-? points] Make it Interrupt Driven9. [4-? points] Make it Interrupt Driven
11. 09/14/18 (C) 2003 K.Becker 11
University ofUniversity of
CalgaryCalgary
ChallengesChallenges
Enhancements for the brightestEnhancements for the brightest
Some are post-grad levelSome are post-grad level
Ideas for studentsIdeas for students
Shows where the current projectShows where the current project
could leadcould lead
12. 09/14/18 (C) 2003 K.Becker 12
University ofUniversity of
CalgaryCalgary
Challenge Points: FroggerChallenge Points: Frogger
1. [4-? points] Add sound.1. [4-? points] Add sound.
2. [4-? points] Create a full GUI2. [4-? points] Create a full GUI
3. [5-? points] Do it in colour3. [5-? points] Do it in colour
4. [5-? points] 3-D4. [5-? points] 3-D
14. 09/14/18 (C) 2003 K.Becker 14
University ofUniversity of
CalgaryCalgary
ConclusionsConclusions
Gives both instructor and studentGives both instructor and student
greater flexibilitygreater flexibility
Helps to clarify goals of assignmentHelps to clarify goals of assignment
for all (instructor; student; marker)for all (instructor; student; marker)
15. 09/14/18 (C) 2003 K.Becker 15
University ofUniversity of
CalgaryCalgary
ExamplesExamples
• Games:Games:
• Game of LifeGame of Life
• MinesweeperMinesweeper
• BattleshipBattleship
• Asteroids!Asteroids!
• Space InvadersSpace Invaders
• CentipedeCentipede
• FroggerFrogger
•Parsers:Parsers:
•Tiny Basic InterpreterTiny Basic Interpreter
•Polish Postfix ConverterPolish Postfix Converter
• Arithmetic Expression ParserArithmetic Expression Parser
• Wee-English – Latin TranslatorWee-English – Latin Translator
•Solitaire:Solitaire:
•CalculationCalculation
•CanfieldCanfield
•Four SeasonsFour Seasons
•Double or QuitsDouble or Quits
•Encryption:Encryption:
•One-Time PadOne-Time Pad
•Caesar CypherCaesar Cypher
•Cyclic PadCyclic Pad
•Byte ReversalByte Reversal
16. 09/14/18 (C) 2003 K.Becker 16
University ofUniversity of
CalgaryCalgary
Thank You.Thank You.
Editor's Notes
many have gone to OO first, a few continue to resist; including us
This paper’s not about whether or not imperative first is appropriate – we’ve decided it is
Paper’s about why we went back to Pascal and what we’ve learned
Game of Life is a popular and well-known problem
students like it, it covers useful concepts and gives them worthwhile practice
How can I claim that a 'known' game so much better?
20 years ago a professor of mine referred to computer scientists as the new 'priest class' and he was only partly joking. We have "inside knowledge". What we do is a mystery to the majority of the population.
Minesweeper is a game that most students are familiar with - they've played it in other words they've been the users of this program
- probably, they haven't given it much thought - it's just part of their PC - think no more about it than we do when we turn on TV's - most of us don't spend much time thinking about how it actually works
"Any sufficiently advanced technology is indistinguishable from magic"
On at least some level, to most people, computers are MAGIC.
Most of our students have experienced the magic.
Using a known game like minesweeper forces our students to cross a significant perceptual boundary…
THEY become the magicians.