compsci

Mr. Christian Day’s Computer Science Weblog

Get free books

July 27th, 2007 by Mr. Day in Summer Workshops · No Comments

Everyone who has seen it loves these Lewis/Loftus books.  Start here http://www.aw-bc.com/APjava/ and click on a book.  Look on the book’s page (book, prep book, ab book) for “Request an exam copy.”

We struggled to get this to work, so I hope you are able to get it going after the workshop.

→ No Comments

TopCoder

July 23rd, 2007 by Mr. Day in Summer Workshops · No Comments

If you’re not already familiar with it, the TopCoder programming competition is an ongoing online competition complete with prizes.  There is a high school division.  All of the former problems are up online and can be done at any time.  Students can get their feet wet practicing on these problems, and then compete in the weekly competitions if they want. 

The way TopCoder works is you enter the “arena” and are given a problem.  You have a set amount of time to solve the problem.  Problems are always in the form of “accept input in the form of … and return the result in the form of…”  Grades are given on how fast your problem runs on different data.  Fastest solution wins.

→ No Comments

AP Quick reference guide

July 23rd, 2007 by Mr. Day in Summer Workshops · No Comments

The link to the Quick Reference Guide is broken on the College Board Web site.

→ No Comments

Welcome to AP Computer Science AB

July 23rd, 2007 by Mr. Day in Summer Workshops · No Comments

Welcome to Taft and to the workshop I am offering this week.  We have a great group and a busy week planned.  I have revised my materials to place major emphasis on the new GridWorld case study. 

→ No Comments

Association of Computing Machinary

July 20th, 2007 by Mr. Day in Summer Workshops · No Comments

The ACM is the largest association of computing professionals in the country.  They have a number of interest groups, including a special interest group for computer science educators, or SIGCSE.  The SIGCSE holds two annual conferences.  The one in the United States is an extremely good resource.  You can come back with more books and materials than you can carry, and attend workshops and classes throughout the entire day and late into the night.

The workshop fees are nominal, so you can go for cheap and they will provide you with a couple of meals.  Highly recommended!

→ No Comments

The order of things

July 20th, 2007 by Mr. Day in Summer Workshops · No Comments

Today we talked about the order in which I teach my course.  Here it is:

•         Alice (I:\..\AP Computer Science\Alice)
•         Object and classes (BlueJ) 
     o        using strings and literal constants only
     o        Bank account class (I:\..\Java code\BankAccount.java)
     o        Shapes in BlueJ (I:\..\Java code\Canvas)
•         Complie-Run cycle and standard Java classes
     o        Objects are stored as references
     o        Point and rectangle (java.awt.Point, java.awt.Rectangle)
•         Primitives
•         Create your own class (return only -  devoid of any parameter )(Introduce JCreator or NetBeans here)
     o        Dice.java (The solution is in I:\..\Java code\Dice.java)
•         If and loops (Very brief.  They already have familiarity from Alice)
•         Arrays (I:\..\Java code\LoopDemo)
•         More on defining classes 
     o        parameters
     o        overloading
     o        this
•         Interfaces 
     o        Simple list interface, students implement arraylist (add, remove, set, re-size,e.t.c)-2 wks-Simple list is a Generic class (I:\..\Java code\ArrayList)
•         Sorting and searching (I:\..\Java code\Sorting)
     o        linear search
     o        sorting 
     o        binary search
     o        recurrssion
•         Inheritance (I:\..\Java code\Animals)
•         Case study
•         Hash tables, trees, Maps, Sets (AB only)
•         Misc Topics (History of Java vs other programs, ethics, history of computers)

→ No Comments

David Eck Java resources

July 19th, 2007 by Mr. Day in Summer Workshops · No Comments

Patty found some terrific resources that I had never seen before. 

The first is a data representation Applet that demonstrates different interpretations of the same 32-bit number in Java.  You enter a number (in decimal, binary, hex or 4 character String and it shows you how Java stores that value.  I’ve never seen a tool that does a better job demonstrating data storage.

The second is a “sorting lab” that includes a Java Applet that animates different sorts.  I’ve seen a number of these and this one is a terrific non-static animation.  It also has the advantage that the animation does not provide the Java source code for the sort.  Most animation sites show you the source code as the sort is executing, which kind of gives away the solution ;-)

There is a lot more on this Web site.  David Eck is a professor at Brandeis.  Resources include:

A free online textbook
Applets and labs used with another free online textbook
, called “the most complex machine.”

→ No Comments

Leon Schram

July 18th, 2007 by Mr. Day in Summer Workshops · No Comments

Leon Schram is a teacher in Texas who can be a tremendous resource for your classes.  In addition to having some good information on his Web site, he offers a bundle of course materials that you can use to teach your class.  According to Charlie, you can purchase Leon’s materials in the form of a site license for all of your students.  A site license is $400 with a $200 annual renewal fee.  Len’s Web site is here: http://schram.org/

→ No Comments

Using packages

July 18th, 2007 by Mr. Day in Summer Workshops · No Comments

Here is a tutorial from Sun on using packages to store your different files in different packages and deal with importing them.  The GridWorld case study has forced me to use import and packagemore than I have had to throughout my teaching career: http://java.sun.com/docs/books/tutorial/java/package/index.html

→ No Comments

Current state

July 18th, 2007 by Mr. Day in Summer Workshops · No Comments

We wrapped up our Java fundamentals yesterday and had our first look at Gridworld.  The Actor class and the “Bugs” that inherit from it are a great introduction to how the system behaves, how you can take control of Actor behavior and work within the system to have objects crawl around on the screen.

Today we will begin the journey into having objects interact with each other within the case study framework.  The Critter class will be our jumping off point.  I suspect that our entire day will be occupied getting critters to interact with each other in meaningful ways.

We will also spend time hearing about the multiple choice problems that you worked on in groups.  We are all looking forward to hearing more about what you found challenging among the released problems.

→ No Comments