Thursday, June 30, 2016

Interesting Projects Funded by SIGCSE

Earlier this week I received email about several grants that SIGCSE has awarded. I think they look pretty interesting. I’m especially excited about the first one. Making coding accessible to everyone is important.


The SIGCSE Board is pleased to announce three recent SIGCSE Special Projects grant awards. 

  • Making Block Languages Accessible
  • Richard E. Ladner
  • University of Washington

Block languages such as Scratch, Snap!, Alice, Blockly, App Inventor, ScratchJr, and others, have opened up programming and problem solving to millions of children worldwide.  This project will make block languages accessible to blind children so they can have the same opportunities as their sighted peers.   Most blind children in the US are already familiar with smartphones and tablets including the gestures used to navigate and spatially understand what is on a touchscreen. This project will extend the open source Blockly language by building on touchscreen phone applications. 

  • The Dawn of Computing: Charles Babbage and the Difference Engine
  • Mark M. Meysenburg
  • Doane University

Dr. Meysenburg will create a Reacting to the Past role-playing game, "The Dawn of Computing: Charles Babbage and the Difference Engine," regarding British polymath Charles Babbage and his quest to build his difference engine. The game can be used in general-audience first-year seminar courses, to encourage students to study computing.  Reacting to the Past games revolve around debate, with groups of students divided into factions aligned to different sides of the issue at hand.  The central issue at stake in “The Dawn of Computing: Charles Babbage and the Difference Engine” will be whether or not Babbage should be awarded funds from the British government for the development of the difference engine, first in 1823 and then in an ongoing manner. The outcome will be in the hands of the students.

  • A Tutoring System for Red Black Trees
  • Chun Wai Liew
  • Lafayette College

A web based tutoring system will be developed to help students learn top-down insertion and deletion algorithms in balanced trees, specifically in red-black trees.  The tutoring system will help students recognize the preconditions for single and double rotation transformations.  The system will allow instructors to provide problems and will automatically generate solution paths.

Sunday, June 26, 2016

Microsoft US MIE Forum 2016–Day 2

Day two started with a keynote by Stephen Reid about game playing in education. It was very interesting and he showed samples of a lot of games. He spent the most time on Minecraft. It does seems like some interesting cross curriculum things are going on in classrooms using Minecraft. I’m waiting for them to reopen modding for us in CS classes though.

The rest of the morning was concurrent sessions with teachers talking about how the are using various technology in their schools. I attended one session on Microsoft Classroom. It is a basic learning management system that works well with Office 365 and several student information systems. Well worth looking into if you are in the market for an LMS. It has some very nice features and they are building it up with teacher feedback.

Next I attended a talk by Melanie Wiscount about flipped classrooms. I learned a bunch and she shared her presentation Sway at  Flipped Learning Sway One key take away was that flipping is not always a daily thing. I felt validated in my thoughts of using it occasionally. You can see the lists of tools she uses on that Sway. Sway is pretty cool as well. I need to learn more about using it.

WP_20160626_008I skipped the third breakouts because I got the chance to try out Doug Bergman’s HoloLens. The first picture is a close up of the device on Doug. Its basically a Windows 10 computer with two screens as a wearable device. It feels very light and one almost forgets the are wearing it as they get involved in the experience. WP_20160626_007

In this next picture I am wearing the HoloLens and interacting with a virtual shark floating in space. My mind was racing with ideas for using this in education. Virtual reality looks to be huge and I hope education gets out in front of it and takes advantage of it. It is too powerful to be limited to games and entertainment.

Doug has students writing code for it BTW. It’s fairly advanced programming though so we’ll see where development takes place going forward.

The afternoon started with some classroom hacks – useful suggestions and information from teachers. I saw some really cool things to do with pens on Surfaces. I’ll play with that at home and write more on that. Also cool was how to create custom ribbon tabs for Office applications. I’ve started to create one for myself to make it easier to get to the things I use most. But the suggestion was also made that a teacher could make a simple custom ribbon for students. I can see this being very useful for young students, special needs students, or any student who might be overwhelmed by the full blown ribbons that come standard.

The closing presentation was by Mike Tholfsen who is from the OneNote team at Microsoft. He talked about  OneNote Class Notebooks.  I really need to get my school using Office 365 so I can take full advantage of this tool.

It’s been a great event. Microsoft makes all the teachers feel appreciated and important. I hope I can come to more in the future.

