Frequently Asked Questions (FAQs)

Instructor Contact Info

Office: Poly Building Suite 203, Room 205 (new location)

Email: or

Phone (office, voicemail): 626-396-6688

My public key

I use this.

What will we be studying in this class?

From the Course of Study:

The AP Computer Science A course is designed to provide students with an introduction to a number of topics in computer science and software engineering, including problem analysis, design of algorithms, data structures, control structures, and writing computer programs using the Java programming language.

Advanced topics in the course include object-oriented programming, recursion, and searching and sorting algorithms. The course will be centered on the College Board's AP Computer Science A curriculum, with supplementary study of graphical interfaces, game design, design and use of databases, designing and coding for the web, and technology in modern culture.

Assignments, projects, and assessments will be both hand-written and coded on computers, and will range from short, individual assignments to long-term, team-based projects. Although some time in class will be available for working on assignments, students will spend significant time outside of class completing assignments; home access to an Internet-connected computer (Windows, OS X, or Linux) is required. Taking the AP Computer Science A examination is a requirement of the course.

How hard/fun/challenging is this course? Is it the right course for me?

Poly currently offers three computer science courses. You can get some idea of which courses might best suit you by looking at the Computer Science page. You should also talk to other people who have taken the class, as well as the instructor.

The general idea is that if you're intrigued by the idea of solving interesting problems, writing code, and hacking, then you'll enjoy the challenges posed by this class. No prior programming experience is required or recommended for either the Intro (Python) semester elective or the AP (Java) yearlong elective—we'll be starting at the beginning and working our way up from there. The AP-level course, as you'd expect, is a bit more technical in nature, and is more demanding in a number of ways.

The College Board description of this course states that students should be prepared to spend, on average, at least three hours per week outside of class working on homework assignments, programs, and projects.

My computer's browser won't let me run Java. Why?

"Java" refers to a programming language that is perfectly safe to run on your computer. There have been security vulnerabilities in the use of Java applets in web browsers, but these are not directly related to our use of the language.

Java, at this point in time, is the single most popular programming language in the world. This class is designed to teach students about computer science using the Java language, and we'll be downloading and using the Java Development Kit to do just that. There is no risk in writing Java programs on your computer.

What's the relationship between Java and Javascript?

Absolutely nothing. They are two completely different things that unfortunately have some of the same letters in their names.

What kind of computer should I have for this course?

You need a laptop running Apple's OS X, Microsoft's Windows, or Linux. For more specific information, see the Computers section in the Course Policies. If you're interested in buying a new computer, see this.

Who is the instructor for this course?

I was born in 1960 and spent my formative years growing up in the deserts of Arizona, playing in the dirt with scorpions. I moved to Southern California with my family when I was in high school, and have been here pretty much ever since.

cert_teacher I've attended UC Irvine, CSU Humboldt, CSU Dominquez Hills, and CSU San Bernardino and picked up some paperwork along the way: a Bachelor's in Geology, a California Teaching Credential, a Master's in Education... I'm a Google Certified Teacher/Innovator, and believe in the power of technology to enhance learning. I've been teaching for 30 years at independent, public, and Catholic schools in Pasadena, Berkeley, Yucca Valley, and Redondo Beach, respectively. I love my job. I like helping people figure out "that whole physics thing," as well as teaching computer science, and figuring out ways to use technology to make life and learning better.

In my spare time, I have a real life: reading, hanging out with friends, going to France, traveling, hiking with my son, visiting with relatives, seeing famous scientists, going climbing, playing with my dog, having adventures, listening to music... and doing physics problems and coding, of course!