Avvisi for the week of May 14th

Computer language that encourages hacking?  That’s the word on Scratch.

Computer language that encourages hacking?


Avvisi for the week of May 7th

Self reflection, as usual, is due this week by Saturday night at midnight.  Be sure to submit your reflection on time (some of you are leaving gold on the table just because you don’t submit on time!).

Functional programming is common.  Other paradigms exist, some common and others less so.  Learning new ones can help you by providing tools, ways of thinking, that solve problems which were previously difficult.  Yevgeniy Brickman has written about 6 unusual paradigms that aren’t commonly known in CompSci – worth a look and perhaps a deeper dive.

What is computer science like in college?  This essay is just one student’s short reflection, but it’s interesting to hear a bit about university experience.  One key point: truly learning comp-sci involves a lot of self-motivation and drive.

“Programming as a way of thinking” is a very interesting article just published at Scientific American.  The basic idea is that modern languages like Python allow us to learn programming entirely differently than previous generations…but not everyone is taking advantage of this fact, yet.


Final Exam Details

Matthew_MillerFirst, 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:

  1. Ladder Climb
    If you’ve enjoyed the Boss Challenges, this option is for you!  Challenges will be posted at, as you’ve grown used to.  But rather than a dragon, this will be structured as a ladder.  These challenges all use python.
  2. 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!)


Ladder climb

Example ladder

Grade Challenge(s)
A- Once upon a Cigol night
Sea of Yarra medley
B+ Cavern of Gnirts
Nekorb hills
Oasis of Tser
B Sheep of Cigol
Lullaby dreams
Tsin passing in the night
B –  Tnah Crem’s basket
Turtle power
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 NightNekorb hillsLullaby 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 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.



Grade Rubric
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


Loremaster Yoj

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.

Skip to toolbar