Tag Archives: Teaching Materials

DreamSpark

DreamSpark Software

Alfred Thompson has a great blog post up about the DreamSpark program Microsoft offers to students for FREE!  Yes, indeed – I did say FREE!  I am not plugging Microsoft or on the payroll ( yet ), but I do think the program is great and hope more people learn about it.  My students love all of the different tools provided.   We hope to do more with it this year.

CS News – CMU Using Robots to Create CS Majors

CMU Using Robots to Create CS Majors

CMU is going to use the tremendous interest in robotics to get more students interested in Computer Science.  Many of us at the high school level have been doing this for years.  Students love working with robots due to the fact they can see the results of their ideas in action.  Robots move and act out the solutions to the problems that students create.  This is very engaging and exciting.  Elementary, middle, and high school students find robotics very engaging.  Using robotics also shows students another side of Computer Science that is very kinesthetic and social.  Two things that are often lacking in typical Computer Science classes.
Way to go CMU!

Google Android App Inventor

Google Android App Inventor – direct link to the Google Site
Article about the App Inventor

I am a big fan of Scratch and feel that it is a great educational tool that accommodates a large number of different learning styles.  Students gain confidence quickly with Scratch and learn tons of very important Computer Science concepts, including problem solving and algorithm development.  Scratch helps to make Computer Science accessible to many students that otherwise would not have given the discipline a go.

I really like that the Google Android App Inventor is built using a block programming structure similar to that of Scratch.  A student or child of any age will be able to use this tool.  I have two elementary age sons that both program using Scratch and I am looking forward to seeing the Android Apps they create.

The Google Android App Inventor will be another great tool to use in schools to help teach Computer Science.  Students will really enjoy that they can write useful applications that can run on their phones.

Here are a few articles that provide some compelling  justification for learning how to design and create Android Apps.

http://www.wirelessweek.com/News/Feeds/2010/07/wireless-who-is-making-those-160-000-android-phones-activat/
http://tech.fortune.cnn.com/2010/07/08/latest-comscore-data-android-market-exploding/

UIL Capital Conference

The University Interscholastic League will be hosting the 14th ANNUAL UIL CAPITAL CONFERENCE in Austin on the UT campus on July 9th and 10th.  This conference is designed to allow teachers and UIL Academic coordinators to discuss the UIL Academic Competitions and the rules, procedures, and contest of the individual competitions.   The conference will have a 2 day Java workshop and a PC^2 workshop.

If you are at the Capital Conference, stop by and chat as I will have a booth setup somewhere on site with information about  contest preparation materials and curriculum materials for the upcoming school year and UIL Academic season.  I will have some cool giveaways, sample materials, and demos running.

I will also be making a stop of at the Salt Lick for the world’s best barbecue.  If you are ever in the Austin area, you have to drive out to Driftwood and eat the original Salt Lick Location.  It is amazing stuff.

Follow up – The Capital Conference was great!  I saw lots of people and had a great time.  Thanks to all that stopped by to chat.   The BBQ at the Salt Lick was world class as usual.

UIL Capital Conference

UIL Capital Conference

AP Computer Science Summer Institute Report

Well,
My AP Summer Institute officially wrapped up on Thursday.  It was a great week and we covered lots of material and had fun doing it.

I had participants from all over with the furthest coming from Florida.  Last year, I had a participant from China which was cool as well.  I found out that some of my attendees this year had mad skills, including Senior Olympic archery, Vice-Presidential experience, Athletic Training, CIA experience, Social disturbia ( pretty sure that is the proper description and a pretty common comp sci diagnosis ), Home Improvement, Buried Treasure Hunting, Aerobics, Tennis, Fire Safety, and Computer Science.  I list Computer Science last as it just does not stack up against the rest.  How could Computer Science compete with Buried Treasure Hunting?

During the workshop, we spent a good deal of time discussing how you could and should use GridWorld all year long when teaching the AP A Course.  The case study is very dynamic and makes the course much more fun and engaging for the students.  It provides a nice game platform as well.