If you are interested in being a part of this program Nominations for the 2016-17 global Microsoft Innovative Educator Expert program are open! Learn more: http://msft.it/6010Btfn8

Here is the group picture from this weekend’s event.

MIE Expert photo

See also Microsoft US MIE Forum 2016–Day 1

Microsoft US MIE Forum 2016–Day 1

I’m in Denver for the Microsoft Innovative Educator Expert Forum this weekend. I’ve spent some time at these events in the past but those times I was there as a Microsoft employee. This time I am there as one of the teachers selected to participate. It feels really different. Not better or worse – just different. Having been before I know what amazing teachers are invited so I’m really honored to have been invited as a teacher.

It’s quite an event with 101 teachers from all over the country here to share ideas and learn from each other. And from Microsoft of course but most of the presentations are teachers who are working in the classroom.That makes for some real authenticity.

Anthony Salcito,vice president of Worldwide Education at Microsoft, gave the opening keynote. Anthony and I have talked a bunch over the years when I was at Microsoft and since. He really impresses me with as having a real interest in making education work better and not just selling stuff to schools. In his keynote he talked about needing to “go beyond digitalization.” That is to say we should not be doing the same old things with new tools but we should be using tools in innovative ways to change the way we teach. That is something one hears from a lot of teachers who want to really shake things up in education. Microsoft seems pretty serious about making tools that help teach better and differently.

imageThere were a number of short flash talks from teachers. My friend Doug Bergman gave one representing the computer science teachers. He talked about the need for more people who think like computer scientists. He thinks we need to get more people not just into CS majors but CS minors. Given how important CS is in so many fields I think he is right about that.

He also made an impassioned plea for “no more meaningless projects” As more and more schools and districts start requiring more CS this plea is critical. We have to avoid turning off students who sign up for courses that are required and which they don’t start with an interest. CS is fun and exciting. We need to teach it that way.

There was a lot more to the day of course. All of the teachers prepared poster sessions and I saw a lot of interesting things. Much of it for younger grades. And Doug showed off his HoloLens. But these are some of the highlights for me.

Wednesday, June 22, 2016

Do We Teach Design for Everyone?

Summer is a time for me to think about how I want to teach better in the next school year. I’m always looking for ideas about this and recently came across this post about Designing Games for Everyone at Microsoft. Now I’ve been thinking about this for a while as part of my involvement with the K12 Computer Science Framework (see k12cs.org) as this issue is a big one for us. It’s being covered in the principles section.

I’ve been thinking about how I teach this in my courses. Of course when we talk about web design and HTML I make a big thing about using the alt tag for images. I talk about why that is so important. And several places in my freshmen course we talk about color choices. Many students have no idea about various color blindness unless we talk about it in class.

I’ve thought about a unit on accessibility but at the same time I wonder if teaching it in context, integrated with other discussions, might not be the best way to do it.

While I’m thinking about this accessibility (dealing with people who have different abilities) is not the only thing to talk about when discussing designing for everyone. There are also cultural issues. Race, color, national origin, and more. This shows up in little things that can mean a lot. For example a shortage of female emojis. (See Google proposes new set of female emojis to promote equality ) Why were they not their from the beginning? Now isn’t that an interesting topic for discussion!

We need our students to think about these things and more. Inclusivity has to be designed in to our software. It can’t be an add on for later. Teachers need to help students see this before they develop bad habits. Doing this better is a goal for me for next year. I’m looking for resources over the summer. Suggestions anyone?

Tuesday, June 21, 2016

Better Comments in Visual Studio

Thanks to Channel 9 I found an interesting extension for Visual Studio called Better Comments.

"Better Comments is a Visual Studio extension that gives you the ability to customize the font and opacity of your comments independently of the editor's font settings. It also adds four additional comment classifications, each classification with its own customizable foreground."

What I m thinking is that I will use it two ways. One is to highlight TODO items in starter projects that I supply for students. The different colors and fonts should make things stick out more.

The second way is when I review student's code online. I figure that the question type will make it more apparent with I want to ask questions about their code in their code. When I see code that should be deleted using the cross out comment will be more clear as to why I have commented something out. I'll use the important type to make sure they see specific hints and suggestions.

Anyone else using this or something like it?

Monday, June 20, 2016

Interesting Links 20 June 2016

