Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Sunday, October 23, 2011

Computer Security

For the first choice session of the year, a workshop focused on computer security titled Hack This! was offered.  The session began by looking at a comparison of families of operating systems.  A diagram of UNIX and Unix-like systems can be found here.

Here are some of the major topics we covered in class to give students a better understanding of how computer security works, and how to stay safe in a deeper level than we usually have time for...

Windows Password Security
Losing a Windows password happens quite often, especially when the user is no longer a part of the organization, or has simply forgotten the password for the only administrator account on a rarely-used system.  There are several options, which you can research on your own. Our students got to try a few. It was helpful for them to learn just why it's so important to have not only a good password, but other layers of protection as well.

Mac Password Security
Mac has the reputation of being pretty secure and safe, but their efforts to be as user-friendly as possible and building everything on a UNIX platform platform have left some vulnerabilities.
In order to gain access to a Mac with a lost administrator password, the best way is to use the Mac OSX Install disc that came with the computer. There are other ways to secure your Mac and help you to remember your password that the students had a chance to discuss as well, including encrypting actual files as well as the OS.

Cracking file-level passwords
While we discovered that user passwords for operating systems are rather unsecure, password encryption for files can be very difficult to crack. We looked at the differences between methods of password cracking, such as Hash decryption, Dictionary set, and Brute force.  More information on these methods can be found at: http://en.wikipedia.org/wiki/Password_cracking

Students had a much better understanding of how threats to security occur, and they learned the importance of being very careful when storing information, especially sensitive information.

Live CDs
We booted our computers using Puppy Linux and Knoppix, though we discussed the use of even more alternatives, such as Ubuntu derivaties that can run live, as well as BackTrack, DEFT, and MilaX.  A more complete list of LiveCDs can be found here.  These live CDs are ways to boot a computer with a non-functioning operating system and access the hard drive.  They are an important part of any IT toolkit for retrieving data and also running a full virus scan that can check for rootkits while the primary operating system is offline. With these tools, students can learn a really safe way to recover important work they thought they had lost to a virus or other OS corruption!

Internet Security
We took a tour of www.whatsmyip.org to explore some of the information that is passed on to a website about every visitor and ways that one can protect a computer against malicious attacks by testing what vulnerabilities exist.  Using this website, we were able to discuss how to make passwords more secure, geolocation, proxy servers, MD5 checksum.  This also led to a discussion to ports, firewalls and creating a DMZ using a dual-firewall setup.

In the End
Of course, our conversation went to all sorts of places, and our students seemed to learn and share a whole lot about the way computers work, the way to work around that, and most of all the importance of having a better understanding of this still somewhat new frontier of online life.

Wednesday, January 5, 2011

Games from Scratch Session - Instructor Reflection

If you read Paul's posts about the first two sessions of our Custom Workshop on creating games from Scratch, you'll notice he points to a third, and final post...

Originally, I was going to do an update on the 3rd day of Games from Scratch. What I would rather do, considering the lateness of this post, is to update with a reflection on how the class went, and my recommendations and urging for others to help take this class into a more fruitful direction.

First off, as inferred in Paul's blog entries on this class, games are easy to create, good games are as difficult as any engineering project. Computer programming can be easy, anyone can take five minutes and print "Hello World" on the screen with a few simple commands. Making computer programs that are able to detect human behavior, constantly assess performance of the players and create an enjoyable environment is extremely difficult. Asking students to try to make good computer games using more advanced programming techniques in three classes, I found out, is borderline impossible. Not for lack of try from the students, as they were all incredibly engaged and passionate about their projects, but because of the time it takes to individually assess each student's performance levels in programming and design, and making a lesson plan that can work accordingly to their needs.

For those who are unfamiliar with Scratch, I urge you to take a look at this website and register. Take a look at a few of the games and the other programs make through Scratch. For those unfamiliar with basic game design, have a look at these interactive programs from Kongregate. Much of what you're seeing in these two instances were shown to the students as part of their curriculum. When we finally had the students modify, not design, their own games, the results were good...but to make them great, we will need to do the following.

1) More class sessions. I've taught this class before, and it has taken well over 12 sessions just to get students thinking about making board games. To get students to make a transition from thinking about games to making games, it will take more than three sessions.

2) Paper prototyping. Many of the best video games have been done previously using paper prototyping. This method of game design helps designers make cheap replicas of their virtual space without the cost, and gives them a vivid representation about what works and what does not work. This video may help provide insight into what I am talking about:



3) Promote the value of failure (reflection). I know that sounds strange, promoting failure amongst the students...but let me propose using a different word for failure that may make you feel better...reflection. You see, unlike standard testing practices in schools, when a student fails, they receive little opportunity to make up for their work, and therefore reflection is rendered unnecessary in the eyes of the student. Why reflect on what they could have done if they can do nothing to change it? Failure as a game designer provides insight into things that are not working, and if the designer is serious enough about their final project, they will change those mistakes because they want a better project. In many of the game design workshops that I have taught, one of the first things you have to do is promote constructive criticism, and teach that failure is not final, but is part of a continuing process to help make that project and that designer stronger.

I know this may sound like an unusual post. But I do take game design, this class, and the idea of collaborative learning quite seriously, and wanted to give you, the reader a honest insight into this process. Please, if you do have questions about game design, this class, or anything in my post, just send me an e-mail at rmmartinez@gmail.com or leave a comment below!

Saturday, October 23, 2010

Video Games and Scratch: Day 2

Hi, Paul here again :)

Today began with a quick review of the concepts discussed on the first day, with students talking once again about game mechanics and dynamics. Terrence was right up front, quickly explaining what dynamics were.

Next, we talked about the games they played last time, and what was fun and what wasn't. Jasmine had played Rock Band, and had a lot more fun than she had initially expected, rockin' out to the music with the best of them!

