Java Teaching Innovations

Boulder High School

 
»   About the Program
»   Success Stories
»   Curriculum Overview
»   View all Curricula
»   Resources
 
 

Boulder High School Boulder High School's (BHS) mission is to "provide an academic and creative environment in which every person is valued as an individual, challenged as a learner, and inspired to contribute to society."

Boulder High School offers a series of pre-Java courses but they needed a more robust Java curriculum, including AP Java courses. The grant from the Sun Foundation gave teachers the green light to start developing curricular materials. Courses would be designed to attract those students who might not traditionally sign up to take computer science and programming courses -women and minorities.

Naomi Salaman has been teaching at Boulder High School for a number of years. She worked collaboratively with another colleague to develop and expand the Java program at BHS. Together, they identified BlueJ software as it would appeal to visual learners while providing a point of entry into learning the most basic concepts in programming. Salaman states,

"BlueJ is very visual, and it's also free. I found it was a great way to get kids started with the basics."


Boulder's Open Source Approach to Teaching Java

Using funds from the Sun Foundation, instructors at Boulder High School adopted a constructivist approach to teaching and learning Java. Rather than teaching pre-Java and Java in a didactic way, Salaman and her colleague allowed students to "compare and share" code in what they term as an "open source" approach to teaching and learning Java. Students learn by trial and error, working individually and collaboratively to develop their skills as technicians and thinkers in an exploratory way.

At BHS, computer classes are taught with the grading philosophy of doing more than expected. Students receive a "B" if they do the programs the way the teacher asks. In order to get an "A", more needs to be added. In each of their assignments instructors give hints as to what can be added to get the higher grade, and this encourages all students to strive to develop better programs. The overall attitude in BHS classes is that programming is fun, and students celebrate and admire other students' work. The creativity that programming offers is something other classes may not have, and this is what makes the courses so popular with students.


Reaching More Students in Boulder and Beyond

With funds from the Sun Foundation, Boulder High School has added new courses and programs to their curricular offerings. To date, they have added a second section of an Introduction to Java course, and they have also added an AP Java course. The innovative teaching practices Boulder has adopted for the teaching of Java have proved successful in attracting both women and minorities to courses. Of the 178 students recently enrolled in pre-Java and Java courses at BHS, 116 are young women and minorities.

Boulder High School has also been successful in spreading the word about their new courses and programs as they have participated in the Colorado Technology in Education Conference. At the conference, they distributed a CD of Java teaching materials along with the BlueJ software they recommend for their Introduction to Java courses.

Using Java as the programming language of choice, student at BHS have also entered into the FIRST robotics competition. A team of BHS students went to Atlanta Georgia for the championship and had a chance to compete with over 200 student teams.


Boulder's Curriculum

Salaman and her colleague developed curricular materials using the BlueJ software to introduce students to Java programming concepts. All of the sample activities and lessons below have been further developed and modified with funds from the Sun Foundation. References have been made to Colorado Curriculum Frameworks, and national standards set forth by the Technology International Society of Technology in Education (ISTE), including ICT Literacy. Please find a description of each assignment and activity below:



Title
Category
Brief Description
Pre-Java activity as part of a larger lesson in Java programming
Students gain an understanding of a class' methods, qualities of writing good classes, and naming requirements. Students create a class with a primary method that uses other methods to display lyrics to a song. Questions are framed around understanding a method and its rules of naming.
Pre-Java activity as part of a larger lesson in Java programming
Students gain an understanding of how objects return information about themselves by way of return type and argument type. Students complete a VendingMachine class to include methods to get and add properties with associated methods. Questions are framed around understanding a method return and return types.
Pre-Java activity as part of a larger lesson in Java programming
Students understand how to use conditional statements. Students enhance an existing VendingMachine class with given conditionals to include error checking.
Pre-Java activity as part of a larger lesson in Java programming
Students look at a number of different methods useful for manipulating strings. They create a class to use the many methods to translate phrases.
Pre-Java activity as part of a larger lesson in Java programming
Students understand an element, index, array and their uses. They add string arrays to include a given number of parts of speech (nouns, adjectives, etc...), and they also apply loops to generate stories.
Pre-Java activity as part of a larger lesson in Java programming
Students understand the qualities of an ArrayList and how it solves the problems or arrays. Students add a method to show a list of books checked out, add an option and method to check a book in. They go on to add a method and loop to put new books on an arraylist so a user can continue checking books in and out. Questions are framed around what an arraylist is and how it is different from an array.
Pre-Java activity as part of a larger lesson in Java programming
Students understand the concepts of inheritance, superclass and subclass, resulting in an inheritance hierarchy. They create subclasses to an existing Animal superclass of an existing Zoo class, and find ways to enhance new classes with two more instance variables and overriding methods. Questions are framed around what inheritance is and why you would use it.
Pre-Java activity as part of a larger lesson in Java programming
Students learn and apply the steps involved to create animation to graphics using KeyListener. They open an existing project with two classes and enter the missing code to run an applet.