Wednesday, November 14, 2018

Post-secondary Cybersecurity Curricular Recommendations

There is more computer science than we could ever cover in grades K-12. So much of it is important and exciting. Every parent open house I get suggestions for what we  should teach in high school. There is no way we can teach it all. There is no way we can do everything in universities either. One other thing is clear, cyber security is growing in importance. While I try to cover a little of it in my courses (easily fits a few classes in several courses) I can’t cover as much as I’d like. My hope is that universities cover a lot more. I think most do.

The ACM and IEEE have just reported out a document to help post-secondary schools design their cybersecurity programs. I haven’t read the whole document yet but I know some of the people involved in writing it  and in the process that goes into creating documents like this. so I am confident in recommending it.

Do you cover cybersecurity in your curriculum? How much do you have time for?


First-Ever Global Curriculum Guidelines Reflect Worldwide Demand for Qualified Professionals and Urgent Industry Needs

After an extensive two-year process, a joint task force led by the Association for Computing Machinery (ACM) and the IEEE Computer Society (IEEE-CS) has released a first-ever set of global curricular recommendations in cybersecurity education. This new set of guidelines, Cybersecurity Education Curriculum (CSEC2017), is designed to be the leading resource for comprehensive cybersecurity curricular content at the post-secondary level. More than 320 advisors drawn from 35 different countries contributed to CSEC2017.

Tuesday, November 13, 2018

Toys or Tools

Are we using toys or tools to teach computers science? The cute little robots for example. Or Micro:bit? or any number of other fun little gadgets that we use to make learning more fun and interesting? Toys or tools? Calling them toys makes them seem frivolous and unimportant. See Merriam-Webster definition of toy which includes “something (such as a preoccupation) that is paltry or trifling” “Tools” implies work or perhaps even not fun. Too serious for some though.

The definition of “toy” also includes “something for a child to play with” Ok, “play” seems a little better than “trifling” but still not so serious. Isn’t school serious business? Yet educators know that play is the way children, especially little children learn. And we’ve know this for a long time.

“The most effective kind of education is that a child should play amongst lovely things.” ~ Plato

I had a related conversation with my programming students the other day. I asked who needed more time to finish a project. A student replied “Everyone but the students who actually write programs for fun.” I do have a couple of those. I tend to see one or two and sometimes three in a course.

The students who find the fun in the course are the ones who do the best. They learn the most. They learn the fastest. And they create the most interesting projects. There may not be a coding gene (as Mark Guzdial insists and backs up with research) but some students sure do seem to find coding more fun than others. As a teacher I do try to make it fun for as many as possible.

My experience tells me (not research so doesn’t count for much perhaps) that students who enjoy their projects learn more and do better at coding. Calling the tools we use to make things more interesting “toys” or “tools” doesn’t change that they make things more fun and interesting. Words may bias people so we should be careful how we use them. Perhaps we tell the funding people they are tools. And maybe we say the same to parents. Calling them “toys” will lower stress for some students and cause others to take things less seriously. It can be a tough call.

Among ourselves (educators) we can call them toys because we understand that toys and play are the tools of learning.  For the most part I think we should avoid categorizing them as either tools or toys. There is too much emotional baggage about both of those words. Let’s try to avoid broad characterizations completely and just call them what they are: computers, robots, sensors, or what ever.

Remember fun is good even when it looks like work to someone else.


FWIW I found that Plato quote at Child’s Play Magazines Quotes about play Lots of great ones to choose from.

Some of the web most things on the Internet are blogs. This post is inspired by a post from Doug Peterson (as many are) that quotes and links to another blog. Specifically Doug’s Toys or Tools post that links to Tim King’s ECOO BIT18: Reductionism and Ignorance in Educational Technology post. Both posts are worth a read.

Monday, November 12, 2018

Guest Hosting a TweetMeet on CS and Hour of Code #MSFTEduChat

Computer Science Education week is fast approaching. It's a big week and one of the big activities for a lot of teachers, students, and schools is the Hour of Code. Microsoft Education is running a Twitter chat or Tweet Meet on the topic and I was asked to be one of the guest hosts. It should be very interesting with a lot of international flavor.

