Close

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 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.
  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 mmiller@cacegypt.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.

 

 

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)

Avvisi for the week of April 9th

[dropcap]E[/dropcap]veryone should read this great article at Education Life (part of the New York Times).  It’s titled “Learning to Think Like a Computer” but it’s really about how the basic skills of computer science apply to our entire lives, especially in education.

Python is slow and I don’t care, rants Nick Humrich at Hackernoon.  Read about why he feels the somewhat slower speed of python (vs. other languages) is well worth the tradeoff for higher productivity.

iOS your thing?  Or something you’re interested in programming for? Then you’ll want to review this list of 27 open source libraries focused on improving your iOS development.

Self-reflection was due Saturday.

PicoCTF Competition

A practical scenario

Our hacker finds an undocumented vulnerability in the website owned by AcmeLabs.com. A black hat hacker would tend to either exploit this vulnerability by accessing the AcmeLabs’ customer data and exploiting it directly or selling the information of the vulnerability to a third party with an equally nefarious plans. A white hat hacker would immediately inform AcmeLabs of their vulnerability and proceed no further. A grey hat hacker would inform AcmeLabs of their vulnerability but, in the case of AcmeLabs failing to close that vulnerability, they might make the vulnerability public to force AcmeLabs to take action…

picoCTF is a computer security game targeted at middle and high school students. The game consists of a series of challenges centered around a unique storyline where participants must reverse engineer, break, hack, decrypt, or do whatever it takes to solve the challenge. The challenges are all set up with the intent of being hacked, making it an excellent, legal way to get hands-on experience…

The competition starts with a very shallow learning curve that can make the most inexperience high school, even middle school, student feel comfortable. At the same time, the later problems are as difficult as any collegiate for professional level CTF competition.  Interested?  

Get started!

Skip to toolbar