Where do you teach? What sort of school is it?I teach at the Seacoast School of Technology. SST is a Career and Technical Education center in southern New Hampshire.
How did you get started teaching computer science?I got interested in computer science in the summer of 1969. I won a National Science Foundation scholarship to participate in a summer program at Chico State College in northern California.
I found CS interesting but logistically difficult. You had to design your program, put it on punch cards, then wait for your turn on "the computer". You would feed your cards into the card reader, got the the terminal and type in some commands and listen to the line printer print out error messages. After fixing your errors, you would repeat the process over and over again until your program was working.
At that point I filed computer programming in the "too much hassle" category. Then in 1981 (or there about). a friend of mine brought this to me to help him solder together. It was a Sinclair 1000 (a less than $100 computer that had BASIC programming built into it). After a couple of hours of soldering we had it hooked to a TV and were writing programs. For me, that changed everything.
While working on my electrical engineering degree, I also studied programming and wrote as many programs as I had time for. In my career as an electrical engineering, I found computer programming was a really helpful skill not only being able to write both low and high level software but also the what is now referred to as a computational way of thinking and problem solving were inherent to that study.
When I retired from my engineering career in 1994, I decided to go into teaching. I went for a math certification as it was the most expedient for my background. I was hired at a school to teach computer science and quickly discovered that teaching CS was a totally different thing than doing CS.
I have spent the past 18 years refining the way I teach CS. While the technology changes rapidly, I have continued to concentrate on fundamentals. I believe that it is of greater benefit to students to concentrate on building a strong foundation as opposed to worrying about glitzy decorations.
Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?Our program is two years in length and consists of 4 one semester courses. All of the courses in my program concentrate on problem solving and algorithm development. The first course, an introductory course is the most important. If you don't get that one right, nothing else matters. The first course covers the basic program constructs using Alice (4 or 5 weeks). The rest of the semester we use Python to cover a wide variety of CS topics and problems. The second course is a Visual Basic course. Again, even though we are using a visual programming environment we re-enforce the fundamentals of problem solving and thinking computationally.
Our year 2 program consists of Java and C++. These two courses really focus on the object-oriented paradigm and class analysis and design.
What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”I teach in small chunks. I will introduce a concept and then have students work on a project that demonstrates that concept. I will use various degrees of scaffolding to help students learn a concept. At the beginning, the scaffold is extensive while later the scaffold will be barely existent.
What is the biggest challenge in teaching CS at your school?Getting students that are truly motivated. Too many just want to play games. This situation has improved dramatically over the past couple of years because I believe we have been more honest in our recruiting and the story we tell about what computer science is. CS should not be some shiny object that is thrown out there too attract students. I have found that if you can show students the raw power that being able to be a good problem solver and think computationally can change their world everyone is better off in the long run.
What is administration’s support (or lack of support) like at your school?It is unquestionably 100% supportive.
How do you measure success for your program? For your students?To me program success is more than do we get numbers and continue to exist. Success is do we get students that take the program seriously and continue on to year 2. This is why that first introductory course is so important. In the past it was not unusual to have 35 - 40 % year 1 to year 2 retention. This past year we had a 68% retention of year 2 eligible students.
I would measure success for students is what are they doing 5 to 10 years down the road. This is very difficult to measure. I can only give a qualitative sense of this as I have used LinkedIn to stay connected with many of them. Most of the "serious" students are definitely working in the CS field. Even those who have moved on to other fields have admitted to me that problem solving skills they developed has helped them in their new fields.
What is the one thing you like to talk about regarding your program that I haven’t already asked?I do not believe that public education is serious about graduating students that are able think analytically or critically. Problem solving and computational thinking are skills that will be required to function in the very near future. I really believe that computer science should be required of all high school graduates. And I do not mean some watered down "parts of a computer" or "how to surf the web" course. I mean a serious "using computational devices to solve problems" type of course.
- School name and web site: Seacoast School of Technology http://www.seacoastTech.com
- LinkedIn (firstname.lastname@example.org)
For a full list of interviews in this series please see CS Educator Interviews: The Index