Today’s interview is with Doug Bergman from Charleston SC. I first met Doug through the Microsoft Partners in Learning program. Listening to him has been influential in how I have changed some of my views about teaching computer science in the last few years. Doug has a lot to say here and I hope you’ll read it all.
Where do you teach? What sort of school is it?
I teach Computer Science in a private school (K-12) in sunny Charleston, SC. Total school population is just under 1000 students, with each grade level having approximately 90 students or so. We have iPads for all students 3
rd-7
th grades, plus a variety of carts of Chromebooks, laptops, netbooks, iPads, and IPods. Our school is a college-prep school that strives to help our students find their ways to colleges all across the United States.
Starting in the 7
th grade, we begin introducing Computer Science to our students through programs such as Scratch, Lego Mindstorm, Sketchup, Small Basic, and Python.
Computer Science is required in the 9
th grade for all students, then students can sign up voluntarily for Computer 2,3, and 4 in addition to their other classes. We are excited that our program is attracting 30+ students from each grade level. Since dropping the AP Cmp Sci from our curriculum and replacing it with a series of project based classes and curriculum, we’ve quadrupled the size of our program, and also have increased the percent of females in our program to about 30%
How did you get started teaching computer science?
I majored in Computer Information Systems at Clemson (go Tigers) and jumped into corporate America as a Systems Analyst. I loved working, but I found myself pulled to more the people side of business, which eventually led to me heading over to Japan for 3 years to teach ESL to students from the age of 3 all the way up to 93. That introduced the world of teaching to me, so when I returned, the natural step was to get into teaching ….so I brought together my two passions and the next thing I knew I found myself teaching Computer Science at a small private school in Columbia SC.
I tried to work in public education, but S.C. did not have any type of certification for Computer Science (even though my PE teacher taught it to us when I was in school. Apparently she was more qualified to teach than I was according to their policy). I tried and tried, but could not make any headway. So, I called a private school with a position open, and within 48 hours I interviewed and had the job offer. I was there for about 5 years, but felt the lure of industry and $$$, so I jumped back into business as a network-system admin down on Kiawah Island, SC and learned more in that year and half than I could ever imagine. I was dealing with everything from running cable to email servers to touch screen POS restaurant systems to kitchen printers to website to training to video cards drivers to golf shop cash registers to database administration …..and then about 100 other jobs. Very fun. What I loved was that each day I went in, I had no idea what I would be doing or who I would interact with; it might be the CEO or I might be a part time secretary.
But, the classroom has the uncanny ability to call back its teachers when it wants to…….and I found myself back in school at my current school, Porter-Gaud School, where I’ve been for the last 12 years…and loving every minute of it.
While I am a graduate of the public school system, as a teacher I had found a good spot in private education.
Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?
Computer Science as a core subject is fundamental to the success of our program. With the demand for Computer Scientists increasing tremendously over the next decades, We designed an innovative 4-year Computer Science program whose goal is to attract a new kind of student: students who can design, be creative and create, solve problems, work together but who also can take their ideas, implement them, present them, and turn them into real products to solve problems or sell in the marketplace.
Through a project-based curriculum which incorporates a complete immersion multi-media, hands-on, multi-tasking approach to class, we incorporate live speakers, field trips, movies, books, games, puzzles, discussions, video clips, short stories, presentations, and of course hard-core programming. One of the main goals for the program is to engage students and develop a strong interest and passion for Computer Science. What we’ve noticed is that many people do not really know what Computer Science is, so this experience is a learning experience for both our parents and our students.
In the first year, we “hook” students through a variety of engaging experiences designed focusing not on solely mastery of skills, but exploration of skills and introduction of Computer Science. We do this through contexts such as robotics through programming sensors and motors. In the spirit of “serious games”, students also choose a worldly issue and design an actual video game around that idea; we are always amazed at the excitement this section generates as well as the quality of games and the level of programming required(and acquired) to code them.
In contrast to the programming side of Computer Science, we dive deep into 3D modeling in order to give students professional grade tools which allow them to take their imagination and recreate it on the screen in 3D. Additionally, we go in-depth into the insides of the computer. Students take apart and build computers, troubleshoot, buy replacement parts, and learn all the speeds, sizes, and other numbers associated with the hardware of the computer. Students even send a message to the Mars rover in binary.
Year 2 we explore mobile-based Computer Science through browser and mobile apps. Students consider something that they are very passionate about in their own life and then dream up a school that teaches about that. Students design and maintain a fully functional interactive site for that school, including the backend database and savvy navigation, by using HTML, PHP, and MySQL. In the mobile app section, students learn to control and access accelerometer, touch screen, GPS, and voice recognition as they develop apps for the Android phone system.
Year 3 focuses on user interfaces, software development through XNA for Xbox game design, and entrepreneurism. Students study advanced computing concepts as they learn to program games and simulations for the Xbox game console. Students can choose to use a handheld controller OR a dance pad for foot control interface, OR a Kinect camera for full body interface. Then they’ll spend the entire semester working on a single project.
Throughout the semester, they are also learn business concepts such as demographics of the target audience, missions statements, 360 marketing & promotion, copyright, and economics of pricing. Students have a chance to demo and present their project in front of a group of venture capitalists, who will decide who to invest their money in.
The final year is a college level Object Oriented Programming class that is a dual credit class offered through the College of Charleston. It is split into two halves: One is studying OOP through JAVA and Alice 3.0. We use animation in Alice to explore (visually) concepts such as polymorphism, inheritance, and lists. Then we dive into actual code through JAVA to implement a series of robotics exercises and business simulations, such as the Verizon Phone network. The other half of class is an exploration of xCode for the iPad. It uses Objective C and is a combination of visual building and coding to produce interactive apps for iPhone and the iPad.
What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”
I was honored to have been interviewed for Anthony Salcito’s Daily Edventures about this very topic:
http://dailyedventures.com/index.php/2013/02/15/doug/
I am a believer in the discovery style of learning. Teacher as a guide, more than sage on the stage. That is hard for some people to comprehend because it involves the teacher giving up control of the learning. We’d all been through a system where we were told what to know, how to know it, when to know it, and for how long we would need to know it, and in what ways we would need to know it. And while it is possible to design a class like that, the natural way to learn Computer Science just seems to lend itself to hands-on projects.
If you look at the kinds of class and homework assignments I give, you’ll quickly see that I see my job more so as a teacher of motivation as compared to a teacher of skills. In the long run, I think my subject area is better served if my students develop a love for the area by learning about it through many lenses. For example, in the robotics section, the goal is not simply to have students program sensors or motors. Sure they’ll get that , but that Is not what I want them to remember. That’s why we talk about the 3 Laws of Robotics and discuss the need for a 4
th.
And what exactly is a robot anyway? We watch clips from movies where those laws were applied. We discuss them as they relate to the characters in the Asimov story “Runaround”. Students spend one evening in a chat room discussing robotics with fellow classmates. Students research and find leading edge uses of real robots in the world around them. We discuss the ramifications of humans being part robotics and vice versa (Bi-centennial Man). So we study “robots” as a context, and we learn to program them while exploring them.
Even our coding projects (we do about 10) are real world based. One has the students simulate a mode of deep sky searching in telescopes used by Meade and Celestron called Spiral Searching. Students program their robot to simulate that action and when it locates the target, it stops and makes a series of beep to notify the humans. Another has the students program their robot to find its way across the Mars surface, even though they do not know what that surface will be like. The robot has to be able to find its way around any large objects it encounters.
Yet another has a robot that spends an entire night “casing” an area of the forest with a night vision camera attached to it. It records how many animal crossed it’s field of view(infrared sensors), and reports it to the user when the sun comes up. (i.e. when it senses light) What I love about the robotics section is that students are out of their seats most of the time in order to test their code on an actual robot. I love the fail-to-succeed cycle: Code. Try it out . Figure out what did and did not work. Modify code. Repeat. And they will do that for weeks. By the end they will have learned to interact with over 7 sensors , 3 motors, speakers, and lights---but more than that they will have considered robots as part of society, which is crucial because over the next 20 years, these kids will be the leaders.
What is the biggest challenge in teaching CS at your school?
Not so much at my school, but more so in the educational system of the United States. For some reason, even though we are right in the center of a digital age where technology is central to almost every industry in our world, Computer Science is still seen as an elective, if even recognized at all.
Additionally, we’ve(Computer Science) got a huge identity crisis and image problem. While we are seeing many college and universities starting to offer more Computer Science programs, some of those programs are still taught in the ways that we did 25 years ago. I recently looked at the curriculum for some colleges our students were going to and it was not too terribly different than it was when I was in school. That might be ok in some area like Math where the material is more unchanging, but in our technology world, it is changing year to year in huge leaps and bounds. We need the education of our subject area to reflect that dynamic spirit—with technology that is so dynamic and engaging, it’s a shame that our classroom are the exact opposite of that.
Our students are used to interactive experiences with technology, but some programs are still teacher centered, where learning happens passively. That is not going work in today’s world if the United States wants to continue to be a leader in the world economy. One a good note, we are seeing some colleges recognize Computer Science as legitimate for consideration(or possibly even a requirement) in admissions. Currently, most high schools are still using terribly outdated models of graduation requirements, and Computer Science has just not found a home in those schools, which means many of the best and brightest students are not getting a taste of it until they get to college.
At our school, we start to explore Computer Science as early as 4
th and 5
th grade, hoping that by the time they get to high school, they will already be seeing the value of it in their education plan.
We also have to help the world understand some basic vocabulary. Many politicians, districts, teachers, parents, students, and even technology teachers, still confuse Computer Science with keyboarding and applications. A class that teaches students how to use Microsoft Word is NOT a Computer Science course. A class which has keyboarding listed as a skill is not Computer Science. Those are all excellent tools , but should be done naturally throughout the entire education experience.
It makes sense that a math department uses spreadsheets as part of their tool sets. When students enter the world, students are much more likely to apply math through a spreadsheet than they are a proprietary calculator or software package. Can an English or History department teach good presentation skills using a variety of tools such a PowerPoint or Prezzi? Those are incredible instruments of communication and presentation in the art of persuasion. Art programs must embrace video and image editing and manipulation. Foreign language programs can see the value of learning to use movie and audio recording with their students to practice language. You see how I am thinking. Most of what many “accidentally” call Computer Science are simply tools that can be used to enable other subject areas to do what they do
better.
Despite what you may know or believe, there is not really even a good definition of Computer Science. Sure, we’ve got some that were written 25 years ago when computing devices were the size of gymnasiums. I’d like to challenge all of us to re-create a new definition of Computer Science that makes sense in 2013.
Actually, I’d like to challenge us to change the name “Computer Science” It’s an outdated and misunderstood—as well as full of baggage from years of change and stereotype.
Here is a first rough draft stab, just to get the conversation started:
Computer Science is the art and science of using technology, both hardware and software, as part of a solution to a real world problem. It is a tool that allows a person to take abstract ideas from their imagination and turn them into something real on a digital device. It forces you to think algorithmically, which is a fancy word for taking a larger problem and breaking it down into bite sizes chunks which can be handled step by step. And due to the way in which we design programs and work with hardware devices, the ability to fail and learn from those failures are what help us work our way through our project until we get to a working solution which suites our needs.
What is administration’s support (or lack of support) like at your school?
The administration at my school has always been extremely supportive of the efforts in our program. While at times it has been a real struggle to fit our entre curriculum into an already very rigid and defined hard-core college prep curriculum, we have made it work. I remember the advice of our head of school (Chris Proctor) who was instrumental in helping us get our program off the ground. He said, “You are going to get “no” everywhere you turn, keep moving forward anyway!” And there were times where it took that. So many people believed in what we were trying to do (Thanks Beverly ,Sarah, Karen, Phil, Dubose); it truly took a village!
And for me as a teacher, it was an incredible amount of work to experiment with what fits and what works. Because we were designing a program whose specialty was leading edge (even bleeding edge), there was not a bunch of teaching resources available to design a curriculum. So, quickly I developed an international “learning network” of educators and leaders who saw education like I did….and with their help, I’ve been able to put together a dynamic, yet very organic, curriculum that seems to have found its place at our school.
How do you measure success for your program? For your students?
Unfortunately, no teacher ever really knows the true value of what they do because we don’t really see the effect for years after. And like any teacher striving for excellence, I am continuously tweaking, modifying, removing, and adding parts to my classes. I truly value student feedback and will gladly replace something I thought up with something they thought up…if it makes sense in the bigger picture.
So, the experience that one group of students may be different than another group depending on when they go through class; I welcome and embrace those differences. So, one way I gauge how we are doing is by reading and listening to the type of feedback I get. When I get students who put a great deal of thought and energy into their observation and suggestions and reflections…I can see that they care about the program that they are in…and they want to help me make it better.
One of the more gutsy things I do is submit my teaching style and curriculum, or parts of it, for consideration to present at national and international conferences. I love the challenge of that because while I may think we are doing some great stuff…you never really know ……..when I put it out there to be reviewed by educational leaders from all over the world, it can be very humbling, but it makes you learn how to
sell it and actually
prove that you are doing what you say you are; that the successes that you say you are seeing are in fact real and of value.
And I have certainly received my fair share of “thank you, but no thank you…”, I have also been honored to have received some awards and asked to present at conference across the US and also a couple internationally. But what I value about those experiences is not what you might expect…I am rather selfish about why I do it: I simply want to meet other educators who see education and teaching like I do. I want to connect with people who the same style of energy and passion that I do.
What is the one thing you like to talk about regarding your program that I haven’t already asked?
We all get those students that we don’t have to work for. You know the ones I am talking about…the ones who come early and stay late because they absolutely love the subject area that you are in and they respond to your style of classroom experience. You could be absent for 2 weeks, and they would excel without you. While we love those because they are the ones who will help you push the envelope, those are the easy ones. It’s that next group down that we’ve got to work for. The ones who may not yet know your passion or even why you are so passionate; the ones who have yet seen the value of what you teach and why it is important to their own life; the ones who are sitting back saying, “Ok Mr. Bergman, you got me here for a semester….let’s see what you do with that time….I am a good student, but I have not yet drank the Kool-Aid, so you are gonna have to work your butt off to sell me on your program.
That is the type of student, good kids who are looking to find their own motivation and passion. And if you let them take an active part in their own learning and really dive into your content and do things with it….create something of their own using the skills and concepts you‘ve helped them acquire….then they will be your best cheerleaders. I may get pummeled by the Computer Science teachers out there by saying this, but our curriculum, and my own focus, is not on recruiting students who are going to major in Computer Science…because I do not believe that is what the world needs. WHAT? DID HE JUST SAY THAT? ALFRED, WHY IS HE PART OF YOUR BLOG?
Let me explain: We have no idea what technology will be dominant 10 years, even 5 years down the road. So, most likely by the time students graduate college, things they learned in high school, and even at their own college, may be outdated or irrelevant. How can we know what problems will be in that world. So, what is the best way to prepare students for that world? Encourage them to follow their dreams. If he want to be a veterinarian, go for it. If she wants to be a biologist, awesome. If she wants to be a doctor, fantastic. If he wants to be a politician or journalist or office manager or accountant or real estate agent…all wonderful. We need students who have the courage to follow what they love.
My goal is that I want those students to be great at what they do, but also have a Computer Science edge to them that distinguishes them from their peers. I want Carter, who might be a cancer research scientist , to be able to write her own app or analytic software for her data---because she can’t go to Wal-Mart to buy Cancer Data Research Assistant 2.0. I want McLean, who is going to be a nonprofit leader saving the world in one way or another, to be able to research, purchase, and then setup the technology to outfit her entire office network…thus saving her organization thousands of dollars. I want James, who might be a field engineer studying wind and rain patterns in forests, to be able to reprogram his tablet so that it incorporates the new sensors they just received.
So, you see….what the world needs is people who think like Computer Scientists, but do so in the fields they have passion for. And when technology seems to be a tool that can be used to address and perhaps solve their problems, they will be the ones who not only lead, but commandingly understand, that charge.
More about Doug on the Internet