I think my brain shut down when I left school last Monday to start the summer break. While I got a lot of personal business done last week my mind was really not on computer science. Oh I collected some good links (shared below) but I didn’t have much to say myself. So I didn’t say much in this blog. Maybe I’ll get on track this week. In the mean time check out the links to people who were thinking CS.

Learn to Program with Small Basic” a Book Review by Middle School Teacher, Martin Fish. I plan to do my own review soon.

Doug Peterson writes A colourful post  to introduce the RGBChallenge. That’s a fun little game to help learn the numeric representation of colors (or as my Canadian friend spells it colours)

Why Aren’t There Simple Programming Languages?   Maybe there are though. I think some block programming languages may fit the bill. I found the ideas interesting anyway.

Mark Guzdial talks about Five Principles for Programming Languages for Learners in one of his posts. His is based on research though so I take it very seriously.

Getting closer to "all" in #CSforAll: Instructional supports for students with disabilities in K-5 computer science covers an important topic that we really don’t know enough about. He has a link to some of the work by Maya Israel in this area.

Apple, Microsoft and Google race to introduce your kid to coding from CNet. I think Apple is coming late to the game and the Swift based tool is not available until the fall. One would have thought they would have wanted it available for teachers to try it out over the summer.

Microsoft MIE Teacher Academy Trainings  some online  PD for teachers

Having a PLN – Professional Learning Network – another great post by Doug Peterson. 

Monday, June 13, 2016

Interesting Links 13 June 2016

School is out for the summer! Well it is for me as of noon today. Teacher wrap up but my grades are in and my room is cleaned up for the summer. Looking forward to some time off mixed in with a bunch of summer professional development. Hope you are ready for the same. Here are a few links that may help with the PD.

I added the Mirobot to my list of robots for learning to program. It’s a kit that is Arduino compatible. Looks interesting.

I added Thunkable to my list of block programming tools. It’s based on AppInventor but they are working on supporting iOS which would be cool.

Do you teach Lego Mindstorms EV3? Take it to the next level! Small Basic has the tools for it.

Looking for some summer learning? 6 Summer Reads That Will Teach You—and Your Students—How to Code via @EdSurge

Don’t forget that the Final Review of the K-12 CS Framework is Now Open

Microsoft is giving Minecraft to schools for free -- here's why via @CNNMoney

K-12 Computer Science Education: U.S. State Reports from Google They looked at 11 states and found some interesting things out.

The programming guild doesn't want you to learn to code by Mark Guzdial. I think he is right and that there is a lot of fear behind the resistance of some software people to see CS expanding in schools. 

On a related note is Coding snobs are not helping our children prepare for the future

Saturday, June 11, 2016

Computer Science Because Students Like It

Code.org posted this image of the class students like the most on their blog.

image

The full survey data is on slide 48 of this PowerPoint from the researchers who did the survey.

There is a lot of detail in the referenced PowerPoint but this is certainly an interesting  table. I’ve already seen a lot of discussion of it on Facebook. Being computer science people there are a lot of questions about what it means. The first one being is this result because CS is usually an elective and so we have self-selecting population? A close look at the dats suggests not. Why? Well AP CS scores higher than other AP courses and AP courses are generally filled with students who have an interest in the subject.

Still it would benefit us who teach CS to keep the required CS courses, which are coming more common, interesting. Looking at the courses with more or similar percentages of students who like them the ,most they al involve creativity. That suggests we need to make sure we make our classes as creative as possible.

Of course I think CS is inherently creative and fun. That’s why I have been involved in it for so long. As teachers we needed share that with our students. Cookie cutter assignments were every solution looks the same are not going to cut it with students. No matter how easy they are for teachers to grade. Let’s not teach the fun out of computer science.

Thursday, June 09, 2016

The Final Review of the K-12 CS Framework Now Open

Good stuff here. We really need a good review of this framework to make sure it is as good as it can be.


The ACM, CSTA, Code.org, CIC, and NMSI, along with lead states, districts, writers, and advisors, welcome you to engage in the third and final public review of the K-12 Computer Science framework. This review period began on June 8 and will close at 11:59 pm PT on June 29. Review a part or the whole - anything helps! The CSTA standards use the K-12 CS framework as an input.

