Tag Archives: Teaching Tools

Local Java IDEs for High School

There are lots of local IDEs you can choose for your school and computer science classes.

Here are a few bits about local Java IDEs.

The 3 Java IDEs that I prefer in no particular order are :

Intellij   –  FREE

The community version is what you want :

https://www.jetbrains.com/idea/download/?section=windows

https://www.jetbrains.com/help/idea/getting-started.html

Eclipse  –  FREE

https://www.eclipse.org/downloads/packages/installer

VS Code  –  FREE

https://code.visualstudio.com/Download

https://code.visualstudio.com/docs/java/java-tutorial

I would say that my high school students seem to prefer Intellij to Eclipse.

I have used both for many years for in-class and contest use.

College students / industry professionals that I know seem to prefer VS Code as VS Code makes it very easy to switch between different languages.

I will not recommend an online IDE as I feel strongly that students should use a local IDE.

If you need amazing Java Curriculum Materials, check out the A+ Computer Science materials. The BEST JAVA MATERIALS on the PLANET!

Summer 2014 Comp Sci Professional Development

If you are looking for a great summer professional development experience, check out the UT First Bytes teacher camp information below.

The First Bytes outreach program at The University of Texas at Austin (UT-Austin) announces our 9th annual First Bytes Collaborative Workshop for Computer Science Teachers, July 9-11, 2014 at the UT-Austin campus.

The goals of the workshop include:
1. Improve Computer Science education in Texas,
2. Learn about new technologies in Computer Science,
3. Exchange effective teaching methods and best practices among colleagues,
4. Build relationships between Computer Science high school teachers and UT-Austin faculty.

The First Bytes Teacher’s Workshop is an opportunity to meet with peers from across the state to explore the challenges and opportunities for Computer Science education in Texas high schools and to invent ways to improve collaboration that will impact student learning and achievement.  Participants will earn AP CS Continuing Education credit for full participation.

If you are interested, contact Mary Esther Middleton  via email at mem@cs.utexas.edu .  This workshop is first come first serve so get your name in the hat as soon as possible if you are interested.

If you are looking for AP Computer Science Summer Institutes, check out my workshops page.  I will cover lots of cool comp sci topics and spend lots of time on the NEW AP CS A Labs!    Email me at stacey.armstrong@apluscompsci.com if you have questions.

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/