Monday, November 20, 2017

Learning From My Students

Some days I think my greatest edge over my students is that I am better at debugging than they are. Well there is that I actually read documentation as well but putting that aside for now.

This semester I am teaching with AppInventor. It’s a pretty cool development tool and I have been playing with it off and on for some time. I’m far from expert at it though. Usually I am happy to keep a couple of lessons ahead of the students. There is only so much I can learn on my own though. So I learn a lot from my students. While anyone can learn from their own mistakes the really smart people learn from the mistakes of others. So I learn a lot because I see a lot of mistakes.

Students make all sorts of mistakes. I’m not sure mistakes is the right work though. Perhaps I should say they try all sorts of things that don’t work as they expect them to work. At some point it becomes my job to help them figure out what is going on. Since they are so clever about try9ing things that would not occur to me this is a wonderful learning experience. Fortunately I have seed a lot of things go wrong using a lot of programming languages and tools over the years so I can usually figure things out pretty quickly.

The advantage of this style of learning is that it helps me anticipate things – misunderstandings, incorrect assumptions, and what not – that I can build into my teaching going further. While I can’t cover every possible error even if I knew them all I can at least point students in better directions.

At the same time I have been having students learn things beyond what I am teaching on their own. I have a couple of students who just love to try things in Appinventor on their own. Sometimes in class but often at home. These students are more than happy to share what they learn. They share with me and they share with their peers. Encouraging this sort of experimentation is, I believe, key to being a good teacher as well as being a life long learner.

Teaching this course has probably taught me more about Appinventor than I could ever have learned on my own. I call that a win.

Thursday, November 16, 2017

Resources for Teachers and the AP CS Principles Tasks

If you are teaching Advanced Placement Computer Science Principles for the first time as I am you probably still have lots of questions about the performance tasks. I know I do. Well it look like Jill Westerlund has our back. She has a series of blog posts on the subject that look very useful to me.

Exploring & Creating 101 — Part 1

Exploring & Creating 101 – Part 2

Exploring & Creating — Part 3a

Exploring & Creating – Part 3

Check out her abstractingCS blog regularly. I do.

Building off of Jill’s work, code.org has created an "Explore PT Survival Guide" that also looks helpful.

abstractingCS

Tuesday, November 14, 2017

Joint Task Force on Cybersecurity Education Draft Report

The Joint Task Force on Cybersecurity Education is working on curriculum recommendations for post secondary schools but I think their work will be of interest to teachers of other levels as well. It is probably going to be interesting to cyber security professionals as well. Their latest draft report is now available for download and comments at CSEC2017 v. 0.95 Report

Take a look. More information at the Joint Task Force on Cybersecurity Education website.


The JTF was launched in September 2015 as a collaboration between major international computing societies: Association for Computing Machinery (ACM), IEEE Computer Society (IEEE CS), Association for Information Systems Special Interest Group on Security (AIS SIGSEC), and International Federation for Information Processing Technical Committee on Information Security Education (IFIP WG 11.8).

The JTF grew out of the foundational efforts of the Cyber Education Project (CEP).

Purpose...

The purpose of the Joint Task Force on Cybersecurity Education (JTF) is to develop comprehensive curricular guidance in cybersecurity education that will support future program development and associated educational efforts.

The curricular volume, CSEC 2017, is estimated to be published in December 2017.

Monday, November 13, 2017

Can’t We (Computer Science people) All Just Get Along?

There is some real momentum in growing computer science for all people in the US. Even the Trump administration seems to be behind it (more or less). The pot of money for funding CS for All initiatives is growing. It’s not growing as fast as the number of people who are trying to work the problem though so it is still something of a zero sum game. And there in lies a problem – in fighting. At this point I feel like we are becoming our own  worst enemies.

Pogo Earth Day 1971t We have met the enemy and he is usLately it seems like far too many people are taking sides against other who really have the same goals. Work with the Trump administration or fight them on every turn? Damned if you do, damned if you don’t.  Work with industry supported programs or demand that companies give money without strings even if you are working in ways contrary to the company’s responsibilities to their shareholders and employees? Promote your own programs by attacking the motives and strategies of other programs? It’s getting as bad as the major political parties in some ways.

There are dueling blog posts, contentious discussions (fights) on Facebook groups and Twitter. It’s starting to get embarrassing. If the media took a close look at us we’d really be in trouble. It’s only time before that happens though.

I understand that lots of people have educational programs they really believe in. I understand that they really want others to use what they have developed, tested, and often have research to support. Great! But are we really well served when different groups attack others? I think not. Could money be at the heart of it all? I think perhaps it is. It often is when money is in short supply compared to demand. In the long run I think we’d all be better fighting for a bigger pie than a bigger piece of the existing pie.

And then there is the gender issue. Oh boy! Now make no mistake I think programs like Girls Who Code and Black Girls Code are great. They are important. I’ve been pushing to increase the number of girls learning computer science for a very long time. I think it is essential for society in general and computer science in particular.  I’m not sure that leaving boys behind should be a goal though and at times (especially if you are the parent of a boy) it looks like it is a goal.

The assumption that boys will naturally get into computing on their own without help is as much a sexist bias as any suggesting girls are not interested in computing. This is especially true in poor, rural areas and in areas where minority students are the majority.  Rural areas in general get overlooked as groups try to focus on large population centers and yet they have needs as great as any inner city.

benjamin-franklin-politician-we-must-indeed-all-hang-together-or-mostNow I am not saying we should stop having programs just for girls. Or that we don’t need programs specifically for other traditionally under represented groups. They are necessary. But let’s not be unsympathetic to other parts of our population just because they happen to be white or male.

And I am not saying that people should not promote their own educational programs. The more the better. But let’s not build our own programs by tearing down those of others.

Let’s work together, learn from each other, support each other, and present a united front to help the greater goal. Computer science for everyone.

Thursday, November 09, 2017

CS Educator Interview: Adam Newall

With increasing interest in computer science before high school these days you may have noticed that I have a number of K-8 teachers in this series. Several of them use Bootstrap in middle school. Bootstrap is a great combination of math and computer science. As such it fits easily into middle school programs.Adam Newall is the latest interview with one of these teachers.

BTW did you miss my interview with Emmanuel Schanzer who created Bootstrap?

WHERE DO YOU TEACH? WHAT SORT OF SCHOOL IS IT?
I teach at Pembroke Community Middle School. A public school for grades 7 and 8.

WHAT COURSES DO YOU TEACH?
I teach a math applications class and Bootstrap: Algebra as an elective.

HOW DID YOU GET STARTED TEACHING BOOTSTRAP? 
My district was looking to add electives to our schedule as well as curricula that would would help our students master algebra.  Bootstrap fit that need perfectly and I've been proudly teaching it for the past six years.

HOW IS BOOTSTRAP WORKING FOR YOU AND YOUR STUDENTS? DO YOU THINK IT GETS STUDENTS MORE INTERESTED IN PURSUING MORE COMPUTER SCIENCE?
My students have felt very successful using Bootstrap and are proud of the accomplishments they have made in math and computer science as a result of their coursework.  It's been incredibly empowering for all students who are interested in computer science to gain a foothold at such a young age that can propel them further into the field.

