Tag Archives: Teaching Tools

Good Luck to all on the AP CS A Exam

Good luck to all on the upcoming AP CS A Exam!

As I have taught the course for nearly twenty years and spent many years studying exam trends as a grading reader, a grading leader, and consultant, I am aware of the main topics to cover, but I really focused heavily on four main areas with my students in prep for this year’s Free Response section.

1.  ArrayList of Classes / References -  there is always a question that requires students to work with an ArrayList<NeverSeenThisClassBefore> that involves lots of drilling down to get to the various pieces.  You must be comfortable with abstraction to handle this type of question.  Working with GridWorld helps!  Working with lists of integers and doubles will not be enough.  Go all of the way back to 2006 and you can see where this whole question thread started.

2.  Make a Class from scratch – you may have to implement an interface or extend an abstract class, but probably not.  That type of question went away about 5 years ago.  More than likely, the students will have to extend Bug or Critter to make a new class that will involve method overriding and such.  Pretty simple, but requires some practice.  You could get an APLine question, but most likely, it will be a GridWorld question.

3.  Processing an Array – this could be an array of classes like last years Horse[] question, but who knows.  2012 was the first year the AP exam had an array of classes / references.  Most of the time the array question just involves some algorithmic stuff with numbers like finding smallest, largest, difference between smallest and largest, etc.

4.  Matrices – matrices are back and boy am I glad.  I love the matrix – what a great movie!  Last year was the hardest matrix question in the world – you had to count 255s!  This year will probably be more like the route cipher from 2011.  I have prepped my students on Matrix[SomeClassFromMars][SomeClassFromMars] as I assume that a matrix of classes would throw a serious curve ball at most students.  I also did some work with transposition ciphers as I really like ciphers.

I will post comments after I see the actual Free Response questions next week and let you know if I was close or not even in the ballpark.  I have been very accurate with my predictions in the past.

If you want to see slides I have used as AP Exam review slides in the past, I have some of those posted that you can download.

If you like my humor and want to spend a week hearing more about how I prep students to rock this exam, check out my workshops over the summer.

Finish Strong and Rock the AP Exam!

Cranking Code Early

Little Folks are Cranking Code in Estonia

This is a great article that discusses the decision in Estonia to start teaching Computer Science in first grade.  I think Estonia has hit a home run.

I have been working with my sons’ elementary school classes for the last 3 years and have taught both classes how to write basic programs in Scratch.  They can all use loops, ifs, variables, and lists to make games and class projects.  It was cool to see many of them use Scratch to create their end of year projects last year.  I am positive that many of the students in these classes will consider a career in Computer Science as they all feel very confident about the subject.  Having working on numerous math concepts with my sons, I also feel these students now view mathematics in a totally different way after learning Computer Science concepts at an early age.  Working with students when they are in the early grades is very important as it helps to reach them before they develop any bias towards a subject often perceived as difficult.

Cheap Computers

Once these computers come online and you can actually buy one, I am getting a Raspberry PI for 25 bucks.  It appears that there are 100,000 or so back orders in the queue ( that is British for line ) so we may all be waiting for a good while to get one.  The 35.00 model has a few more features like a network connection, but either one would be fun to have in a Comp Sci class.  My students all thought this was awesome and they all want to buy one and think that everyone else needs to buy one as well.  Happy Hunting!

Comp Sci Skeelz

CS For All

I have posted about how everybody needs Comp Sci skeelz numerous times, but here is another link to another article discussing the same idea.

Learning how to solve a problem computationally is a really cool process and that experience will help students in many different ways.   How could it hurt?   Many of my students will get jobs or start companies that rely on computing power to conduct their everyday business.  Knowing a bit more about how these systems work and how they were built is a good thing.   Having the knowledge to build your own system or tell someone else how to build what you want is very useful.

Teaching students basic content early seems to me to be the best way to get kids hooked and interested so that they will continue on and gain the skeelz they will use and need for life.  Elementary school is the place to start and there are many tools you could use to get the ball rolling.  Scratch is one that works great!

Game Programming

Game Programming is very popular and many high schools offer some type of Computer Science course that includes a bit of game programming.  Scratch can be used to teach some basic game programming as can Kodu.  Unity is another great tool for 3D game programming that now will run on Android.  I teach quite a few games in my AP CS A class using GridWorld and Java Graphics with a bit of GUI.  I have used GameMaker a few times with mixed results.  Also, C# and XNA work great for game development and there are lots of materials readily available for free – check Alfred’s BlogPygame is great and allows you to create some really nice games using Python.  The options for game programming are numerous and games really do get students excited and motivated about learning Computer Science.