The goal of the K-12 CS Framework is to describe a foundation for what all students need to know and be able to do in computer science. Instructions for individuals and facilitators of group reviews, an online review submission form, the review draft, and background materials are now available at http://K12cs.org/review.

  • To provide an effective review of the framework draft, please read the about, FAQ, and the annotated presentation at K12cs.org

  • Watch the review period launch webinar recording on the review page. Learn about the development of the framework and how to provide an effective review.

  • All of the comments from the March 18 - April 5 review period were considered and the writers are still working to incorporate the feedback. Check out the April blog post for information on revisions.

Visit http://K12cs.org/review to start the review process and sign up for updates!

~ Pat Yongpradit, on behalf of the K-12 CS Framework project

Monday, June 06, 2016

Interesting Links 6 June 2016

Sorry there was no interesting links post last week. Long story – feel free to ask me about it if you run into me in person this summer. In any case I am back on track and hope to be more regular going forward. Perhaps a little slower in the summer but we’ll see. This time next week my school has its final day for teachers and then summer starts. My summer is packed with professional development so I hope to still have good things to share. Links below are from the last two weeks.

Check out BBC-Microbit and Kodu integration - now, even more fun ways to use Kodu!

New from Barbie Careers - Game Developer Doll Barbie – I’m not sure how I feel about this. Women I know have been buying them and sharing the link though. Some people are buying them to use as conversation starters about the role of women in game development.

Creating AR and VR Apps on Windows – I need to spend some time with this over the summer. Virtual Reality and Augmented  Reality should be a game changer for a lot of games. And not just the kind you play.

Anyone can now buy a BBC micro:bit Or at least order them. I’ve used this link for BBC Micro:Bit & accessories

9 Raspberry Pi Projects For Your Summer Vacation from InformationWeek. I really need to do something with the Pis I have this summer. Speaking of the Raspberry Pi - there is now GoPiGo a robot car built around a Raspberry Pi. Looks cool if a bit pricy

Nominations for 2016-17 Microsoft Innovative Educator program now open! Its a good opportunity to network with peers and learn about what Microsoft is developing for education.

R

Microsoft and Facebook to build subsea cable across Atlantic   Do students understand why this is happening? A good conversation started about the economics of the Internet.

Minecraft Education Edition beta goes live (for schools only) Anyone using it?

What do you think? Too young?

Friday, June 03, 2016

Helping Students Debug Code

It is final project time for my programming students. They are working on projects to show me what they have learned. They are very clever these kids. So clever that sometimes they can’t figure out what the did wrong. That’s were they need me. It’s so good to be needed.

Now there are two basic types of problems. One is syntax problems. The other is logic problems. You’d think they’d be easy to find and fix for an experienced coder like myself. In most cases you would be right. But not it all cases. As I said these kids are clever. They figure things out that I would never ever do. For example they delete things because “I didn’t know what it was for” that the system added automatically and that it needs. I’ve seen a lot of those so in many cases the fix is easy.

In other cases they do something that is new to me. In other cases there are hard to find errors. Missing or extra semi colons are common. At least Visual Studio helps me find some of those. Today a student had a bunch of errors that showed up because a they left a parameter out of a method call. The error messages were no help at all. But experience sure helps.BTW I always make students watch me debug so they can learn how its done. That may be on of the more useful things in the course.

The hardest part of helping students with logic problems is understanding what they are trying to do. I suppose that it is not surprising that they have trouble explaining it to the computer when they have trouble explaining it to another person. This process of thinking about a problem and developing a clear description of what is to be done is hard. They have this idea in their heads but getting it out in a way that doesn’t include magic can be hard. I need to figure out how the help them do this better.

Sometimes students start by asking me the wrong questions. They ask “how do I do [such and such]” referring to a code structure, an object, or some other feature of the libraries or language. Somehow they have decided that will do what they want if only they figure out how it works. Sometimes they are right but not always. Generally I have to ask them what problem they are trying to solve. Often this means I suggest some other way to solve the issue.

This is the old “if all you have is a hammer all your problems look like nails” problem. Students can’t learn everything about a language and its libraries in a few weeks so they try to make all their problems fit the tools they have learned. While I try to assign projects they can do with only the tools that have been covered in class when final projects come around and they have more choices things get different quickly. I think that maybe half the good learning comes in the last week of school when they work on these projects.

Next week the projects have to be done and I get to grade them. I expect to learn a few things in the process. Hopefully my students do as well.

Friday, May 27, 2016

You’re the Variable