DO YOU DESCRIBE YOURSELF AS A MATH TEACHER, A COMPUTER SCIENCE TEACHER, OR DO YOU DEFY SIMPLE CATEGORIES? HOW DOES YOUR SCHOOL SEE YOU?
I think I would defy simple categories.  I teach math, but not as I was taught it.  A few colleagues and I have built a curriculum for our course, math applications, which every student in both 7th and 8th grade takes, that requires the students to think critically and problem solve, applying math skills they have already learned in their traditional math courses.  I teach computer science, but I'm not a computer scientist.  I am a lifelong learner in every sense and am always adjusting my practice.  I think my school sees me as a teacher who is willing to take risks and question everything for the sake of making it better.

WHAT IS YOUR OVERALL TEACHING PHILOSOPHY? PROJECT BASED LEARNING? FLIPPED CLASSROOM? IN SHORT, WHAT MAKES YOUR PROGRAM “YOUR PROGRAM?”
I believe in the "upside-down" teaching model that empowers students to be part of the learning process.  I frequently use project based learning to present students with scenarios that are authentic to real life in order to help them "own" on a deeper level the math skills that they already know.  Bootstrap fits my teacher personality as it gives students the opportunity to ask the questions, to rely on their knowledge, to help each other, and to feel invested in their success.

WHAT IS THE BIGGEST CHALLENGE IN TEACHING AT YOUR SCHOOL?
I think that the biggest challenge in teaching at my school is our level of technology saturation.  I would love to see students in a one-to-one model some day where they each have constant access to a school-authorized device.

WHAT IS ADMINISTRATION’S SUPPORT (OR LACK OF SUPPORT) LIKE AT YOUR SCHOOL?
My administration is incredibly supportive of teachers and the directions that we see for our classes.  Teaching Bootstrap at my school is one example of my administration's support--allowing me to pursue my interests and take on a brand new subject area for our entire district.

HOW DO YOU MEASURE SUCCESS FOR YOUR PROGRAM? FOR YOUR STUDENTS?
I measure the success of my students first on their excitement and their confidence in using math and in computer programming.  I  then measure their success by the numbers from pre and post test data that shows they are able to apply their math knowledge from Bootstrap back into the math classroom.  Our program has been successful as we were able to offer the first computer science curriculum in our district which has grown into the Bootstrap: Algebra and Reactive curriculums in the middle school as well as a new computer science teacher at the high school who teaches to the AP CS test.  It's been awesome.

WHAT IS THE ONE THING YOU LIKE TO TALK ABOUT REGARDING YOUR PROGRAM THAT I HAVE NOT ALREADY ASKED?
I've never felt more important than the days I'm teaching Bootstrap. I can see students who have one "aha" moment after another because they made a dog move across their screen or their player jump up and down.  Some students have blossomed as learners, finally feeling like they've found their niche and really beginning to engage in their own learning. Other students have grown in their persistence; they run buggy code and then go on to track it down time after time until it's perfect, no matter how long it takes.  That is a model in perseverance that will follow them throughout their education and change how they view the world.  They are learning to be superheroes and I get to know I put them on that path.


TELL ME ABOUT YOUR ONLINE PRESENCE (IF ANY)
· School name and web site: http://pcms.pembrokek12.org/pages/PembrokeCommunityMS
· Twitter: @mr_newall

Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.






















Tuesday, November 07, 2017

CS Educator Interview: Mike Zamansky–the update

When I last talked to Mike Zamansky for this blog he was teaching computer science at Stuyvesant high school (one of New York City’s entrance exam high schools). Since then he has had something of a career change. Like many great teachers he was looking for a chance to make an impact beyond one school. But I’ll let him explain more.

Since I last interviewed you, you’ve had some big changes. Tell us about what you are doing today.
I left Stuyvesant a little under two years ago and I'm now at Hunter College, part of the City University of New York (CUNY).

At Hunter I have two primary responsibilities. One is to develop K12 CS Teacher certification programs. The other is to build an undergraduate honors program in CS, connect Hunter CS to the tech industry and basically give NYC students a first rate option for a CS education that doesn't require taking on a mountain of debt.

What made you decide it was time for a change?
I think I accomplished all I could at Stuy and it was taking too much energy to keep the program where it was let alone advance it. It was also clear that the NYC DOE wasn't interested in engaging Stuy with at the helm so it was time to move on. It was also time for others to take the reins there. I've been privileged to work with some amazing teachers at Stuy and it was time for them to take the program to the next level.

When I was connected with Hunter I saw two amazing opportunities. I've pretty much given up on the NYC DOE. I'm convinced that they're going to roll out CS4All hastily and we'll end up with bad CS for all. Poorly prepared teachers and a weak curriculum. I hope I'm wrong but I don't think I am. Regardless of what the DOE does, if a class has a strong teacher that class has a chance.
Hunter prepares about 10% of NYC teachers so if I can steer the Hunter CS Education programs in the right direction then we can have a sizable impact.

As to the CS Honors program, I mentioned above that the city needs a  great affordable option. I'm proud of my work at Stuyvesant and proud that I worked at a public school all those years but at Stuy I only had access to kids that passed the test. True, we started our non-profit to get to more kids but that was limited. I'm still working with a select group in the honors program but as I'm also working with Hunter CS in general, I can impact a much wider range of students. That's exciting.

You’re developing teacher certification programs in computer science and building an honors undergraduate CS cohort. Can you describe those two efforts and what you are doing to implement them in more detail? Are you part of the CS department or the education department? Or a foot in each?
My appointment is in the school of education. That was mostly because I don't have a doctorate and this made things easier. Right now most of my work is in the computer science department under the school of Arts and Sciences since we're waiting for approval for my teacher ed programs.

On the CS Education front, we've designed two programs - a Masters program in CS Education and a Certificate program for teachers already licensed in another subject area. Unlike some other proposed programs we don't offer courses tied to specific curricula (APCS-A AP-CSP etc.) although we do expose our teacher candidates to many of the current offerings. Rather, we are requiring courses that cover methods, and curriculum development along with a depth and breadth of content knowledge. Our teachers will be able to teach anything out there and also design their own experiences for students.

We're also trying to convince NY State that programs like ours are the way to go rather than quick slapshot professional development and scripted curriculum. This means that we've also had to work out a way to transition to new certification requirements over a period of years and also allow for dual certification (math -> CS, CS -> math for example). Of course it remains to be seen what direction NY State goes in.

On the honors CS front I've designed a new intro course for my students that combines Hunter's normal first year of CS with some software engineering best practices and a few extras. We also hold a number of special events. Last year and this we attended Catskills Conf -- one of my favorite events of the year - think "tech conference meets summer camp" and we've also had guest talks, workshops  and more. I'm also working on recruiting all my former students who are now in the tech industry to support Hunter CS and work with the students -- I'm hoping this will be a huge win for both Hunter and ultimately New York City. It's an easy sell -- help an elite private university and you're not really helping equity and diversity. Help Hunter and you're still getting great kids but you can make a big impact on both equity and diversity.

A lot of my time now is trying to get the word out and convince high schools that Hunter is a great option.