TCEA Panel Summary – What is the Future of AP Computer Science?

Today in Austin, Texas at the TCEA state convention, Bill Dunklau organized a panel to discuss the proposed AP CS Principles course.  Bill served as the panel moderator.  Teresa Dahlberg, representing NSF, and I served as live panel participants.  Several others participated via Skype.

Bill provided an intro and began the AP CS Principles Pilot awards.  Awards were given to the colleges currently piloting courses based on the AP CS Principles framework.  Various awards were presented to recognize the different approaches used to deliver these pilot courses.

Teresa provided an overview of the AP CS Principles course, an explanation of the combined efforts of NSF and the College Board, and the rationale behind the development of the course.  Related information can be found at http://csprinciples.org/

Dan Garcia from UC Berkeley spoke about his CS10 : The Beauty and Joy of Computing course.  He provided some examples and supporting feedback from some of his students.  Scratch BYOB is the main environment used to create projects in this class.  Information can be found at  http://inst.eecs.berkeley.edu/~cs10/sp11/

Teresa provided a bit more information on the NSF role in the project and some slides from Owen Astrachan.  Related information can be found at http://csprinciples.org/

I presented some slides from Larry Snyder and gave an overview of the CSE120 University of Washington course.  LightBot and Processing are the main environments used to create projects in this course.  Information can be found at http://www.cs.washington.edu/education/courses/cse120/11wi/

We finally were able to get Jody Paul up on the big screen via Skype.  Jody spoke about the Living in A Computing World course he teachers at Metropolitan State College of Denver.  Scratch and LightBot are the main environments used to create projects in this course.  Information can be found at http://livinginacomputingworld.org/

Chris Stephenson wrapped up the panel via Skype.  She provided information about the role of CSTA.

Hopefully, the panel discussion provided useful information to all that attended.

Other related Links

LightBot -  http://armorgames.com/play/2205/light-bot

Scratch BYOB – http://byob.berkeley.edu/

Processing – http://processing.org/

SIGCSE in Dallas – Vol. I

Sign up an attend SIGCE in Dallas, Texas in March of 2011 if you have not already done so.
Dallas is a great city and SIGCSE will be packed with great presentations and discussions for teachers at the high school and university level.    http://www.sigcse.org/sigcse2011/

Need a place to stay?  The Embassy Suites at Market Square is nearby and a great place.
http://embassysuites1.hilton.com/en_US/es/hotel/DALFWES-Embassy-Suites-Dallas-Market-Center-Texas/index.do?brand_id=ES&brand_directory=/en/es/&xch=768816798,YAKFDSX51UQVYCSGBIUM22Q

Need a place to eat?  Babe’s Chicken House if Awesome!  The one in Roanoke is the Best!  If I ever steer you wrong on food, I will pay for your meal!

Check my blog later for more SIGCSE inside information.

Ciphers and Codes – Vol. II

Code and Ciphers and very interesting topics to discuss in a Computer Science.  There are many ciphers that can be used as Computer Science assignments.  I use Ciphers and Codes as a curricular thread throughout my AP A CS class to provide students with relevant reasons to learn more about Computer Science.   Ciphers and Codes have been around for a very long time and can be seen throughout history.

A very good book about Ciphers and Codes is “The Code Book” by Simon Singh.  Mike Scott, UT CS faculty member, discussed this book at the 2010 First Bytes Camp for CS Teachers.

I made an earlier post called Ciphers and Codes – Vol. I and provided some slides, a lab, and a lesson plan.  I include in the lesson plan a reference to a National Treasure special edition DVD that has a short video about Codes that has commentary by  Simon Singh.  It is a very good video to show students as it has some great cipher information although it can be a bit dull in a spot or two.

Timing out the cipher lessons in your class to correspond with the Social Studies classes is a great idea.  For example, find out when they are going to talk about the Zimmerman Telegram in U.S. History and teach a related Cipher lesson at the same time.  Everybody wins!

Cross-curricular projects work great to show students what they can do with Computer Skills and to provide relevance for why they need the skills.  These projects also provide a nice context for teaching Computer Science concepts.  Students tend to get a bit more excited about what they are learning if they realize what they will eventually do with it.