First, I’d like to get some feedback about this course and this way of learning, so I can continue to improve it. Would you tell me “What’s MY grade?” Thank you.
Next, the final exam is scheduled for May 23 and 25th. I wanted to give you a bit of a sneak peek at how it will be organized, in part because you’ll have to make some important choices and I want you to be ready!
Your first choice is how you’d prefer to be tested. You’ll have two options:
- Ladder Climb
If you’ve enjoyed the Boss Challenges, this option is for you! Challenges will be posted at codingbat.com, as you’ve grown used to. But rather than a dragon, this will be structured as a ladder. These challenges all use python.
- Build a Game
If building a fully working program appeals to you, or you prefer a non-python language, this is your option. You’ll get a list of simple games of various difficulties, and must complete one by the end of the block, using whichever language or platform you choose. (Yes, this means The Machine–i.e.: Scratch–is OK!)
|A-||Once upon a Cigol night
Sea of Yarra medley
|B+||Cavern of Gnirts
Oasis of Tser
|B||Sheep of Cigol
Tsin passing in the night
|B –||Tnah Crem’s basket
Sheep on the commons
|C+||The grand tree
Around the commons
Across the Narrows
Each line will be a link to a problem. To earn a grade, you need to complete one problem from that rung of the ladder. But! Since you can’t really reach the top of a ladder in one step (and I’m assuming many of you will want to reach for the top step), you must also complete one problem from each of the four rungs below the top rung you reach.
In other words, you’ll earn the grade at the top of the highest set of 5 sequential challenges that you successfully solve. Note: even though there are multiple challenges offered at a rung, you only need to solve one challenge to qualify for that rung.
For example, using the ladder to the left, I could choose to solve Once upon a Cigol Night, Nekorb hills, Lullaby dreams, Turtle power and The grand tree. That would qualify me for the A- on this ladder. (This one’s only an example, though.)
Now, there’s a bit of strategy involved here, since you only have two periods in which to solve these challenges. Do you aim a bit lower and start with the easier ones, knowing that you’ll be able to successfully solve those and then hope you’ll have enough time left to solve the harder challenges nearer the top of the ladder? Or should you start with the grade you want and work your way down to support that, since you’ll probably need the most time for the first puzzle? It’s up to you how you tackle this one, so consider carefully.
Two other notes: the A+ rung will contain only recursion problems. If you’d like to practice some of those in python, see this page of practice problems Loremaster Rellim has compiled.Loremaster Drofrethur
Build a game
You will be given a list of games, of varying difficulties. You must choose one to program during the blocks. Some will have a maximum grade earn-able (these will be the easiest ones).
To earn your grade, you’ll need to build your selected game using whichever language or platform you choose. Python, Scratch, Java, Swift, and so on are all valid choices. You’ll turn your project in by emailing firstname.lastname@example.org the program and code, in whichever form is appropriate. For example: in Python you would need to email the code as an attachment, noting whether it runs under Python 2 or Python 3. In Scratch, you would need to make sure your project is shared and then email Mr. Miller the link.
|D range||I turned in something that looked like code. It might someday do what it was supposed to do, but it needed a lot more debugging. I didn’t even note or comment on which game I was building.|
|C range||My code runs. It might not do everything it was supposed to do, but it will execute and do at least some of what it was supposed to do. My code includes at least one loop or one conditional. I commented or noted which game I was building. I did not provide instructions for the user, or provided confusing or inaccurate instructions.|
|B range||My code runs. It does what it was supposed to do. It includes at least one loop and at least one conditional. I commented or noted which game I was building. I provided clear instructions for the user.|
|A range||My code runs and does what it’s supposed to do. It includes loops and conditionals. It’s cleanly formatted and easy to read. I clearly commented it so it’s easy to understand what my code does and which problem I was solving. I provided clear instructions for the user. My language, punctuation, spacing and spelling reflects proper English usage. My code gives the user a chance to play the game repeatedly, or exit, each time they finish a round.|
Worried about whether you’d be able to program a game in time? Don’t worry too much. There will be a nice range of possibilities offered. Some examples (that won’t be on the final list) might include:
- A chat-bot such as ELIZA that responds to your input in ways that (hopefully) mimic conversation
- Rock-paper-scissors, a classic
- Guess-my-number, in which you input numbers, trying to guess the computer’s choice
- Tic-tac-toe, another classic
- Battleship, the classic guessing game on an ‘ocean’ grid, trying to sink your opponent’s fleet
The Final challenge will open up at 07:55 on Monday, 5/29.
I look forward to your results!
Images: “Sky easy access” by Håkan Dahlström and “game” by Judy van der Velden. Both cc-by… on Flickr.