It was great to see high school students critically thinking about video game play and why video games involve so much thought from the developers, and so many different intelligences from the players.

The review complete, the first exercise was to find a game review online and read it closely, paying attention to how the reviewers talked about the game and how it fit in with the topics we had discussed. Each student took notes on the review and then stood before the class in turn, presenting their review and talking about what they liked and what confused them. Some good points were raised, including the role of the ESRB and how it fits into the gaming industry.

Finally, the students downloaded Scratch, a free open source software developed by students at MIT to teach about programming, onto their computers and checked out the games available at MIT's website. RocketMan was very popular, and they were able to download it and take a look at how it is set up in Scratch. Hopefully, it'll give them some insight into making games with Scratch, which they'll be doing next session!

~written on 9/25/2010

Video Games and Scratch: Day 1

Today was the first day back at ITA, and we jumped in with both feet with the Video Games in Scratch custom workshop. We took the students over to the video game lab in the UW-Teacher Education building so they could get the full experience.

Ryan started them off with a short lecture about concepts behind video game design, starting with Game Mechanics, Dynamics, and Aesthetics.

The students were a little uncertain about talking about video games in such terms, but it wasn't long before they started to get into the discussion. Jacob raised some good points about why some games were more appealing than others, citing things like storyline and challenge, and Saige told everyone about her challenges playing Super Mario Kart against her brother.

Next, Ryan showed them the game Braid, and everyone had a great time playing that on the projector so the others could watch. Terrence did a great job navigating the difficult terrain. Way to go, Terrence!

Finally, the students were split up so they could play whatever game they chose form the lab's wide-ranging stock, with the intent that they pay attention to the things we had discussed. With things like mechanics and dynamics in mind, they played Rock Band, Call of Duty, and the Orange Box, enjoying themselves immensely, while learning something at the same time.

All in all, a great day for ITA!!!

~written on 9/11/2010

Friday, October 22, 2010

Photoshop Actions and Scripts


For the first 3 sessions of IT Academy Labs, this fall, we offered several CUSTOM WORKSHOPS designed by individual instructors on staff. Chris Spears, one of our seasoned Photoshop experts, offered a workshop entitled, Photoshop Actions and Scripts.

Photoshop Actions and Scripts was a workshop all about increasing project productivity in Photoshop. Actions and scripts are very useful, but are very commonly and easily overlooked. They make the most tedious job, the most simple to-do in a matter of seconds, and you have the option to use ones provided, create your own, or download ones that other people have created!

The first session served mostly as an introduction to the concept and functionality of actions and scripts. The second session was centered a bit more around actions. And, the third and final session was all about using both actions and scripts together in different projects.

Being the first time ITA had offered the Custom Workshops, Session 1 of Photoshop Actions and Scripts had started off a bit slow. As stated above, this was an introductory session which served primarily as the introduction of the concepts behind actions and scripts as tools used for increasing project productivity so it was not very project oriented. It was more of a chance for students to get familiar with learning how to use and incorporate these two aspects of Photoshop in different kinds of projects. This included:
  • creating and recording steps
  • saving actions
  • reading scripts and reading through action steps
  • downloading scripts and actions from trusted sites

Nonetheless, the students seemed to be really amazed at how the actions and scripts were carried out and how much they could accomplish in such a short amount of time once they were ran.

By the end of the session the students had a couple of different projects they finished; one project was from a batch rename script, which re-names all your files for you using a systematic approach. One was from an action they downloaded from the internet and loaded into Photoshop (these varied), and their last one was from an action they created/recorded themselves (these also varied).

Check out some of the student examples!



Session 2 was a lot more interesting for the students, as it was much more project-oriented. We think the students got a better idea this session of what can really be done with scripts and actions in Photoshop, after having the necessarily somewhat slow-paced introduction to them.

First, we started off with a quick review from last session just about the main purpose of actions and scripts and their many uses. Then, we jumped right into the first project which was "Reading" actions--this project consisted of downloading an action of a cool effect from the internet (http://www.turningturnip.co.uk/photoshop/photoshop-actions/photo-box-action.php), loading it into Photoshop, viewing its contents and recorded steps, and then finally attempting to re-create the cool effect using the action as a step-by-step guided tutorial. While this was a bit tedious, it provided a great way to REALLY understand how these things work!

The purpose of this project was to get students more familiar with the process and order at which actions may be recorded, and also to get more familiar with the Photoshop interface and different tools and such, as they encountered many new terms for different Photoshop tools and processes through reading the recorded steps of the action. Unfortunately, the lead instructor, Chris, didn't notice that this particular action in order to achieve this cool effect was entirely TOOOO long to "read" in its entirety. So about a third of the way through reading the action, Chris decided to just stop and had the class hit the "play" button to finish it up... it was well worth the wait though, as the students got to delve deep into the script for a while, and then they were very relieved to be able to stop early.

Next, the students created their own actions which they saved to their folders for other students to load up and attempt to "read" themselves to see if they could get the same effects (although most of them probably just hit the "play" button to speed up the process...which is what the workshop was all about anyways so the students clearly grasped that concept quite nicely).


The final session began with a review in the form of a walk-through project called "Clipping Mask Collage." The students really enjoyed this project and were very satisfied with their results. This, again, was a way to give the students a bit more experience with creating longer actions and getting a better feel for the idea that not all steps that one may take to create a project in Photoshop can be recorded with actions (such as the Brush Tool), and also that sometimes there needs to be a specific order to how you record your actions in order for them to give the same effect when you run them again on another image.

Check out the examples!







For the remainder of the session the students created their own projects using different actions and scripts (custom, default, and/or downloaded). Here are some examples of their independent Photoshop Actions and Scripts projects from Session 3!