Tammy Andrew and I met a bunch of years ago when we both taught summer school at a famous New England boarding school. We were teaching C++ back then. While I’m a Windows person and she is a FOSS person in a big way we’ve managed to stay friends for years. I’m thrilled that she was willing to tell her story for this series.
Where do you teach? What sort of school is it?
During the traditional school year I teach at a public high school in New Hampshire. During the summers I split my time between a private high school in Massachusetts and a math and science summer program.
How did you get started teaching computer science?
My journey started in fifth grade, but didn't gain purpose until I was in college. I was very good with technology, really enjoyed my experiences with computers (especially programming) while growing up, and soon became part of the student group who helped maintain the campus computer labs. At that time there was not a computing degree, or even classes, but while working towards my physics degree I spent much of my time building, maintaining, and working with the computing devices. Soon after leaving college I landed a position as a computer instructor for a training firm and frequently heard the question, "where were you when I was in high school?" This sparked my interest in teaching high school.
My research showed that, at that time, there were few schools who taught any type of computing and, at least in New Hampshire, no certification for teaching computing, so I went back to college so I could be certified to teach high school mathematics. The first day of student teaching my mentor mentioned the school lost their math/programming teacher and asked, with my computing and programming background, if I would be interested in the position. I said I'd consider it, and a few days later was interviewing with the superintendent. Two weeks later I was hired full time, had two mentors (my original in math and one for programming) to satisfy the college, and was thrilled to be teaching something I've loved since childhood.
Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?
The public high school where I teach is an Applied Technology Center in New Hampshire. We have many computing classes outside of computer science, but I am the only full time computer science teacher. The curriculum is always being evaluated for improvement, but these are the courses as they will be this upcoming school year:
Computer Studies - Freshman/Sophomore course taught with the first four units of the Exploring Computer Science curriculum. Focus is to introduce students to the diversity within computing and what other courses at the technology center might help them discover their computing passions and strengths.
Programming Fundamentals - First programming course; taught in Java using Karel the Robot. Focus is on programming methodology and mathematical computer science topics.
Java Programming - Second programming course. Taught with Java, this is considered a pre-AP course. Course also can be taken for dual credit with a local college.
Data Structures - Approved AP course with the College Board. Focus is on preparation for the AP exam and, after the exam, expanding knowledge and understanding of data structures not included on the exam.
Web Design - A dual college credit course, Web Design explores the creation of web sites with emphasis on career exploration, understanding user needs/wants, and CSS design skills.
We also offer two courses through another technology center. I do not currently teach these, but we send students to the other center for Networking (Cisco certified course) and computer hardware and operating systems.
At the private school I teach programming only, though there are also courses in robotics, animation, graphic arts, and web design. The two classes I teach are both introductory level but taught in different ways: one is a traditional programming class in Java similar to the Java Programming class I teach at the public school, the other is taught using graphical educational software.
The math and science summer program is adding computer science to its curriculum. This past summer I co-taught a web design component that emphasized CSS. Next summer we will add programming, but have not decided if this will be purely programming or in conjunction with engineering or robotics.
What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”
I believe that computing is an integral part of our society and that Computer Science is a valuable subject for all students. Not just programming, but also problem solving, understanding the capabilities and limitations of technology, and how to create using technology.
I try to keep lessons multi-modal, so I do occasionally lecture, but I also have things for students to see. I provide opportunities for note-taking, but also to listen. And, most importantly, opportunities for hands-on learning both through prepared "follow the steps" labs to providing a problem and letting them discover how it all "works" or determine a creative solution. Some of the hands-on learning is group work, but I also have students work as individuals but within a support group of other students.
What is the biggest challenge in teaching CS at your school?
One challenge at the public school is funding. The equipment is never quite as good as students have at home and the network lags. I know the network issue is being addressed this summer, but I have another year or two before I can look at new computers. Add to this the challenge of protecting the network interfering with teaching students about the limitations and capabilities of technology and perhaps the biggest challenge is student perception of what they will be "allowed" to do or learn.
At the private programs funding is not an issue; I ask and it is provided, including a support person during class times.
The challenges all have in common are interest and understanding. Society has a perception of computer science that it is too boring or too hard. Fighting that perception, making it look fun and interesting and easy, is difficult. Once I have them in the classroom I can do it, but getting them there without requiring the course is not as easy.
What is administration’s support (or lack of support) like at your school?
For each place I work I have been blessed with wonderful administrative support. They might not understand the subject, but will allow changes I make in the courses and help me find additional support when I need it.
How do you measure success for your program? For your students?
I measure my program's success by the success stories some of my students or their parents send me. This isn't just the student who now works for the DoD in cryptology and cyber crime or the student who works as a programmer or system analyst, but also the student who found a career calling combining web design and humanitarian outreach, the one who can now figure out why the family computer is not acting right and fix it, and the student who now combines a love of reading and databases and is heading to college for library sciences. My purpose is not to teach a legion of programmers but to enable students to understand the use and capabilities of the computing devices they live with.
For my students, it is similar to my program's success: have they discovered something they previously did not know or understand? Do they have a purpose or goal that involves computing? Do they share their knowledge with friends and family? Each student is different, so success needs to be individualized to each one.
School name and web site:
- Milford High School and Applied Technology Center:
- Phillips Academy Andover Summer Session:
- (MS)2 : Outreach for Math and Science
Tammy is on Twitter @tandrew42
For a full list of interviews in this series please see CS Educator Interviews: The Index