How is the college environment different from the high school environment? Both for teaching and for “overhead?”
Teaching is much more relaxed for me. I'm only teaching one class and it meets twice a week. That's both good and bad. That's a far cry from 5 classes of 32 a day 5 days a week. The overall schedule is much more flexible. At Stuy, even if I didn't have classes I had to be in the building. Leaving early for a meeting involved paperwork and approval. As a faculty member at Hunter, it's much more free. We're treated much more professionally than teachers.

A big plus for me personally is the level of support I'm getting at Hunter. Everyone between me up to and including our president is on the same page for CS and CS Education. At Stuy I had an amazing team and amazing colleagues but the administration was never all that supportive and don't get me started on the DOE.

The biggest downside of Hunter is that I'm much more isolated. I still have great kids but since my office is in the Ed department far away from undergrads I don't see them as much. Likewise professors aren't around the same way as teachers. I'm trying to convince the higher ups to find me a space near the students since I think that's really important as we try to build a positive CS culture but space at Hunter is hard to find.

What did I not ask you about that you would like to know?
I think that's about it.

Where online can people learn more about the programs your working on  at Hunter?
Unfortunately, Hunter's in the middle of reworking its web site so there's a freeze on adding new content. There's a bit of info on the scholars program at http://hunter.cuny.edu/scholars but nothing specific to the Daedalus program. Once we have final CUNY and state approval of our Ed programs, those will go up as well but that's still pending.

I hope to have more of a web presence on both soon.

Do you have a Twitter account, blog, and/or other social media that I could share with my readers?
Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.























Thursday, November 02, 2017

CS Educator Interview: Steven Floyd

Computer Science education is important all over the world. Recently Steven Floyd who teaches at Mother Teresa Catholic Secondary School in London, Ontario, Canada agreed to answer my questions. Steven received the 2017 Award for Teaching Excellence in Computer Science. It sounds like there are some good things going on at his school. I also like the way he talks about his teaching style and how he defines success.

Where do you teach? What sort of school is it?
I teach grade 10, 11 and 12 Computer Science and Computer Engineering at a High School in London, Ontario Canada.

Our school is made up of approximately 750 students and the school is a busy place with so many extra-curricular and classroom events. It's a diverse group of students with a wide range of interests, which is what makes it such an interesting place to teach.

How did you get started teaching computer science?
Back in 1999 I was taking a CS course in a dark, dreary lecture hall and I was just amazed at the concepts and ideas that allow our programs to run. The organization and design seemed almost "magical" and I wanted to bring that sense of wonder to students.

After my first year of teaching CS and Phys-Ed our Principal let me know that there would be a few more opportunities in the Phys-Ed department. I told him I wanted to focus on the CS courses and since then I haven't really looked back.

Right now, it's an especially exciting time in CS Education with work from organizations like the CSTA (https://www.csteachers.org/) and from researchers involved in Education and Mathematics like Dr. Gadanidis (http://researchideas.ca/) and many others.

My wife, Lisa Floyd (@lisaannefloyd), started teaching CS around the same time as I did, so over the last few years some of our “date nights” away from the kids have eventually evolved into discussions about things like “What differentiates abstraction from decomposition?”

She’s currently a Computer Science teacher and University Instructor and I'm proud to see her teaching CS and Computational Thinking to teachers and students around Canada and the world with Fair Chance Learning.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?
In Canada, each Province creates their own Curriculum and the CS curriculum in Ontario is fantastic (http://www.edu.gov.on.ca/eng/curriculum/secondary/computer10to12_2008.pdf) , although perhaps in need of a little refresh :)

Students can take Computer Programming in grade 10, 11 and 12 and Computer Science is offered in grades 11 and 12. The big difference between the two is that the CS classes go into a little more detail in terms of things like efficiencies, problem solving and algorithms.

Years ago, I took a step back and thought carefully about the students enrolling in our classes. I realized that only a few go on to study CS at University or College, and a handful pursue Engineering. The rest were interested in other areas. From this point on I decided I needed to teach in a way that focused on problem solving, computational thinking, algorithm design, creativity, innovation and entrepreneurship. I set a goal, which was to introduce the courses to a much wider group of students and to teach the course in a way that taught skills and concepts that might be applicable in any and all fields of study and work.

Our class sizes have grown tremendously and I get a number students understanding that just about every career will involve some form of computational thinking and problem solving. They realize that knowledge is important, but what's becoming even more important is being able to do something with that knowledge. Being a good problem solver will help you in just about any career!

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”
My teaching philosophy centers around three main ideas: 1) providing multiple levels of entry to concepts, (2) providing multiple contexts in which to learn and apply concepts, and (3) facilitating multiple pathways for students.

Many of the instructional methods that I implement involve what Seymour Papert described as “low floor/high ceiling” activities. These are activities in which a wide variety of students, with a wide variety of backgrounds, can enter into, grasp and apply. I also ensure the availability of multiple contexts in which to learn and apply concepts. We are fortunate to be teaching at a time where there exists a variety of programming environments and languages that are available at little or no cost. Finally, many of my instructional approaches are based on decisions that focus around the multiple pathways my students might take after High School. Some will pursue CS as a field of study, but many will pursue other fields in which a knowledge of CS concepts will provide them with an advantage.

What is the biggest challenge in teaching CS at your school?
I'm still struggling with the balance between the "cool", "magical" and creative elements of CS and the rigorous thinking that can sometimes be involved. I want to attract students to the program and show them how easy it is to get started, but I also want them to appreciate and participate in the complexity and quiet planning and analysis that goes in to worthwhile programs. It's a balance that we try to develop each day. I'm currently writing an online, Introduction to Computer Science course for the province and the course is being written with this theme in mind as well.

What is administration’s support (or lack of support) like at your school?
We have had a lot of support and it's only growing as more and more attention is being paid to CS, STEAM, Computational Thinking and Makerspaces. Administrators are doing a great job of looking past the technology and realizing that there are some very important skills and competencies being addressed within these areas.

I'm lucky that at my school the Mathematics and Science Department Heads see the value of the Computer Science and Computer Engineering courses. They have helped purchase equipment, and over the years they've seen some interesting purchases show up on department bills including "raspberry pis", "ECG sensors" and "drones".

Barham Dababneh and John Misek are two teachers at the school who help our students design, build and program our FIRST robotics robot. It's this type of support from colleagues that can transform a few dwindling courses into a thriving, school-wide program.

Just last year the drama teacher asked if our Robot could play a part in the school Christmas play. This type of interest and support for CS from so many different staff members is very, very cool!

How do you measure success for your program? For your students?
We wanted students at our school to develop a better understanding of technology and to be able to become comfortable with it.

It wasn't simply a goal to have more students in our courses, we also wanted to show the entire student body, as well as students from our surrounding elementary schools, how technology is evolving and how we can use it can be used effectively.

Students in our school, and even younger students from the community, now recognize our Robotics Team members and they're often asked about their progress on large projects. This is success, just having students acknowledge, understand and appreciate the technology, but more importantly acknowledge, understand and appreciate the work of these Computer Science students. Years ago I wanted our school to be a place where students who were interested in the CS felt valued and felt that they had a place to belong and thrive. That’s what we continue to work on.

