Advanced Topics in Computer Science

Frequently Asked Questions (FAQs)

Instructor Contact Info

Office: Poly Building, First floor, Room 102

Schedule: I teach periods A, C, F, and L5. I'm available for assistance during Extra Help times M-F, during periods B, D, E, and G, and during periods L1 and L3 (in Room 401).
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 currently offers three 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 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.

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'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!