One of my big goals this year has been to make my classes more interactive. I want to get kids involved and not be just passive listeners. Surprisingly students seem resistant to participate. They like sitting back and pretending to pay attention. That's not very good for learning though. Yesterday I tried something different. I’d like to say it was well planned and laid out in advance but it wasn’t. It sort of just happened. But it worked out well so I thought I would share it. Maybe someone can help me make it better for next year.

So hear is the set up. We have about two weeks left to the school year and I’ve been introducing my freshmen to coding. Lately we have been discussing loops.  My idea was some code that simulated a horse race multiple times while counting which horse won the most times. I decide to talk about coin flipping first.

I assigned four roles for students:

  • A student to flip coins and report heads or tails.
  • A student to count how many flips happened and call stop after the 10th flip
  • A student to keep track of heads
  • A student to keep track of tails

We ran through several iterations of students flipping coins and having my “variables” report results.

Next we wrote some code together during which I made frequent references to the initial people based “code.” We translated the various student roles into variables, actions (like flipping and counting the for loop), and let’s not forget displaying results. It seemed to work well as the level of involvement in creating the code was up from usual. We’ll see about retention today but I am hopeful. I want to find more ways to do similar things. Suggestions anyone?

Wednesday, May 25, 2016

You’re Having Fun Wrong #CSforAll

In several episodes of the comedy TV show “The Big Bang Theory”, Sheldon, the main character, complains that people are “having fun wrong.” What he means of course is that they are not doing what he thinks of as fun. We see that sort of thing a lot these days. “You’re not using Twitter right” or “You’re not using Facebook right” or today I read “American schools are teaching our kids how to code all wrong” The author of that article suggests strongly that the courses and curriculum their company sell are doing it right of course. It’s everyone else who is doing it wrong.

The article above takes particular aim at drag and drop programming in general and code.org materials in specific. I don’t think either criticism is really fair. Drag and drop programming languages are being very effectively used to teach real computer science concepts as well as programming. Even Harvard’s famous CS50 course starts with Scratch! The author of that article makes it seem as though short exercises like those for Hour of Code are all that code.org is producing. That is far from the case. They are producing a wide range of curriculum for a wide range of age groups. Much of this is very extensive and goes into a lot of detail and complexity.

I think that what bothers me the most about that article is the implication that it is addressing US computer science education in total or at least in large part. That is also not the case. Just the two Advanced Placement courses have multiple popular curricula many of which don’t use any drag and drop tools at all. Certainly the APCS A course is Java all the way. We teach three text based programming languages at my school and last I checked we were an American school.

This is typical of the naysaying I have been reading about the CS for All movement that is getting so much attention. People keep saying “but they’ll do it wrong!” as if that is a reason to keep computer science for some small subset of people where it can be done “right” for their specific definition of “right.”

There seems to be a fear that CS for All means we will wind up with a lot of people just doing some simple stuff like a short experience with block or tile programming and call it computer science. I don’t think anyone pushing CS for All wants that. I’ve talked to enough people at code.org to know they don’t want that. No one I know involved with CSTA wants that. In fact I don’t know anyone at all who wants that.

People don’t really trust government to do the right thing with regards to CS education. I get that. But that doesn’t mean we don’t try to develop programs of CS education for everyone. There are lots of ways to teach CS. No one way is best for every student, every school, or every teacher.

We are fortunate that there are a lot of different ways to teach CS these days. From CS Unplugged (no computers necessary) to block and tile languages to fun little devices like the BBC Micro:Bit and Ozobots to easy to use Integrated development environments to old fashioned text editors and command line compilers. We can teach CS to everyone. We may not bring everyone up to a professional level but we don’t do that in any other subject we teach in school either. Differences in depth, breath, and mastery are fine. But everyone should have a chance to learn computer science. Even if they don’t have fun with it the way you have fun with it.

Tuesday, May 24, 2016

Practices and Concepts in Computer Science Education

Work on a framework for computer science education in grades Kindergarten through grade 12 continues with many of the writers and advisors meeting over the past few days in New Orleans. It is somewhat humbling to be involved as some of the smartest most involved people I know of in CS education are working on this project. It’s also forced me to think a lot about my own teaching.

The framework includes concepts that every student should learn as well as practices they should develop. My role is focused on writing about practices so that has taken up a lot of my thinking time. One of the things I think about is how do or perhaps can what we teach in CS can contribute to learning and development more generally. We know that, much as we’d like to believe that teaching CS transfers automatically to problem solving generally that is not the case.

