Advanced Topics in Computer Science

Frequently Asked Questions

Instructor Contact Info

Office: Poly Building, First floor, Room 102

Schedule: Second semester I teach periods C, D, F, and L1. I'm available for assistance during Extra Help times M-F, during periods A, B, E, and G, and during periods L3 and L3.
To assist in coordinating meetings, scheduling a meeting time by email is preferred (but not mandatory).

Email: rwhite@polytechnic.org

Phone: 626-396-6688. Email usually gets a more timely response, however.

My public key

I use these tools.

What will we be studying in this class?

From the Course of Study:

The single-semester Advanced Topics in Computer Science course offers highly motivated students the opportunity to expand on the topics covered in the Introductory and AP Computer Science courses. Subjects of study include sorting and searching, algorithm analysis with "Big-O notation," stacks, queues, and linked lists, recursion, trees, and graphs. Development of these theoretical topics is reinforced by assignments, projects, and assessments that are handwritten and/or coded on computers using the Python language (prior experience with the Python language is helpful but not mandatory). In class, each student needs a laptop computer with an Apple, Microsoft, or Linux operating system installed. Some class time is available for working on assignments, but students also spend significant time working on projects outside of class.

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

Poly offers a variety of computer science courses, described at the Computer Science page. Questions about the nature of each class can also be answered by talking to the instructor, as well as other people who have taken the class.

The Advanced Topics class is primarily intended as a post-Advanced Placement course: our topics of study are beyond those required for the AP-level course, and geared towards giving students a look at more abstract concepts in CS. New data structures, and new algorithms using those data structures, will be explored in detail. These challenges are for very motivated students who are considering studying computer science in college.

What kind of computer should I have for this course?

You need a laptop running a current version of Apple's macOS, Microsoft's Windows, or Ubuntu (Linux). For more specific information, see the Computers section in the Course Policies.

Who are the instructors for this course?

I (Richard White) began teaching this course when it was a developed a few years ago. CS Instructor Dom Rosato also teaches this course some semesters. The Spring, 2026 section of this course is being taught by me.

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 eff_member acm_member
 
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 have been a Google Certified Teacher/Innovator, and believe in the power of technology to enhance learning. This is my 40th year of teaching in California, where I've worked at an independent school in Pasadena, public schools in Berkeley and Yucca Valley, and a parochial school in Redondo Beach. I love my job. I like helping people figure out ways to use computers and technology to make life and learning better. (I enjoy teaching AP Physics as well!)

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!