Save the date - Nov 20
Quite an interesting line up of international teachers co-hosting across time zones, national borders, and languages. I hope you’ll join us.

Combined headshot

More information at https://educationblog.microsoft.com/2018/11/tweetmeet-computer-science-msfteduchat/ 

Friday, November 09, 2018

How Do We Define a Successful High School Computer Science Program?

Mark Guzdial has an interesting post asking When do we know that a programming course is not working for non-CS majors? The focus of the post is undergraduate level computer science courses. Can universities create CS courses that work for CS majors and non-CS Majors at the same time. It’s an important question for universities who are faced with more and more CS students and having trouble hiring enough faculty. We face some similar questions in secondary school computer science.

In secondary schools we don’t really have majors and we don’t have a way to identify CS majors. So all of our courses have students who may or may not major in computer science when they get to university. We not only have to ask if our courses are working for future CS majors and for students moving into other majors. Do we even know what “working” means in the secondary school environment?

Is a first course working if enrollment is up in more advanced courses? If enrollment does not go up does that mean the first course is not working or are their systemic reasons like guidance pushing students to more world language or other sciences? Or perhaps scheduling problems with too many interesting electives and to few open slots in the schedule?

Are our courses working or failing based on the number of students who do go on to major in CS? Or is that not a good measure because a lot of people in other majors are likely to need CS. More and more math and science courses make use of programming for example.

Generally it is very hard to collect data about our students once they graduate. I need to think on this some more but I am hoping some of you, my readers, have some thoughts on the matter. We probably need some answers as we work to convince more schools to offer CS. Administrators will likely want to know how we know we are teaching the right things the right way.

Tuesday, November 06, 2018

Teaching Computer Science Teachers to Teach CS

My teaching style, especially in the first years, was greatly influenced by the man who taught me computer science. A wonderful man who really instilled a love for CS and a lot of knowledge. We didn’t know a lot about teaching CS or programming45 years ago. In fact I think we were really just starting to figure programming out. How to teach it was almost a black art.

Most teachers tend to teach the way they learned. It worked for them after all. Today though we know more about how to teach CS. Not enough but at least there is progress. Thus brings us to how to teach the people who will teach computer science in K-12.

There are two things future CS teachers need. Content knowledge and knowledge of how to teach CS. Many universities are asking CS faculty to teach the content. My big concern here is that I want teachers to be taught by people who model best teaching practices.  Almost every teacher I know has been in a professional development session about how to teach run by a presenter who didn’t model what they were teaching. It’s not going to be enough to have classes that teach how to teach if content providers don’t model that techniques.

A lot of universities are going to struggle to find such a person. Oh sure their research professors have great content knowledge but teaching to an auditorium of 300 university students is not the same as a class of 15 to 30 high school students. And grades k-3? Not sure many university faculty are ready to teach CS to little kids or to future kindergarten teachers for that matter. (Note that I love and respect kindergarten teachers. My daughter in law and my cousin both teach kindergarten.)

One would like to think that teaching professors, either special role at large institutions, or regular faculty at liberal arts and smaller institutions would be better models. Are they? Surely many are. But many educators don’t adopt research based teaching methods for teaching CS. (Mark Guzdial has written about this several times. For example here) How many university CS faculty know about things like subgoal labeling, and  Parsons problems?

What we need are CS educators to teach pre-service teachers using the methods that we know can improve teaching. That’s going to be tough for a while.

One suggestion that has been made (credit Mike Zamansky) is having current high school teachers teach pre-service teachers. The idea being that they know well how to teach younger students.  Not a totally bad idea especially if those teachers have taken advantage of changes in what we know about teaching CS either from their own experience or from additional study or both. Politics at universities may make that troublesome. And if you think school teachers are underpaid look into how adjunct faculty are compensated sometime. Ouch!

What is going to happen is that some schools of education will do it right. For some definition of right. Those schools will take preparing CS teachers seriously and make it a priority to get good faculty, using current methods, and probably doing CS ED research themselves. The teachers they graduate will be in high demand and attract more students. Those universities will (one hopes) be emulated by others as the demand for well-prepared CS teachers grows.

I can’t wait to see which universities make this a priority and set the standard for the rest. No, really, I can’t wait.

Monday, November 05, 2018