Can we do things that make some transfer happen though? I’d like to think so. As I look through the practices we have been describing in the framework I see a lot of what I think of as problem solving techniques and practices.

I think we can teach problem solving and that it can be a part of teaching computer science. Too often I think we get hung up on teaching how to program by which I mean things like syntax and basic concepts of programming languages. Of course we need to teach those things but that is really the easy part. The hard part is teaching students how to apply these concepts. We can give students step by step instructions and they can create working programs. Do they learn from this? Probably. A lot of textbooks take this approach. But at the same time too much and too detailed instructions also remove the need for creative thought or problem solving.

Done right computing is a creative endeavor. And of course we often want to use computing to solve real work problems. Are creating thinking and problem solving unique to computing? Obviously not. I don’t think we can expect transfer to occur automatically because we have research that shows that it doesn’t. But perhaps we can teach things in a way to help some transfer along. Helping students learn good practices along with good concepts should be a step in the right direction. Right?

BTW the next formal review period for the K12 CS Framework starts on June 8th and you can sign up for updates. We really need full community involvement to make sure this work is as good as it can be.

Monday, May 23, 2016

Interesting Links 23 June 2016

It’s getting to be the end of the school year. I know teachers who are finished already and others who finish up this week. I have about three weeks to go. Trying to keep up the energy level at this time of year can be tough but I think most teachers are managing ok. Thinking ahead to the summer helps. Lots of professional development in my summer plans. How about for you?

The nation’s largest school districts are rushing to fill the coding gap via @NewsHour Seems like a lot of stories like this one are appearing all the time. It makes one wonder about the small school districts though.

Montana is full of small districts and at least some people are talking about CS for All there - Candidates push computer science training in Montana

mlbgame is a Python API to retrieve and read MLB GameDay XML data.  If you are teaching with Python and looking for projects this might be something you can use.

“‘Eat, sleep, code, repeat’ is such bullshit” by @dankim We need students to realize that having a life is a good thing for software developers and computer scientists. Because it is!

Shark Tank is back! This time we'll focus on coding with featured sharks @alfredtwo, @ed_saber & @kburtonr This will be a webcast focusing on some educational apps that teach computer science. Should be fun to be a part of.

  Girls Explain How Boobs, Menstruation and More Keep Them From Coding in Satirical Campaign Women I know are sharing these videos like crazy. They make me a little uncomfortable. Because I am a man of a certain age? Probably.

Starting out with the BBC Micro:Bit. @mashable shows how to build a metronome with one

Nine amazing BBC micro:bit projects. From rocket cars to score predictors. Just in case you were wondering what else these little devices could be used for.

Speaking of the Micro:Bit, Is anyone else looking at the MI:power board for the BBC micro:bit? It uses a coin type battery to power the Micro:Bit. It looks like it might make some Maker projects easier. I bought one but it came just before I went out of town so I haven't tried it yet. Note: It cost a lot more to have it sent to the US from the UK than to buy it.

They actually have a bunch of other accessories that I just noticed while getting this post ready. This may cost me some money.

Computer Science Education Blog Roll – I added @MrAColley to the list

Microsoft Research is seeking interns to help them reveal how Minecraft can be used as a testing ground for AI This is based in the United Kingdom. Not everything at MSR is in the US.

Tuesday, May 17, 2016

Cyber Teacher Certificate Program Available for CSTA Members

Cybersecurity is an area of computing that is getting a lot of attention these days. I am regularly asked about it by prospective parents and students which is a big indication of interest lately. Not many teachers are really ready to teach it well though. I include myself in that mix. So this announcement from the Computer Science Teachers Association is timely and valuable.


The Computer Science Teachers Association, in partnership with LifeJourney, the leader in cybersecurity and STEM online career exploration, recently announced the launch of a strategic professional development program to better equip educators for teaching cybersecurity in the classroom and thus positively impact the nation's cyber skills gap. The CSTA program is called the Cyber Teacher Certificate professional development program.

"I strongly encourage all educators in our membership to register for and complete the Cyber Teacher Certificate program," said Dr. Mark Nelson, Executive Director of CSTA. "CSTA suggests that all members should make it a priority for professional development in 2016."

Register for the Cyber Teacher Program Now

Demand for cybersecurity professionals is growing twelve times faster than the overall job market, while at the same time, with student interest in cybersecurity surging, more than 64% of Millennials say their educational institution does not have courses that would allow them to explore their interest in cyber.  

