Thursday, October 26, 2017

CS Educator Interview: Adam Michlin

Adam and I interact mostly on Facebook where he has created a number of very active Facebook groups including one called Computer Science Educators He's a man of ideas and opinions as well as a seemingly insatiable drive to share information with others. I was pleased he was willing to take the time with my questions.

Where do you teach? What sort of school is it?

I just started a new job at Golda Och Academy (K-12), a Jewish school in West Orange, NJ where I am responsible for the 6-12th grade curriculum.

How did you get started teaching computer science?

Historically, I have a Bachelor's Degree in Computer Science from the University of California, Santa Cruz, where I was an undergraduate teaching assistant to a whole host of lower division and upper division Computer Science classes.

When I finished my BS degree, I lasted (literally!) one day in the computer industry and went on to become a professional musician and music teacher.

Later, living in Naples, FL, my full time music teaching load was cut to 50% due to the national financial crisis and a single computer science class of all levels was added to my schedule for the following year to increase my load to 66% and give me full benefits.  Ultimately, that class turned into a full department of two teachers, 150+ students, and a four year 9-12 CS curriculum which I was training my fellow district teachers in for 3 years.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?

My previous private school had Introduction to Programming for students 8th-12th using Visual Basic taught by a colleague and I taught Intermediate Programming (C/C#), Advanced Video Game/Mobile Programming (C#/Swift), Advanced Computer Security/Web Programming (Assembly, C, PHP and JavaScript), and AP Computer Science A. I am currently working on expanding this curriculum to include 6th and 7th grade as well as to replace AP Computer Science A with a class of equal or more rigor and expect to be adding Data Structures in C++ shortly.

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”

Having first taught (as a TA) in an university environment, I find myself to be fairly traditional in my approach with lectures combined with lab time and prefer straight rows of desks with computers and mostly shy away from group work except in the most advanced classes. Where I depart from tradition is I avoid tests and homework and work very hard to intrinsically motivate students with project based learning. Students seem particularly motivated to write their own video games and learn advanced computer security (truthfully, hacking in the older MIT sense of the word - students are inundated with media surrounding computer security everywhere they get their news and I have found it to be my most popular class). My running joke is that my biggest discipline problem is that students don't want to leave my class when the bell rings, which isn't far from reality.

What is the biggest challenge in teaching CS at your school?

My current administration is extremely supportive, but I will say that historically there are always two main challenges. One, is getting the administration to understand that the material being taught is experimental creating somewhat of a disconnect with traditional teacher evaluation solutions. Other people have books that tell them what to teach in what order and pretty much everyone agrees what should be taught in, for example, an Algebra I class, whereas I am working on classes with little to no precedent in K-12 that I ultimately hope to write the book for others to use. Two, is getting Information Technology to understand that the staggering pace of change in Computer Science means that a, to be diplomatic, less conservative approach to new hardware and software is necessary.

What is administration’s support (or lack of support) like at your school?

As above, administration is at my current school is extremely supportive. They well understand that Computer Science is a young subject and allow me the flexibility to create new classes and curriculum. Access to the 6th and 7th grade students is particularly exciting and I am already finding 6th and 7th graders who are capable of doing collegiate level Computer Science work.

How do you measure success for your program? For your students?

Having grown two entirely elective programs, one public and one private, to the point of overloading my schedule, the percentage of students involved in the program is part of how I define my success. We instituted a Girls Who Code club at my previous school and grew the female representation in the program from 5 students to over 50 in 3 years, which is one of the achievements of which I am most proud.

I also keep in touch with as many of my former students, particularly those majoring in Computer Science, to see how well prepared they felt walking in a collegiate computer science program. To me, a 5 on the AP exam means nothing if students aren't walking into college and knocking their CS classes out of ballpark. It fascinates me that one of most common things I hear from my students majoring in CS is how useful learning to programming in the Linux/UNIX command line was for them.

What is the one thing you like to talk about regarding your program that I haven’t already asked?

I am particularly proud of my interweaving of history with computer science. Students have access to a whole host of working vintage computer systems including Apple IIs, Ataris and (soon!) Commodores for hands on use. Vintage computers are also integrated into the curriculum using Apple IIs to teach beginners AppleBASIC, 6502 assembly to advanced students and we use famous early Atari games to teach concepts including object oriented design and applied trigonometry.
At the same time, other parts of curriculum are cutting edge with tools like Swift 4/Xcode 9 and Visual Studio 2017 (C#/Visual Basic). In part, the goal is to get students to stop worrying about Windows vs. Macintosh vs. Linux and realize everything is just a computer whether an Apple II+ from 1979 or their brand new Apple iPhone <insert latest number here> in their pocket. Hence the term "Cutting Edge Old School" (ceos) Computer Science.

Tell me about your online presence (if any)
Note: The index for this interview series is at and is updated as new interviews are posted.

No comments: