Avvisi for the week of May 28th

Bittersweet is the last class, as I say fare well and good fortune to a new group of Loremasters.  You have all been a pleasure to coach this year as you learned how to teach yourself about the fascinating worlds inside computers and problems.  Your accounts will not be removed; please feel free to come back to gnimmargorp at any time.  Post your continuing adventures on your Codex and I (or other loremasters) will see them and write back.  We love to keep in touch with Loremasters all over the world.

Your final job is your last self-reflection.


Avvisi for the week of May 21st

!Last class before the final project or boss challenge.  If you have any questions about how it will work on Tues and Thurs, now is the time to ask, so you can use all your time in class for work.

!Reminder if you have damage on your account when grades are posted, you’ll max at a B+.  Be sure to clear up any damage before the final project is finished to ensure a clean record so your maximum is as high as possible.

If you haven’t read through the two options you have for your final, please scroll back three weeks to the Avvisis for April 30th and read through the two descriptions.  Knowing in advance which you’ll prefer and being ready to hit the ground running will definitely improve your final mark.

Apologies for the way last week’s Avvisi looked.  I apparently saved a draft copy instead of the final, formatted version, but didn’t go back to check it until I was getting ready to write this week’s Avvisi.  Oops.

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.

Avvisi for the week of April 23rd

Computer science isn’t teaching me programming, complained a student.  Gayle McDowell wrote a comprehensive answer over in Forbes last week, with specifics.  She references Codecademy as a great starting place, but says you need to go further than that to really start understanding programming.  She has specific suggestions, too.

Java dead? was the subject of a very interesting post and subsequent commentary, over at Quora.  This taught me a few things and cleared up misconceptions I had about Java.  Well worth a read if you’re considering programming or Computer Science as a career, or a secondary subject in college/university.

Self reflection for 4/26 (due by 4/29)

Skip to toolbar