What is the one thing you like to talk about regarding your program that I haven’t already asked?
Staff members in the school are very supportive of our programming competitions and robotics teams, and they are always promoting and asking about our events and projects. We have been fortunate to have been invited to Comic Conventions and Art Events in the community and our students are teaching younger students from other schools about CS. The teachers at these schools have been inspiring!

Our School Board Leaders are attending coding, robotics and Computational Thinking events and it's really been incredible to see so many different people support and become involved in the CS program.

CS will have an impact on everyone’s day to day life very soon, if it doesn’t already. That’s why it’s so important for CS initiatives to be collaborative efforts that involve people from a variety of areas.

A lot of resources I know about are US specific or at least US based. What sort of Canadian based or specific resources do you use? People, government resources, events, and maybe other things.
There are some incredible Educators and Researchers in Canada that are doing some great things in CS.

I often find inspiration, resources and support from many of the following:
The Ontario English Catholic Teachers Association http://www.catholicteachers.ca/ has also been very supportive. They have funded projects that have allowed us to bring CS to elementary teachers and students across the community, even before it was trendy https://www.teachontario.ca/community/explore/teachontario-talks/blog/2016/08/30/driving-student-engagement-in-mathematics-with-coding-and-programming
And I know that I’m a little bias, but everyone has to see what my wife is doing! She’s an inspiration: @lisaannefloyd

Tell me about your online presence (if any)
My website of resources, etc: techthings.ca/learn
Blog: https://stevenpfloyd.wordpress.com/ (like a few jobs around my house, this is a work in progress…)
Twitter: @stevenpfloyd

Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.







































Wednesday, November 01, 2017

Vicki Davis Interviews Alfred Thompson about CS Education

Vicki Davis has a wonderful podcast with interesting educators. Over the summer she interviewed me about teaching Computer Science. Topics include:

  • How to get kids moving as you teach programming
  • What happens when a school has every student learn Computer Science
  • How to engage young women in Computer Science Programming

Give it a listen!

Tuesday, October 31, 2017

CS Educator Interview: Raji Gupta

Professional Development days are often a great opportunity to meet other teachers and share idea. Even though I pass his school twice a day on my way to my school I just met Raji Gupta recently at a CS4NH event. I was very interested in his school’s growing program and one course in particular - Edge of Computing . You’ll read about that below. And see a picture of his creative classroom!

Where do you teach? What sort of school is it?
I teach at Windham High School, in Windham, NH.  We are a public high school just north of the border with Massachusetts.  The school has just over 900 students.

How did you get started teaching computer science?
I am only in my third year teaching in total.  During my first year as a teacher, I was teaching math (not in Windham).  My friend/mentor reached out to me and asked if I would consider coming to Windham to grow a CS program.  Having no CS background I was at first hesitant, but as we talked through it, I came to the conclusion that our kids need someone to step up and figure it out.  And so here I am in my second year as a computer science teacher.

Prior to teaching I had a career in industry, but felt called to make a difference, and teaching was the right channel for me to move into.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?
WHS offered an object-oriented programming class for a few years, and then last year added AP CS A.  We had 44 students enrolled in AP CS A in its first year.  This year we dropped the OOP class and now offer: AP CS A, AP CS Principles, App Development, and Edge of Computing.  My overarching theme for all of my courses is that students are growing their problem solving, communication, and collaboration skills.  Obviously with the AP courses, I am trying to also help the students achieve a strong AP score.  I, frankly, think my role is less about instilling technical skills with my students and more helping them engage with CS and play with different environments and discover what they like.  So I don't offer introductory Java, or teach Javascript or Python, for example... yet. 


When we talked in person recently you told me about a new course you were piloting this year. Can you elaborate on it? What’s it about and what was your motivation for creating it?
Edge of Computing is a class that I sort of dreamt up.  I wanted students who had taken AP CS A to have a chance to explore really cool topics in technology.  We started the year by looking at Artificial Intelligence, for example.  The process wasn't about learning the technical aspects about AI, but rather to examine the social implications of this emerging technology.  Students ended up researching AI in ways I hadn't even thought of.  I learned so much from them.

Throughout the year we'll look at self-driving cars, quantum computing, Watson, virtual and augmented reality, etc.  I like to think that my class is like a form of recess.

My hope is that as the year finishes students will have dug into topics that they are curious about anyhow, and will be impassioned to really delve into that field during their undergraduate studies.  

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”
As I said earlier, I am not technical.  My prior career was in operations leadership.  I understand technology, and am trying to become proficient in Java, but I think what differentiates my classes is that I create an environment where kids want to learn, that they can use self-discovery, and partner-work to grow their skills and knowledge.  I am perfectly okay knowing less than my students.  I am experienced enough in life that I can ask them questions when they are stuck that helps them solve their own problems.  I think them growing this capability is really important.  My role is mentor, rather than teacher.

What is the biggest challenge in teaching CS at your school?
Capacity!  We had almost 200 students sign up for CS this year... as an elective!  I'm teaching an extra class, and I had to recruit one of my colleagues to teach a section of AP CS Principles.  It's a wonderful problem to have.

What is administration’s support (or lack of support) like at your school?
My director, Mike Koski, has been fantastic about giving me the freedom to develop a vision for CS at our school, and to then present that vision to our students. 

How do you measure success for your program? For your students?
With the AP courses, I certainly want my students to do well as it relates to College Board requirements.  But mostly I measure success by how many students we get to try CS.  They don't need to love it.  They don't need to take other CS courses.  But I do want them to have at least been exposed to CS and felt like they had a safe place to try and fail, and learn and succeed.  We have over 160 students taking at least one of the two AP CS courses this year. 

What is the one thing you like to talk about regarding your program that I haven’t already asked?
My classroom!  Last year I had all my APCSA students split into teams and enter the Verizon App Challenge.  One of the teams won best in state for New Hampshire.  Not only did the winning students get tablets, but the school also received a $5000 grant.  We used the money to redo a classroom.  You'll see in the picture that there is a good deal of whiteboard space (54' to be precise), there is fun furniture, and there are different levels that students can sit/stand at.  Prior to teaching I worked at Google and Amazon, so I've tried to make our classroom feel more like a creative space, and less like a classroom.

WHS CS Lab Small

Tell me about your online presence (if any)
· School name and web site: Windham High School.  http://whs.windhamsd.org/
· Twitter:  https://twitter.com/rajicgupta

Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.























Monday, October 30, 2017

CS Educator Interview: Emmanuel Schanzer–The Update

I interviewed Emmanuel Schanzer in my last series. But like so many things, Bootstrap, the program he directs has grown and expanded. A number of teachers in this series teach using Bootstrap curriculum as well. So an updated interview with Emmanuel seemed like a good idea. Besides that I am a big fan of both Emmanuel and the Bootstrap program so highlighting them is a logical move for me.

