Friday, September 26, 2014

Designing a Compelling Game

In class today we looked at some examples of the Mario game from other students, and talked about what we look for as the characteristics of a good game design. These are good to keep in mind as we design other games this year. We first need to meet the requirements. And the more compelling we can make the game beyond that, the more fun it will be to play.

Here is the list of characteristics of good game design from our discussion, in the order the students shared them.

  1. Good story line. Make it interesting, not boring. Have a plot to follow.
  2. Different. We like playing new games more than returning to old ones. 
  3. Intricate. Have lots of things happening to make the game more interesting.
  4. Winnable. At some point the player wants to think he or she can win at the game, and make that point clear. What is the objective?
  5. Score Points. Along the way show progress by awarding points for various achievements. Players can get a sense of progress even if they fail to win the overall game.
  6. Challenging. While the player wants a chance to win, he/she does not want it to be too easy. 
  7. Social Gaming. Set up the game to enable players to play with friends. Compare scores. Put various players in the game. Talk with each other while playing. Whatever.
  8. Not Buggy. Make sure the game works smoothly. Bugs are distracting.
  9. Good graphics. Many of the best games are nice to look at. 

Feel free to add comments to this blog with other characteristics we missed or which of these you find most important.

Thursday, September 25, 2014

Truth Tables

Today we talked about basic Boolean operators -- AND, OR, & NOT -- and how to use them in Truth Tables. Understanding how these work is fundamental to computing because IF-THEN-ELSE statements must test for conditions to tell the program where to go in the algorithm.

In case this is tricky for you, you might want to check out this brief video to review the concept of Truth Tables. Make sure you understand before you proceed because so much of your programming will build on this simple logic.

Wednesday, September 24, 2014

Make Big Money As Security Expert

The class may remember the brief discussion about Kevin Mitnick, who was one of the original hackers. He was caught, convicted, served time, and has now turned to good.

This recent article, Kevin Mitnick will sell you security exploits, if you have $100,000, highlights how people on the "good" side of security can make money. Although this article points out he is in "murky" territory.

He is offering to sell zero-day exploits (which means recently-found security holes) to companies. Presumably this would be to the company that needs to fix the exploit rather than companies who will try to make money off the exploit.

Many companies offer cash bonuses to people who report security flaws to them ... first. But I suspect $100,000 is on the high side of the bonuses offered.

Tuesday, September 23, 2014

Turing Machine

We discussed Alan Turing and his concept of the Turing Machine. This is the foundation of computing.

The video we watched is from Computerphile.

The Google Doodle that simulated the Turing Machine is at this link.

Best Practices for Passwords

We talked about how easy it is for bad people to obtain passwords. They can hack into major sites. They can run brute force attacks to crack simple passwords. And they can use social engineering to try to get you to give up your password.

Here is a list of best practices we hope you will follow to keep your passwords safe.


  1. Different passwords per site. If you use different passwords on every site you use, then if someone finds your password on one site they cannot break into your accounts on others. Either create a password that uses the site name as part of the construction, or use a password keeper to help you remember.
  2. Long and complex passwords. Remember that a desktop computer can crack all the combinations of a short (e.g. 8 characters) password in a matter of a day or so. Aim for 12 or more letters, mix up the upper-case and lower-case, and include some numbers and symbols.
  3. Never write them down or give to anyone. The tradeoff for having long and complex passwords is some people write them down on a notepad. But if they ever lose the notepad...
  4. Watch out for public computers. Signing in on public computers -- which includes the machines at Mills -- is a risk. Watch for the "remember your login" and "remember your password" checkboxes. If the machine remembers those or you forget to log off, then the next person sitting at your seat will have access to your accounts. 
  5. Avoid public WiFi. Over-the-air signals are easy to crack. Try to avoid doing banking or anything secure at a public cafe. Even email is dangerous because if anyone cracks into your email, they can go to important sites, click the "forgot my password" button, and pick up a new password on your cracked email account. 
  6. Watch out for phishing. Whenever a business emails you or calls you asking for your login or credit card information, beware. They might be the bad guys or might have false links. You are always better off accessing the site the way you normally do or calling the company at their published number. Legitimate companies will understand this need for security.
  7. Use SSL when possible. SSL is when you can see "https://" in the URL on the top of your browser and, depending on the browser, it will display a closed lock. That means your whole conversation from that point onward is encrypted.
  8. LastPass or KeePass. These are simple and secure tools that will remember your passwords for you -- regardless how complex and how many you have. LastPass plugs into the browser and will automatically fill in the sign-on information.
  9. 2-factor authentication. Use 2-factor authentication for important sites that support it. Even Twitter offers this, as some celebrities fear their account getting hacked and millions of fans seeing bogus tweets. You can request the site send an SMS to your phone. You can use the Google authenticator. Or with a little less security you can answer security questions; just try to make your answers unusual so no one can guess them. Saying your first dog's name was "Fido" might be one of the first guesses. 

Tuesday, September 9, 2014

Edward Snowden and the NSA

We had a good discussion today about Edward Snowden's revelations about the NSA snooping on people, and the rebuttal from a Director of the NSA.  The links to these videos are here:




Is Edward Snowden a whistle-blower or a traitor? Or is the answer somewhere in between?