I also spent tons of time on the basic fundamentals of the AP A course, including ifs, loops, arrays, ArrayList, interfaces, abstract classes, and recursion, but not necessarily in a programming centric way.  I tried to present ways to teach the topics that makes them relevant and gives them context to which students can relate.  When teaching matrices and interfaces, I teach these topics in the context of Codes and Ciphers to show the students some of the ways Computer Science is used beyond just typing in braces and semi-colons.  It works well and I think the workshop participants found the approach effective as well.

Pre/AP was discussed and I included tools like Scratch, Alice, and Jeroo as pre/AP courses do not have to be taught using Java.  I spent time showing how you can use Scratch, Alice, and Jeroo to teach any AP level topic effectively.  We did some nice list processing in Scratch.

Scratch Pong Game

Scratch Pong Game

We also spent time discussing ways to broaden participation in Computer Science.  Participants visited the ACM Education Policy Committee site to see the resources posted there.

The workshop wrapped up with a look at the new AP Computer Science Principles course that is being developed.  Participants visited the AP Computer Science Principles site as well as Dan Garcia’s Full Frontal Nerdity site ( you have to love the name ) to see some of the resources posted for Dan’s new pilot AP CS course.

Lunch everyday was awesome!  I am very motivated by food that was a huge plus for sure.  It was a great time and I am sad it is over.

I should have taken some pics, but I didn’t so imagine you see people writing code and looking really excited when looking below this line.
(:)(:)(:)~~(:)(:)(:)
(:)(:)(:)~~(:)(:)(:)

CS News – Learning Engineering Early

Learning Engineering Before They Can Spell It

This is a great article that shows that you can teach students some fairly complicated stuff when they are young.  Young children have not developed the same negative views about engineering and computer science as teenagers often have.  I have been able to visit the classes of my sons( 2nd and 3rd grade) and teach the classes how to program in Scratch.  I have found they are not scared of computer science nor do they view the process as hard in any way.  It is great to see schools attacking the lack of engineers problem by starting with younger students.  I think this is the right way to get more students to study engineering and computer science.  It is often too late to change the perceptions when the students are in high school.

CS News – Enigma Messages Go Digital

Enigma Messages Go Digital

It is hard to believe these records are still laying around in non-digital form, but they are.  Hopefully, not for much longer.

I find the Engima machine very interesting as I spend some time on Codes and Ciphers in my Computer Science classes.
Cap’n Dave Reed has some very nice materials on the Enigma machine on his site.

Student get much more motivated when they can see the relevance of what they are studying.
Pulling in real world topics and issues helps students see the relevance of Computer Science.

Pac-Man 30th Anniversary

Google Pac-Man

People Playing Google Pac-Man Wastes 4.8 Million Hours

The 30th anniversary of Pac-Man has come and gone.  What a cool game!
I remember playing Pac-Man on 25 cent arcade machines when I was a kid.
We had a local arcade / pizza house that all sorts of video games.
We had Space Invaders, Frogger, Galaga, Pac-Man, Donkey Kong, Phoenix, and Asteroids just to name a few.

Due to my fond feelings about arcade games and my perception that my students like them as well, I have my students complete several of these games in my classes.
I have a GridWorld Snake Project that can easily become PacMan.

I also have Space Invaders and Pong projects using Frames and Java Graphics.
I ported over my Pong project over to Scratch and use that in our intro CS class.
We also created Pac-Man in XNA / C# as an end of year project.  The students had to research grid-based gaming and the A* algorithm.  The project was fun.
My students love building interactive projects and really enjoying playing what they create as well as playing what others in class create.
It is very educational for the students to design and build a game and then explain that creative process to other students.

Starting the Comp Sci Career Track Early

The Drive Starts in 3rd Grade or Earlier

This is a great article.