Find out more about Bootstrap at http://www.bootstrapworld.org/
(Read my previous interview with Emmanuel Schanzer here).
bootstrap logo
When I interviewed you four years ago, Bootstrap was a single curriculum that was largely a mix of Algebra and computer science with game creation tossed in to make it even more interesting. Today Bootstrap has several courses. How did that happen?
Four years ago, Bootstrap offered a single course, which carefully-designed to align Algebra and Computer Science based on substantial research into both Math-Ed and CS-Ed (given the decade of work that went into it, I wouldn’t say the game was “tossed in” !). Back then we reached a little over 5,000 students each year. Things sure have changes since then! Today, we offer curricula for Algebra, Data Science, and more Advanced CS, and are piloting a course in Physics in conjunction with the American Association of Physics Teachers, the American Modeling Teachers Association, and STEMteachersNYC  We reach more than 25,000 students annually, making us one of the largest providers of in-school programming in the country.

There are two factors that led to this expansion:

1) We had hundreds of math teachers who dug into Computer Science with Bootstrap:Algebra, found that they liked it, and came back asking “what else have you got?” Schools that invested in Bootstrap:Algebra as a way to improve math instruction (or to check the “CS box”) suddenly found that there was now greater demand for dedicated CS classes, and were able to leverage their existing Bootstrap teachers teach them. This came as a happy surprise to us: rather than competing over the same small group of CS teachers nationwide, we were accidentally creating new CS teachers from the enormous pool of math teachers that have adopted our curriculum!

2) Lots of governors, superintendents and principals made pledges to bring CS to every child, but discovered that dedicated CS electives and required CS classes were either incredibly expensive (hiring/retaining new teachers), logistically impossible (adding a new class given finite hours in the day and rooms in the building), or actively undermined equity (opt-in classes are only taken by students with the means and/or inclination). As a result, they started asking how they might integrate CS into other subjects — and authentic integration is our special sauce! Squeezing CS into math is something folks have been trying to do for decades, with little success. Our success with Bootstrap:Algebra means we’ve got a track record of doing it right, which means we’ve been approached about integration into everything from Physics to Social Studies.


Bootstrap: Physics appears to be a way of integrating computer science and physics as a way to teach both. Is that a fair read or would you describe it differently?
Absolutely. When the AAPT and AMTA approached us about integrating computer science into Physics, we jumped at the chance! The modeling folks have an incredible research basis for their approach, which happens to dovetail perfectly with the pedagogical philosophy we use in Bootstrap. Modeling is a powerful approach to connecting the real world with mathematical abstractions, and students in Bootstrap:Physics blend empirical observations with mathematical models they literally build through programming. Seeing their own models running as a simulation - superimposed over data they’ve collected - is a potent experience. We’re piloting the course, now, and the response from teachers and students has been fantastic.


Two of your courses, Reactive and Data Science, seem to be more purely computer science focused than anything else you do. Where do you see them fitting? Grade level, added to existing courses, etc.?
We’ve building Bootstrap:Data Science for students in grades 8-12, and it’s scalable as a first CS class or an in-depth course on Data Science for students who’ve taken years of programming. The module covers introductory statistics (measures of center, linear regression, plotting and graphing, etc.) as well as introductory CS (looping/iteration, methods, functions, unit testing, data types and structures, etc.). In Bootstrap:Data Science, students select a dataset they care about, and learn how to analyze the data, identify trends, and search for correlations. We’re also making sure the curriculum addresses the infamous "Austerity Problem” by teaching rigorous software engineering techniques — so that students know how to verify their claims, instead of just making them. Finally, every student in Bootstrap:Data Science completes a research paper that describes their dataset, their analysis, and their findings.