Programming Projects Should Be Personal

I’m always looking for new projects. I find them in the strangest places. Facebook for one. And some not so strange places. The AP CS Principles curriculum from code.org has lead me to several. Most recently, the unit on data and privacy took my class and me to the Data Privacy Lab at Harvard

imageThe site has two sections, one looks at your browser history and the other looks at some of your demographic data to see how identifiable you are. One enters imagetheir zip code, birthday, and  gender. The system looks at census data. and shows you how identifiable you are from that limited data set.


Well that is interest but where is the project you hint at in the title of the post. Ah, good question. Since this is a tool based at Harvard you can also see how unique you would be at Harvard. This suggested to me that looking at data from the school were I teach might be more interesting to my students. I asked my Director of IT (have I bragged about how awesome tech support is at my school lately) and a short time later I had a nice comma separated list of gender, birthday, and zip code for all of the students. No more personally identifiable information than that. image

A little bit of coding and I had my own data tool.

That’s when I decided that I had a possible assignment for my students.

I think that students are more interested in projects that are personal to them. Looking at data from Harvard, as fascinating as that could be, is probably not as appealing to a student as data from their own school. They should be able to find themselves in the data. I hope they’ll want to see what they have in common with others in the school.

Now I could assign all of my students the same project. That is what I usually do. I’ve been wanting more variety though. I don’t want one student to solve the project and just share it with their neighbors. A little help, a few pointers, that’s ok but not the whole thing.

For this exercise I decided to try something new (to me at least) and offer a lot of options. They’re all the same basic logic and require the same basic “tools” but there are enough different to confuse a student who copies without understanding. At least I hope that is the case. So I gave options:

  • How many males is a particular zip code
  • How many females in a particular zip code
  • How many males born is a specific month
  • How many females born in a specific month
  • How many males born is a specific year
  • How many females born in a specific month
  • How many people from a specific zip code were born in a specific month
  • How many people from a specific zip code were born is a specific year
  • How many people were born on a specific day (same exact day, month, and year)
  • What percentage of students are male and female
  • Which zip code has the most people (this is a tougher one for people who like a challenge)

None of this is hard (although one of my students insists I am not allowed to say anything is easy) but I just want them to have a little practice problem solving with arrays before we move on to a new topic. I am not allowing students who sit together to do the same exercise. Eventually I want to assign everyone their own unique variation. IF this works out I will start trying to think of similar little exercises that can be just different enough for each student that they have to think on their own.

Anyone else do this sort of thing? Does it work for you? Does it just sound crazy? Yeah, grading will be interesting. Any other concerns?

Friday, November 02, 2018

Propose a Presentation for the CSTA Annual Conference 2019

CSTA just announced the Call for Proposals. for the CSTA Annual Conference just days after I blogged (Getting Computer Science Teachers To The Next Level ) that people who help others develop as CS teachers. Coincidence? Actually, yes, but who cares. Now Doug Bergman has a very nice blog post about why you should submit a proposal on the CSTA Blog. It’s all good stuff and all true. You know I have to add my two cents though right?

Presenting at a conference like CSTA is a great way to make a contribution to the greater computer science education community. Making a difference is why we teach isn’t it? A conference like CSTA is an opportunity to expand our reach and make a difference beyond the walls of our own school or the boundaries of our own districts.

We all have idea and we all try different things. Some of them work. Some of them don’t work. We learn and go forward regardless. There is a saying that anyone can learn from their own mistakes but the really smart people learn from other people’s mistakes. Conferences are a chance for people to learn from the mistakes of others.

I have known a lot of amazing teachers who say “but I’m not good enough” or “my ideas are nothing special.” Yes, the imposter syndrome is strong in many of us. If something works in your classroom than you have a success story to share. If A project, a role play, a lesson plan, a tool you have made, adapted, or explored has made a difference in your teaching practice you have something to share. Few of us use nothing but canned scripts.

The audience at the CSTA conference is very warm, friendly, and supportive. People are their to learn and share ideas not to be critical of others.  Sure you’ll get questions and you will probably get suggestions as well. A good speaker presents to learn as well as to teach. Presenting at CSTA will make you a better teacher. You’ll get as much (if not more) than you give.