I had my now 8 year old start working with Scratch when he was 6.  He can now do some amazing things with it.  My 6 year old has now started writing programs in Scratch as well.  It is fun to see the two of them collaborate on blend their ideas.
I have stepped up my work and have gone in and taught my older son’s 2nd and now 3rd grade classes how to program in Scratch.I have been amazed with how quickly the kids have picked it up and what they have been able to do.
I have taught them basic Animation, looping, decision making, variables, and broadcasting.  They are doing some fairly advanced stuff to only be 8 and 9.
I used some of the materials I developed for use at the middle and high school and they had no trouble with it.
I plan to go back in a few weeks and teach a few more lessons as many of the kids are working at home with Scratch and have been writing games and such for fun.
I think I have planted the seed with this group that Computer Science is not hard and that it is really fun and COOL!
I will post some updates later on as things change.

The GridWorld Case Study – A Great Teaching Tool

This post is a recap of an article I wrote for the CSTA Voice a year or two back explaining how I use the GridWorld Case Study in my AP Computer Science classes from day one.

The AP Computer Science GridWorld case study provides a tool that teachers can and should use from day one to introduce new topics, enhance prior topics, provide a game programming platform, and engage students.

From the very first day, GridWorld can be used to demonstrate what an object is and how to call an object’s methods without ever forcing students to write a single line of code.  Due to GridWorld’s interactive nature, manipulating the world is as easy as a mouse-click, allowing students to quickly add objects to the world and call methods.  Students quickly learn and observe how methods affect the appearance and behavior of an object; thus, learning why methods are important and useful.

After learning to create and interact with objects, students learn to write basic code to create objects using Actor and Location classes.  As it takes very little code to do this, students are not overwhelmed and gain confidence quickly learning one skill at a time.  Students learn how to add actors to the world and how the location class is used to store the position of an actor.  Method calling and parameter passing comes naturally as the results are seen visually via the graphical nature of GridWorld.

Having the basics in place, Actor can be used to teach inheritance by a simple override of the act method.  Constructors and instance variables are not yet necessary which once again allows students to simply focus on mastering a single concept – inheritance.  Using inheritance, students can make new actors that move around the grid and explode when hitting an edge which is very entertaining and engaging.  Students learn how to use the fundamental actor methods and get more acquainted with the location class.

Once inheritance is down to an art, decision making can be introduced so that the actors no longer move and explode, but rather move across and reappear on the opposite side of the screen.  Students learn to use if statements to check boundaries and determine when to make the actor move so as not to collide with the edges.  This process is once again very visual and engaging and students really get into it.

At this point, Bug comes into play perfectly.  Bug has some new methods and it requires a fundamental understanding of inheritance and decision making.  Using Actor before Bug enables students to learn how a Bug is built before every seeing one.  Bug moves around the grid very much like the new Actors created in previous units.  Students find the movement and action of Bug pretty straight forward as the students have already made an Actor move and are also very comfortable with inheritance and method overriding.  The prep work has paid of big time as Bug is very easy to use and understand.

After using Bug and making Actors move, looping is pretty much ingrained as students have now been using the step button of world which continually calls the act method of each actor over and over again.  Students can now transition into writing loops and using loops to solve problems.  GridWorld can be used to teach for loops, while loops, and nested loops more easily as the graphical nature allows students to see the results of the looping.  Working with loops graphically helps students as they can see how the loop works.

Using GridWorld very early in the year enables student to gain a solid understanding of  basic object instantiation,  method calling, inheritance, and decision making while learning how to interact with a grid, properly use a location, create an actor, and interact with a world.  These are all very important skills that provide a great foundation for students in the AP Computer Science class.  The GridWorld case study provides a wonderful tool that can be used all year long to enhance the learning of all computer science students.

Once the foundation is built, lots of great game projects can be used to expand student knowledge and get students very excited about Computer Science.  Board games work very well with Gridworld and can be created with lots of interactivity.

More GridWorld Information