The Cyber Teacher PD Certificate Program includes:

  • An online cybersecurity mentorship platform (the NSA Day of Cyber) that teachers run in the classroom, featuring NSA cybersecurity leaders as role models to the the nation's students. 
  • Eight (8) hours of documented Continuing Education Units (CEUs) endorsed by the Computer Science Teachers Association, the recognized leader in offering current and relevant professional development content for computer science teachers.
  • Training and mastery of "Fundamentals of Cyber", an online course utilizing revolutionary adaptive learning techniques.
  • Ability to easily extend your cybersecurity syllabus beyond the NSA Day Of Cyber classroom experience. Each mentor in the NSA Day Of Cyber is matched with corresponding lesson plans exemplifying the skills necessary for students to pursue the spotlighted careers.
  • Ability to take the instructional Cyber Teacher Journey and see how others are using NSA Day Of Cyber and training materials in the classroom.
  • Membership in the Cyber Teacher Association, the most important new association for educators united in creating the next Cyber Generation. Enjoy membership and collaboration in a community of your cyber educator peers.

The Cyber Teacher Certificate Program is NOW Available for CSTA Members

Members can register for the Cyber Teacher Certificate program here where they can review the program and learn more about it. The fee can be submitted by teachers as a reimbursable expense for professional development per the policies of individual school districts. 

The Cyber Teacher Certificate Program is a helpful proof-of-concept for our CPD Pipeline model.  With this type of novel approach to teacher PD we can better support more teachers, further strengthening the overall K-12 CS ecosystem and ensuring better access to quality CS education for all kids.

Read press coverage of CSTA's launch of the Cyber Teacher Certificate program at this link.

*At this time, this program is only available in the US. An international version will be available later this year and we will advise you when it is available.

Cyber Teacher Logo

Monday, May 16, 2016

Interesting Links 16 May 2016

Well I’m late with this. Usually I write these us Sunday night but last night I was just exhausted. Not in a bad way - just tired. That happens when you have a good weekend sometimes. If you missed an expected morning read I apologize. But better late than never here are the links I collected over that last week.

.@MrAColley a Lead Practitioner of Computing, ICT and T&L  blogs about The BBC micro:bit and shares his resources. I’m starting to see more and more from teachers using this little device with students. Let me know if there is someone you know (you perhaps) with things to share.

Congratulations to Chris Stephenson founding Exec Director of the Computer Science Teachers Association and now Computer Science Education person at Google for winning the ACM President’s Award for service to CS education.

Scratch is the new PowerPoint subtitled (or 'why I am annoyed with free educational software') is an interesting look at educational software by a teacher and Chair of computing at a school in the UK.

Should We Teach HTML? This common question is taken on by Mike @zamansky As often happens there is some interesting discussion in the comments.

It's Official: 'Brogrammer' Culture Is Driving Women Out of STEM Jobs documentation for things most of us already knew.

Some interesting things from Microsoft this week as well.

Tuesday, May 10, 2016

Copying Code–Steal from the Best

Not every coding mistake makes it into the news but one did recently which carries a cautionary message for students (and others who code.) Nissan app developer busted for copying code from Stack Overflow  It’s funny in a way. It’s not so gunny in other ways.

Long story short, a developer copied some code from the website Stack Overflow where many developers help out with code samples, hints, tricks and other information. It’s likely no one would have noticed if they hadn’t included that revealed the source of the code. That’s the funny part. The not funny part is that this was not caught in the review process for code entering the product.

image

Now it’s been a long time since I wrote code that shipped in a commercial product but back then code did not make it into the official build without being reviewed by two other developers. One would like to think that this sort of process still exists and that people actually read the code. I know I always read code I was asked to review very closely.

Reusing code is a perfectly acceptable practice in professional development. We even used to joke that one should “steal from the best.” But of course one is always expected to fully understand the code one is reusing.  Students share code all the time as well. This can be a problem for teachers since projects are assigned (at least in part) to determine what students have learned. So a student who uses code they don’t understand is really cheating. They are cheating themselves but they are also devaluing the grades. Both are sad really.

Students have been copying from classmates for years. Well probably for as long as we’ve had grades. Copying from the Internet is newer but seems to be growing in frequency. Often times this is easier to spot as code shows up that is very different and even beyond what has been covered in class. Other times it is not as easy. I don’t always have a problem with this. If the student really understands what they are using getting code from the Internet can be a good thing. When they use code without understanding it problems ensue.