The beauty of Data Science is that it’s applicable everywhere: Business teachers use tabular data and charts all the time to teach students about business models and sales data; Statistics teachers use tabular data, mean median and mode, and plotting; we think a lot of CS teachers will start to be looking at Data Science over the next few years, as a way to engage students in questions they care about ("who is the best quarterback of all time?”, “which restaurants are the best value?”, etc.). We’ve already had a lot of interest from each group, but there’s one other audience of teachers who have largely been left out of the STEM discussion: social studies teachers. What IS the impact of the electoral college? How do we know if a policy is successful or not? Is “Stop and Frisk” racist? Social Studies teachers regularly deal with questions about data and society, focusing heavily on making inferences from data and writing persuasively about the results. So yeah, plenty of folks will use Bootstrap:DS as a semester-long CS elective, but we think the magic comes from integrating into courses like social studies, where data analysis and writing matters most. Add this to our work in Physics and Algebra, and every school in the US can now offer three courses in Computer Science — all without having to find room in the budget for a new teacher or room in the schedule for a new class!

Bootstrap:Reactive is your classic hardcore CS — we cover data structures, rigorous software engineering in a Python-like environment, and a twist on FRP and MVC-style architectures. We see it as a semester-long CS course, or an integrated module into a full-year AP or post-AP CS course. It’s designed to be a follow-up to our Algebra and/or Data Science modules, and allow students to build any program they can imagine. Even though it’s only been out for a short time, we’re already seeing hundreds of students each year complete the class, building everything from maze-solving and multiplayer games to cell-phone apps. Schools like New York’s Academy for Software Engineering are using Bootstrap:Reactive as the programming module for AP CS Principles, and seeing students build on what they know from algebra. Leveraging prior knowledge is a huge win for us, and when it’s prior knowledge from a class that every child takes it’s a win that reaches all children.

The original Bootstrap: algebra continues to grow and evolve. How is it different from four years ago?
People say “CS is like math” all the time, but it turns out that Math transfer is an incredibly difficult nut to crack. We’re thrilled to be the standard bearer here, and we’re constantly refining our approaches through careful research, student data and teacher feedback. With help from the entire Bootstrap:Algebra community, we’ve made improvements to the curriculum in terms of supplemental materials, deeper connections to graphing functions, and lessons dealing with topics like Ratio and Proportion, Quadratics, and Exponential Functions. We’re proud to be the first programming course to show real algebra transfer at this scale, and we’ll be announcing some exciting results at SIGCSE this year.


I noticed a Bootstrap Hour of Code lesson recently. Is that a “hook” for students to do more with Bootstrap? Is it also a way to expose teachers to a different way of teaching that they might not otherwise see?
Absolutely. For teachers who are curious about Bootstrap, or who are looking for something more challenging after the normal Hour  of Code, give our Hour of Code a try this year during CSEdWeek

I see announcements for Bootstrap professional development regularly. How do they workshops come about? Do districts come to you, ask for them, and fund them? Or is there some other model for when and where they are offered?
We run trainings for all our courses year-round, though obviously we do the bulk of them in the summer when most teachers are available for PD. The vast majority of our workshops come from either districts or states reaching out to us directly (Austin, Dallas, NYC, CPS, and DCPS just to name a few), or from companies looking to sponsor CS Education in their communities (Facebook, Palantir, LinkedIn, 3M, and many more). We encourage states, districts, schools and companies to contact us directly about running a workshop, at contact@BootstrapWorld.org.


What sort of background makes for a good Bootstrap teacher? Are you training mostly math and physics teachers to teach a new way of teaching their subjects? Who else picks up Bootstrap and adopts it?
We get a good mix of CS and non-CS teachers. In fact, we probably have the most diverse cohort of teachers in the business — with such a variety of courses, we have CS, math, physics, business and social studies teachers working with students as young as 9 and as old as 25, in settings from continuation schools in California to accelerated elementary schools Maryland! When computer science becomes “teaching a tool”, as it so often does, you tend to only get teachers who are excited by tools. But when you focus on teaching content, you get a much larger, richer and more diverse set of teachers reaching students everywhere. That’s been our experience with Bootstrap, and we’re going to keep using that strategy moving forward.

What might I not know about the current state of Bootstrap as an organization and curriculum that I should know?
People know that Bootstrap is one of the largest providers of in-school CS nationwide, but not everyone knows that we’re also one of the largest providers of in-school computer science to girls and students of color nationwide. Of the 20,000 students we reached last year alone, nearly 9,000 of them are girls and young women and nearly 9,500 of them self-identify as African American or Latinx. We’re also investing heavily on making our materials accessible to differently-abled students, thanks to support from the NSF, Google, and the ESA Foundation, and are a proud development partner with AccessCSforAll.

Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.

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 http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.

Wednesday, October 25, 2017

Observations on Parents Shopping for High Schools

We had an open house for prospective students and their parents at school on Sunday. We’re a private school so getting parents to see a reason to spend the money for their children to come is important. We talk to a lot of parents at these events. While not data I had a few interesting observations.

One: More and more girls are expressing interest in computer science every year. Many of them are actually doing some programming of sorts in middle school. Some in school, some in clubs, some in FIRST Lego league, some on their own. A lot of Scratch for sure. But that’s fine. It is driving interest in learning more. Girls have been happy to talk about what they are doing.

Two: Parents often tell me their child is into computers. I ask the student if that means they play video games or do they write programs. For boys it is usually video games or a mix of video games and some programming. For girls it is almost always programming. There is more programming by both boys and girls than these was a few years ago.

Three: Lots of interest in robotics. I credit FIRST Lego League. On the other hand I had one father ask about girl's involvement in our robotics team. He seemed surprised when I told him that team wide and in leadership roles it was about 50/50 boys and girls. I think that was the answer he wanted though.

Four: Mothers are as likely to come visit the CS department table as fathers. And both ask tough questions about the curriculum. Parents are looking for a solid CS program in high schools. One popular question is how long do students have to wait to take a CS course. For us, freshmen year with a required course. Parents seem to like that we start early and have a solid path for more depth in CS.

Five: I'm hearing about more middle schools using Scratch with students. It will be interesting to see how that rolls into HS CS. Clearly though middle schools are jumping into computer science in increasing numbers. I worry about the students at those schools who go to high schools without real computer science programs. Will they lose the interest that is built in middle school?

Tuesday, October 24, 2017

CS Educator Interview: Jackie Corricelli

Jackie Corricelli conducts Advanced Placement Computer Science summer institutes for teachers. That is how I first met here. And I learned a lot from her. She teaches workshops the way she teaches students so so practices what they preaches. She has won several state-wide and national awards for teaching.
WHERE DO YOU TEACH? WHAT SORT OF SCHOOL IS IT?
Conard High School, West Hartford, CT
Public HS
HOW DID YOU GET STARTED TEACHING COMPUTER SCIENCE?

I had a background in programming due to working at Raytheon as a Systems Engineer.  I learned C++ and Matlab on-the-job.  In addition, while growing up, I played with Basic Programming on a Commodore Computer that my Aunt gave to me.  The programs arrived in Ranger Rick Magazines and I would save them onto a tape.  I used Basic to make shapes and later, in high school to program my graphing calculator.  I never saw these things (playing on the Commodore or programming my calculator) as "computer science".  I did not get the connection until I worked at Raytheon. 
My certification is in teaching math.  I guess I started teaching CS when I helped students see how to program their calculator in math courses. 
My official start teaching computer science coursework was about 5 years ago at Conard when my supervisor and I agreed AP CS A would be helpful to our students to become better problem solvers.  So we started AP CS A in Fall 2012.  I was trained by Stevie Lord at Taft; two years in a row (Summer 2011, 2012).  Then I got involved as an AP CS Principles Pilot Teacher in Summer 2013.  This meant I received a lot of great training from College Board and many great CS Teachers from across the US and contributed to training for other teachers for College Board to support implementation of this course.  I did not hear about the CSTA until the College Board Conference.  I joined while at that conference in Summer 2013 and this gave me a network of CS teachers close to home.   At Conard, we started offering CS Principles as a course in Fall 2014. 
 
DESCRIBE THE COMPUTER SCIENCE CURRICULUM AT YOUR SCHOOL. WHAT COURSES DO YOU HAVE AND WHAT ARE THE FOCUSES OF EACH?

We have courses in computer science listed on page 22 here: https://drive.google.com/file/d/0B9qL2-maX-Q0R2NGUWVUcDJKd3U3bTJRWDdjOFctd2Z2eWNZ/view
CS Courses are offered in our Math Department and in the Technology/Engineering Department.  Computer Science Courses are assigned STEM Credit. 

WHAT IS YOUR OVERALL TEACHING PHILOSOPHY? PROJECT BASED LEARNING? FLIPPED CLASSROOM? IN SHORT, WHAT MAKES YOUR CS PROGRAM “YOUR CS PROGRAM?”

My philosophy is to continue to love to learn with my students so I can help them to do the same to the best of my ability.  What works each year depends on my students.  Sometimes I create videos or "flip" the class, but that does not always work.  Sometimes I create a great project as a way to help them to learn.  For it to work, the project needs to be a good fit.  Sometimes I lecture and/or drill a concept for them to help them become more fluent.  It really depends on the students, the class, and what is working.   My favorite thing to do is to help students do something with what they just learned.
 
WHAT IS THE BIGGEST CHALLENGE IN TEACHING CS AT YOUR SCHOOL?

The biggest challenge is to be sure that people understand what Computer Science is so that students understand the courses that they are signing up to take and how these courses are related to their future.  Computer Science is interesting, accessible to all, and fun.  However, when you really start tracing code or understanding programming languages, it is not easy.  Helping students to see joy in this struggle is the key.   We continue to use the Hour of Code and rely on the support of many adults in our large school to help all students realize this and sign up for computer science coursework.  We have several amazing teachers, interesting courses and many great clubs, all to provide different access points for our students.  The more ways students can see how they are connected to computer science and the more adults that are working together with this goal in mind, the more likely it is that they will sign up and love it!  
WHAT IS ADMINISTRATION’S SUPPORT (OR LACK OF SUPPORT) LIKE AT YOUR SCHOOL?

Administration in West Hartford Public Schools is extremely supportive.  The number of Computer Science teachers in our school has increased with student demand.  We have teachers in our math department and our technology and engineering department working toward helping students learn computer science.  For us to attend training, have time and space to run the Hour of Code, manage and be supported for Clubs related to CS, and continue to offer interesting and fun courses that appeal to our students, we have needed and enjoyed their support. Without it, we would not have been able to develop and sustain our growth.
 
HOW DO YOU MEASURE SUCCESS FOR YOUR PROGRAM? FOR YOUR STUDENTS?

Success is measured by the extent to which students feel supported and challenged while they are here and are able to graduate and be successful at college and career pursuits.  My number one goal is to help students realize that they are in control of their lives and that their most important tool is knowledge.
 
 
YOU TEACH ADVANCED PLACEMENT WORKSHOPS AND SUMMER INSTITUTES FOR TEACHERS. WHAT’S INVOLVED IN THAT AND HOW DID YOU GET STARTED?

As a pilot teacher, I was asked to teach for AP CS Principles.  I graded the Performance Tasks for ETS in June 2016 and June 2017 to continue to be sure I have the information teachers need to support their students.
To become an institute teacher, I recommend that teachers participate in the grading.  From there, you will develop experience with the course that could lead to having  opportunities to teach.
 
TELL ME ABOUT YOUR ONLINE PRESENCE (IF ANY)

Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.

Friday, October 20, 2017

Computer Science Educator Interview Series Index (2017)

From time to time I like to highlight computer science teachers with virtual interviews posted on my blog. The first series was in 2013 (CS Educator Interviews: The Index ) and I decided it was time to start a new series in 2017. New interviews will appear on Tuesdays and Thursdays when I have new interviews to share.

One improvement in this series is a larger number of teachers who teach elementary and middle school students. K-8 computer science is growing by leaps and bounds which is a wonderful thing.

This post will be regularly updated as new interviews are posted. Here is the current list of interviews.
  • Rebecca Dovi – The  Director of education and co-founder of CodeVA, a non-profit CS education effort in Virginia.
  • Emmanuel Schanzer - Director of Bootstrap - computer since mixed with algebra, physics, and more.
  • Steven Floyd - Computer Science teacher from a secondary school in London, Ontario, Canada
  • Mike Zamansky - Hunter College New York City - new since he left the high school classroom
  • Saber Kahn – Computer Science teacher at the Browning School, a K-12 independent boy's school in Manhattan, NYC
  • Bob Irving – middle school computer science teacher at Porter-Gaud School in Charleston SC
  • Michelle Lagos De Javier – computer science teacher at the American School of Tegucigalpa, a bilingual private school in Honduras
  • Mike Thompson - Technology Education at Haverhill Cooperative Middle School in North Haverhill NH.
  • Adam Newall - middle school math/CS teacher using Bootstrap to teach algebra and CS
  • Vicky Sedgwick – computer science teacher for grades k-8 at St. Martin’s Episcopal School  in the Los Angeles California area
  • Jackie Corricelli - High School CS teacher from Connecticut, also AP CS trainer/consultant
  • Adam Michlin - Grade 6 through 12 computer science teacher in New Jersey.

Thursday, October 19, 2017

CS Educator Interview: Michelle Lagos

Michelle Lagos serves on the CSTA Board which is how I first met her. She is currently an At-Large member. Several years ago she was the International Representative.  She brings some interesting perspectives to board meetings and CSTA is lucky to have her involved. I was very pleased when she agreed to this interview.

WHERE DO YOU TEACH? WHAT SORT OF SCHOOL IS IT?
I teach at the American School of Tegucigalpa, a bilingual private school in Honduras. We are a U.S. accredited school (by AdvaceEd) which grants us the right to extend High School degrees and for over a decade have been offering the International Baccalaureate Program as well. Our students have the opportunity to graduate with up to three diplomas: High school, IB and Honduran Science and Humanities Baccalaureate as granted by the Honduran Ministry of Education. The American School of Tegucigalpa was founded in 1946 and it´s legacy families are now in their third generation of students.

HOW DID YOU GET STARTED TEACHING COMPUTER SCIENCE?
I started teaching CS in 2000 as a senior at the Universidad Católica de Honduras (Catholic University) while finishing my CS Engineering degree. I was offered a job in a bilingual school as a Computer class teacher. From there I got hooked on teaching and have dedicated most of my professional career to education.

DESCRIBE THE COMPUTER SCIENCE CURRICULUM AT YOUR SCHOOL. WHAT COURSES DO YOU HAVE AND WHAT ARE THE FOCUSES OF EACH?
Our computer science curriculum runs from K-12.  We started teaching application computing and over the course of a few years we have been moving gradually towards CS. We follow ISTE standards for K-2 and CSTA standards for 3-12. With high school (which is where I teach) we are currently basing our course in the Computer Science principles course, and using the common-sense media Curriculum for our digital citizenship unit.

WHAT IS YOUR OVERALL TEACHING PHILOSOPHY? PROJECT BASED LEARNING? FLIPPED CLASSROOM? IN SHORT, WHAT MAKES YOUR CS PROGRAM “YOUR CS PROGRAM?”
I consider my philosophy to be quite oriented to project based learning. Considering that our courses are one semester long, I find that we can get better results through projects. What makes it my CS program? My kids!!! Every year my course is different depending how fast my kids absorb the content.  As any teacher I guess, I tweak and adapt my lessons sometimes on the spot and the “aha” moments I get are the best reward!

WHAT IS THE BIGGEST CHALLENGE IN TEACHING CS AT YOUR SCHOOL?
The biggest challenge is time! We only get one semester as our students have a full academic load so we have to adjust the schedule so it doesn’t become too much for them. This then contributes to a lack of interest in the subject by most stakeholders at school.

YOU TEACH AT AN "AMERICAN SCHOOL" IN HONDURAS, IS WHAT YOU TEACH IN YOUR SCHOOL MUCH DIFFERENT FROM OTHER SCHOOLS IN HONDURAS?  ANY SPECIAL CHALLENGES OR OPPORTUNITIES THAT YOU HAVE?
I believe that what we teach is pretty different from our Honduran public system schools. (Honduras education system is divided into two mayor categories, public and private and within the private we have the Spanish-only speaking schools and then we have bilingual schools, mostly Spanish English. The latter is where my school fits into. For starters we teach in English, we aim for higher levels of academic performance than public schools but still try to comply with the country’s education curriculum objectives. We have the opportunity that my school is currently starting a STEM program and CS has found its place in it.  Again, our biggest challenge is time. Most of our schools public and private struggle with budget but the public system struggles much more. Remember Honduras is a third world country, second poorest in all the western hemisphere. This means that sometimes getting the resources we would like takes time and much negotiating. However, because most of our students leave Honduras for their higher education, we have the goal to prepare them the best we can to be a competitive student in most areas anywhere they would like to go. An opportunity I, as a teacher, takes advantage of is that our government has made CS credits mandatory for graduation, so that helps a lot.

WHAT IS ADMINISTRATION’S SUPPORT (OR LACK OF SUPPORT) LIKE AT YOUR SCHOOL?
My administration is more supportive than in other schools. We have a great curriculum director that understands the need of CS in today’s students lives. Our principals are also supportive when my department (which I am the head of) bring up new project proposals, they take them seriously and bring it up to the rest of the decision-making authorities. If there is any room for improvement it is along the lines of people understanding that CS is much more that hardware, plain coding or software. But we are doing our best to shed light on the vastness of the subject and its scope.

HOW DO YOU MEASURE SUCCESS FOR YOUR PROGRAM? FOR YOUR STUDENTS?
I measure success in my program when I hear my students don’t have many issues in their CS courses in college. That feedback is extremely important and helpful. I assess my students by abilities and when I see them understanding coding and loving our robotics unit, I find my program successful.

YOU'RE VERY INVOLVED IN CSTA AS A BOARD MEMBER. WHAT MADE YOU GET INVOLVED IN THAT WAY?
Sometimes being a CS teacher is a lonely affair if your department is not that big and your school is a bit ahead than others. I started looking for a community of teachers where I felt I belonged and could rub elbows with. A place where I could go for news, resources and support. I browsed through many associations and felt that CSTA fulfilled the purpose of support I needed as a CS teacher. I wanted to be more involved, but I couldn’t belong to a chapter as international chapters don’t exist. So, when I read in The Voice the call for nominations I decided to apply for international representative. I thought it would be a long shot but I am so proud to say that I became the first female latina to be part of the board and now the first international member to be serving in a position other than the international representative.

When I started working with the board, I felt right at home with a group of people that shared my passion for both CS and teaching. People that were doing serious work and proposals to improve CS around the world and I couldn’t be prouder to be a part of it. To this day I feel that CSTA is doing a great job supporting K-12 CS teachers. Every year the conference gets better and bigger. There are lots of opportunities for teachers to get PD and network with other CS teachers which becomes a valuable thing.

WHAT IS THE ONE THING YOU LIKE TO TALK ABOUT REGARDING YOUR PROGRAM THAT I HAVEN’T ALREADY ASKED?
Who can benefit from CSTA besides Michelle and AST? I am constantly trying to renew and update my curriculum and I want my kids to have more opportunities to learn what's out there. PD would be good as well as speakers and invitations to conferences. I also try to promote CS in girls and help them discover different opportunities in life.

TELL ME ABOUT YOUR ONLINE PRESENCE (IF ANY)
  • ·School name and web site: American School of Tegucigalpa www.amschool.org
  • Twitter: @mglagos
  • .IG: @mglagos
  • .Facebook: Michelle Lagos Rico de Javier
Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.






















Wednesday, October 18, 2017

Am I Doing It All Wrong?

My programming students are learning about methods. Functions, subroutines, what ever you want to call them they are important. Coming up with examples for demos and projects is an interesting exercise. There are actually several parts of teaching methods so starting with something that is too complex can overwhelm students. So I like to start easy.

Yesterday I started using area and circumference of a circle methods.

public double GetArea(double r)
{
     return Math.PI * Math.Pow(r,2);
}

public double GetCircumference (double r)
{
     return 2 * Math.PI * r;
}

Nice and simple. I can focus on the function specification – the function’s type, it’s name, and it’s short parameter list. I can also use the result very easily in the demo program.

Student want to know why they can’t just use that simple bit of code from the body of the function inline with the rest of their code though. And it is a fair question. That lets me talk about reusable code, avoiding redundancy, and all that stuff. It’s almost convincing. It’s all true of course but it hardly makes an impression. That requires examples that are a bit longer and more complicated.

Lately I have been using the Palindrome project for this next level. Now I have students create a program to determine if a string is a palindrome or not before this. They generally have the various steps (strip out not letters for example) inline in a single method. What I do here is ask them to break the various code segments out into methods. This makes the main routine simpler and easier to understand. (Assuming good names.) and this makes the point better, I think, than the simple one line methods.

It’s still hard to get students to think of this sort of modularization when they do their own designs. It gets easier when we talk about writing classes though.

I suspect that getting students to design around methods would be easier if I were teaching with functional programming language. I can actually hear several voices in my head saying “Yep” and “I told you so.”

graceThe problem for me is that a) I’ve never used a functional programming language, and b) since I tend to think of breaking things down into methods already there is a part of me that sees it as obvious. Yep, the old “I learned it this way so my students should learn it this way” attitude. Now I have an image of Grace Hopper standing next to me with a firm look on her face.