Often I see students using code from the Internet because they don’t understand it well enough to incorporate it in with the code that they have written themselves. This can be a good learning experience.

Generally I think reading the code written by other people can be a very good thing. I know I learn a lot from that process. The only time it really is a problem is when students don’t actually learn from it.

Monday, May 09, 2016

Interesting Links 9 May 2016

A lot of variety this week. Robots, professional development, news, curriculum. and some controversy around the AP CS A exam. None of it my fault.

Interested in teaching computer science?  @LetsTeachCS has 3K fellowships for Professional Development with  multiple providers. http://www.teachcs.org/for-teachers/apply/ …

HullPixelBot: A robot pixel from Hull may have to add this to my blog of robots for teaching programming and computer science.

Well Mike Zamansky has really been on a kick about (or kicking) the Advanced Placement Computer Science exam. He is not a fan. He's written several blog post on the topic and there has been a lot of discussion in the comments. Agree or disagree there is a lot going on.

K 12 Computer Science Initiatives Are Exciting, but Are They Enough? #edtech via @EdSurge  How do we do computer science and still make sure students are getting everything else they need in school?

 Creative Coding Academy - a 20 hour Computer Science curriculum using TouchDevelop is available. Something for summer programs or after school programs perhaps.

  Meet The Girls Who Code In A Roxbury Basement via @WBUR  A club that is teaching homeless girls programming and computer science.

Will I see you at the CSTA Conference this summer? I hope so.

Oh and by the way save the date for 2017 as well.

Wednesday, May 04, 2016

Computer Science Making Numbers More Interesting

Last night I lay awake thinking about numbers and programming languages. Yes I know – weird.  One of the first programming languages I was paid to write code in was called DIBOL – Digital’s Business Oriented Language. It was sort of a cross between FORTRAN and COBOL which probably doesn’t mean much to a lot of people these days but said a lot back in the late 1970s. One of the interesting things about DIBOL was that it didn’t use floating point numbers. It did have 18 digits (if I remember correctly) of accuracy in integer arithmetic though. That was highly useful even if it did force one to think a bit differently.

So why was I thinking about this? Well I have been playing with various ways of programming the BBC Micro:Bit and one way doesn’t seem to support real numbers.  I found out that the Micro:Bit can return an approximation of the temperature. Now the Micro:Bit is designed for the United Kingdom where they use Celsius temperatures. I live in the US where we use Fahrenheit so I decided to write some conversion code. It looked something like this:

image

And the answer it returned was wrong. A little experimentation and I realized that 1.8 was being treated as 1. Well that’s no good. I came up with a couple of different solutions. This one works pretty well. Multiplying the temperature by 9 and dividing the result by 5. That takes care of the problem of 9/5 being treated as 1 rather than 1.8.BTW I love the way nesting of things work in this block language.

image

Last night I remembered DIBOL and came up with this. Multiplying by 18 and dividing by 10.

image Pretty much the same as my previous solution but I think it opens the door for better results if I want to play with it some more. Plus it suggests a lot more possibilities for when I know the real number values I want to use.

There is a bigger issue for Computer Science teachers here though and probably for teachers of mathematics and that is limited understanding on the part of students about how numbers work.

I see this in several places in my teaching. One is talking about number base systems such as Binary. To me, at my advanced age and long experience using Binary, Hexadecimal, and Octal along with Decimal and it all seems pretty intuitive. For my students that is not so much the case. We spend a lot of time working on this topic.

The other place I see it is teaching the Modulus operator. Ask a student for the result of 5 divided by 2 and the answer you get will depend on their age. A young child first learning division will reply 2 with a remainder of 1. A secondary school student will reply 2.5.  Both answers are of course correct but when dealing with the modulus operator programmers deal with a remainder rather than a fractional part. It amazes me sometimes how hard it can be to get students to revert back to that “and a remainder of” thinking that was so natural several years earlier in their schooling. It’s as if they forget the value of whole numbers or integers.

In computing we have to understand a bit about how numbers work. Learning computer science taught me a lot about numbers and mathematics. In fact I think that my experience with computer science turned me from someone who hated math to someone who developed some real appreciation for mathematics and for numbers themselves. It makes me wonder if more CS at younger ages might lead to more students enjoying mathematics earlier in their school careers. I’m pretty certain it would help their understanding of mathematics.