What’s my point? I guess it is that I have to constantly look at what I am doing with a critical eye to what I can do better. I’ve really liked the way I have been teaching methods but I have to ask myself if the design part is coming too slowly should I be doing something different? Darn but this thinking and caring thing is hard.


Tuesday, October 17, 2017

CS Educator Interview: Mike Thompson

I met Mike Thompson (no relation) just recently. He was giving a professional development session on teaching middle school students with AppInventor. I wanted to see how others taught that and I got some very helpful ideas and information from him.

WHERE DO YOU TEACH? WHAT SORT OF SCHOOL IS IT?
I teach Technology Education at Haverhill Cooperative Middle School in North Haverhill NH. It is a 4-8 Public Middle School in a rural district with around 250 students.


HOW DID YOU GET STARTED TEACHING COMPUTER SCIENCE?
My interest in Computer Science started in High School, then continued in college, and has always been some part of my life. Before being a Tech Ed teacher I was a Para Educator, and an enrichment provider with the after school program. I did an Enrichment using Lego Mindstorms, and part of the reason I was asked to apply for the Tech Ed position was the success of that program. As such, it was only natural that I add a heavy amount of Computer Science to my 4-8 curriculum.

DESCRIBE THE COMPUTER SCIENCE CURRICULUM AT YOUR SCHOOL. WHAT COURSES DO YOU HAVE AND WHAT ARE THE FOCUSES OF EACH?
I do all of the computer science here at HCMS, and am happy that 3 of the 5 grade levels I teach are heavily focused on Computer Science, and one other has a slight focus on it. My grade 4 students use Code.org pretty regularly to explore coding, my Grade 5 Students Learn Computer Science through programming Lego Mindstorms, my Grade 6 students continue their study of Lego Mindstorms, and my grade 8 students do Mobile Application Development with App Inventor 2.


WHAT IS YOUR OVERALL TEACHING PHILOSOPHY? PROJECT BASED LEARNING? FLIPPED CLASSROOM? IN SHORT, WHAT MAKES YOUR CS PROGRAM “YOUR CS PROGRAM?”
My program is project based, flipped, and focused on learning by exploration. Typically, I give my students some manner of design challenge, and guide them towards where they can find answers to solve the problem I present. Certainly some items, especially at first need to be given directly, but I find students are more engaged if they need to work for the answers they want. I am also developing some short videos on the basics of Lego Mindstorms Ev3 programming that my students will be able to use as refreshers when they get stuck.

WHAT IS THE BIGGEST CHALLENGE IN TEACHING CS AT YOUR SCHOOL?
The biggest challenge with trying to teach any subject other than Math or English is time. Each year the amount of time I have with my students has been reduced, or changed in a way that makes it difficult to have a rigorous program.

WHAT IS ADMINISTRATION’S SUPPORT (OR LACK OF SUPPORT) LIKE AT YOUR SCHOOL?
At my school the administration give lip service support to our STEM efforts, but continues to reduce class time for STEM. 


HOW DO YOU MEASURE SUCCESS FOR YOUR PROGRAM? FOR YOUR STUDENTS?
I consider my program successful when I see my students engaged in learning. I consider my students successful, when their ability to problem solve increases. I certainly believe that the technology I am using to teach my students is important, as is gaining some level of mastery over that technology. The true measure of my SUCCESS as a teacher however, is my students ability to creatively solve problems in any situation, NOT just in my classroom.

WHAT IS THE ONE THING YOU LIKE TO TALK ABOUT REGARDING YOUR PROGRAM THAT I HAVEN’T ALREADY ASKED?
How do you effectively teach students? By figuring out how they learn.



TELL ME ABOUT YOUR ONLINE PRESENCE (IF ANY)
Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.