Thursday, December 29, 2016

Looking Back on CS Education in 2016

I started 2016 with a post called Computer Science Education Things to Watch in 2016. It's time to look back and write about what I think I saw over the year. My next post will be about what I will be looking at over 2017.

Very Inexpensive Computers – I think I called this one right. I didn't expect to see a large uptake in these small, simple, and inexpensive computers. There is potential in them. I think maybe we'll see more of them in after school, weekend, and summer programs.

BBC:Micro:Bit – I blogged about a lot of resources for these devices over the last year. They are still not generally available in the US though. I'm a bit far away to really judge the impact they may have had in the UK. So I'm still watching.

MOOCs and other Online CS Teaching tools – Yep, still not a huge impact. I have seen some of the online AP Computer Science MOOCs have some impact though. These seem to work where students have some local support of some kind even is that is support though providing time, space, computers, and someone to track that they are working. As a completely independent learning tool they still seem to work best with heavily motivated students.

Advanced Placement Computer Science Principles – This really seems to have taken off. Lots of people attended summer workshops including me. According to what I hear this has been one of the best new AP course introductions ever. Lots and lots of interest around the country. There are still some open questions about which programming languages will be most popular or which of the highly promoted curricula will be a) most adopted and b) have the best results. This is something to look at over 2017.

Python vs Java vs drag vs drop programming – I haven't seen a determination on this. With the AP CS A exam still in Java I think that slows Python adoption at the high school level. At the middle school level, a fast growing level, I see a lot more Python than Java. But a lot of drag/drop programming as well. I don't think we'll see a single language being "the thing to use" in the near future. And that is ok.

Computer Science for Everyone - This went better than I expected. A lot happened. A comprehensive K–12 Computer Science Framework was developed and released. The Computer Science Teachers Association (CSTA) announced Revised Interim Standards. several states released state wide standards as well. Ruthe Farmer, Senior Policy Advisor for Tech Inclusion for the White House office of Science and Technology Policy, recently blogged about a lot of what the White House was involved in this year (A Year of Milestones for Computer Science for All). All in all a lot of progress. It remains to be seen what sort of support the new administration in the White House will bring but there is a lot of momentum in the states and that is a hopeful thing. In my home state of New Hampshire, CS4NHis a new public/private partnership that is starting to make some positive moves. Some work on a real certification for CS teachers is in the works for example. Many other states have similar things going on. I'm optimistic in a way I wasn't a few years ago.

So that is what I was watching over the last year. Some new and some old things to watch for 2017. More on that very soon. In the mean time, what were you watching last year? And how did it go?

Friday, December 16, 2016

Acting Out The Loop

One of my major goals this year has been to get more activity in class to help students understand concepts. Jumping right into code is awfully abstract for many students. So I have been adding activities to help students see the connection between concepts in programming and in real life. Looping is where I have been having some fun. Probably most of what I am doing is old news to experienced teachers. Maybe sharing some of them will spark people sharing other ideas I can steal adapt for my own use.

I’ve been having students walk for a while. Take 7 steps for example for a counting loop. Walk from place a to place b for a while loop. And the ever popular “walk that way” (choose a wise guy for this one so they keep pretending to walk when they get to the wall) for an infinite loop.

Lately I added some activities with a deck of cards. Count out 10 cards or count this batch of cards (always use a subset or include jokers so someone will be wrong if they shout out “52”) as a loop activity. Pull cards off of the deck until you get to a face card or some other specific card to demonstrate a while loop. It seems to go over well.

For the difference between a counter variable and an accumulator I have been using a small handful of coins. “What is the total value of the coins” and “how many coins are there” are very different activities. And I don’t know about your students but mine pay attention when money is involved even if they don’t get to keep it.

So far it seems like these examples help students grasp the concepts better and faster. It may help that students seem to pay more attention to what their peers are doing than what their teacher is doing.

Students don’t realize how much of what they do every day is really some form of looping. Walking for example or climbing stairs.  Or even writing essays (keep writing until you hit 500 words.) I hope that by making the reality of it all more solid it will help as we take on the coding involved. So far its going well. And it makes the class more interesting for me to teach as well. Win win! Smile

Wednesday, December 07, 2016

What’s Your Elf Name–A Programming Project

I love string manipulation projects. Maybe because I have always been more of a word person than a math person. Who knows why. I see them every where. For example this time of your one sees a lot of images like this one shared on social media.

bigelf

It’s a simple enough game.Pick one part of the name based on the first letter of your first name and the second from the month you were born. As a programming project it lets students use arrays and do some parsing work converting words selected into indexes into those arrays.

And of course is it seasonal so there is that. There are many variations of that sort of meme to be found. Recently I found the “what is your Sith Lord name?” meme.

 

whats-your-sith-name

I’m tempted to use this one before I have students test for palindromes next semester. A lot of thought goes into reversing strings for people new to programming. This one makes for a simpler project which can be a good thing.

But maybe you want to avoid the Sci Fi thing and it is not the Christmas season. How about spirit animals?

spirit animalSpiritAnimal

It turns out that a simple image search for “what is your name” (I used Bing for that link) turns up a plethora of examples. I was amazed at home many I found. There seems to be one for just about every season or holiday and many popular social interests. Something for everyone I think.

I’m still using the Shakespeare Insult Generator project though. That’s fun.

Thursday, December 01, 2016

CS Education Week School/District Pledge

Does your school believe in Computer Science for All? Take the @CSforAll #CSEdWeekpledge to show your support and be included in announcement!


Our economy is rapidly shifting, and families, educators and business leaders are increasingly recognizing that computer science (CS) is a “new basic” skill necessary for economic opportunity and social mobility in a world driven by software.

The CSforAll Consortium is preparing for Computer Science Education Week that takes place December 5-11, and the White House would like to include the name of your school or school district in the announcement celebrating the CSforAll initiative.

The Consortium is calling on every school principal and district superintendent in America to join in its commitment to support the goals of expanding access to CS by signing the CSforAll Pledge. To be included in the White House CS Ed Week announcement with the CSforAll Consortium, please complete the CSforAll Pledge by Friday December 2nd.

Sunday, November 27, 2016

How Fast Can You Sort a Deck of Cards?

OK I admit it – sorting fascinates me. No, really it does. OF course it is also an important topic for computer science classes. CS Unplugged has a lot of resources for teaching/learning sorting algorithms. Hadi Partovi of Code.Org shared a link for a very cool Sorting Algorithms Animations web page. They're all pretty cool. It’s nice to have multiple tools in your toolbox for something like this. Recently I tried something new with my freshmen.

I asked my students who thought they could sort a deck of cards the fastest. Could they do it faster as an individual or as part of a team? Freshmen being freshmen there were several who thought they could do it faster as an individual. Others liked the team idea. So tried it. I took out a deck of cards and shuffled it. Then I timed a student as they sorted it. BTW the first discussion was “what does sorting a deck of cards mean?” Is it all Aces followed by all twos or is it Ace to King of one suit followed by Ace to King of the next suit? Does the order of the suits matter? All important questions that open the door to conversation about sorting.

Setting teams of students to the task is interesting in different ways. Using a team allows for some parallelism in the process. Most teams start with one person separating the cards by suit with the other team members sorting each individual suit. A really good team might split up the deck for the initial sorting by suit.  A good conversation can be had about those different techniques. One of the best discussions I have had involve asking why using four people is not four times as fast as only one person.

Everyone softs things from time to time but no one seems to think about it much. It is one of those things people just do. Thinking and talking about it is the first step towards doing to better. Using something common place like a deck of cards while looking closely about what is going on seems to be a good learning tool. Anyone else doing something like that? I’d love to hear other ideas.

(As an aside: the deck I used was the Notable Women in Tech Cards. I have the poster version on my lab wall as well. Good conversation starter.)

Saturday, November 26, 2016

Programming vs. Computer Science

Programming is not the same thing as computer science. But of course they are related. For example, knowing how to use the following arrays is programming. Knowing which one is more efficient and why is computer science. Especially if you know that the answer starts with “it depends.”

int[,] myNumbers = new int[50, 3];
int[,] yourNumbers = new int[3, 50];

Just a thought for the day.

Friday, November 18, 2016

Truth and Fiction in Programming Memes

I ran into a couple of images with messages about programming today. One I think is useful. The other I think is the opposite of useful. The first one is cute.

safe_imageI see this all of the time with my students. Either they write some code without understanding it of the IDE creates some very important code for them. Either way they don’t quite understand what it does. They find it confusing. So they delete it. What could go wrong? Quite a bit it turns out.

This happens to more experienced programmers as well. Hopefully not as often. The lesson is that you really do want to understand code before you modify or delete it. Hint: Comments can help here. If other people are ever remotely likely to look at the code (or if you are remotely likely to ever look at the code again) having good comments can help prevent the deletion of important code by contributing to its understanding.

The other one I found annoying. sleepyFor one thing it perpetuates the stereotype that programming requires long hours, little sleep, and not much of a life. Not helpful. But it gets worse. Programming with insufficient sleep can result in serious mistakes, bad code, and problems for a lot of people.

I’ll never forget a developer I worked with many years ago. He insisted that he could (and had to) work very long hours on very little sleep. When asked about “diminishing returns” he replied that was not a problem for him. Then one morning we came in to work to find out that he had accidently erased our main development store. The backup was also not as current as it should have been. We lost a week’s worth of work for several people. Ouch!

No, if you are sleepy it means someone has messed up. Someone has not planned the work properly, done work properly, or set unreasonable deadlines. Or something else but still something is going wrong not right if the programmers are tired. Proper planning can avoid a lot of missed sleep. So many people seem to skip that step though. Go figure.

Wednesday, November 16, 2016

Hello Cloud 2017

I’m telling my students  about this. Looks like it will be educational even if money is not enough of an incentive.

hello cloud

Online Contest

The Power of Azure

Master cloud computing with Microsoft Azure and you could win $1,000!

Cloud computing is changing the technology industry. When you start looking for your first job, will you have the cloud on your résumé? You will if you compete in our Hello Cloud Challenge!

Every month, one student will win our $1,000 sweepstakes. To compete, all you need to do is sign up for Azure (free, no credit card required) through Microsoft Imagine and then complete one or more of our Hello Cloud activities. Each activity you complete gives you another chance to win. And you only have to do each activity once – your name will still be in the sweepstakes month after month!

Register for our Hello Cloud contest today and you can get started!

The Hello Cloud activities are hands-on real world scenarios that will help you learn how to manage and deploy projects in the cloud!

Thursday, November 10, 2016

Too Many CS Teaching Resources

The Bring IT, Together conference is taking place this week in Niagara Falls, Canada. I’m not there but I have been seeing some social media updates today.  It looks like a great conference and on some level I really wish I were there. At the same time I have been thinking back on a conversation I had last Saturday with Pat Yongpradit (Chief Education officer at Code.Org and a wonderful teacher).

We talked about how many tools are available for teaching computer science these days. There are an awesome number of them. There are robots for teaching programming. There are block based languages for teaching. And then there is an increasing number of Internet of Things objects for teaching programming. Last weekend I attended a workshop on using microprocessors and electronics for teaching programming (and more). There is the BBC Micro:Bit, Arduino, Raspberry Pi, and many more micro processor based items all the time. (I should make another list but maybe someone is doing that already?) 

Do we need all of this stuff? How do we pick from all the stuff out there? Every time I go to a conference is see a “shiny new object” for teaching computer science. My first inclination is to get one (or more) and think about how to fit it into my curriculum. And then someone reminds me that I have limited teaching time and limited resources and there is that whole only 24 hours in a day restriction.

Much of what we are seeing is brand new and while it looks great there is seldom research or experience to back up its usefulness. Usually we see it demonstrated by either the people who created it or by early adopters. I would expect it to work for the people who created it. Generally people create tools closely aligned to how they teach. I know my first textbook was based completely around the way I taught and what works for me. Does something that works great for the creator work for everyone? Much as we’d all like to think so it is far from a sure thing.

The same, to some extent, is true of people who are early adopters of new resources. How much of what it working for them is related to the ways they would teach with any other resource and how much because of the tool itself? It’s really hard to tell. Some tools are adopted enough over time (think Alice and Scratch) that it becomes clear that they can work for a lot of people. Though a close look shows that Alice works better for some teachers than Scratch does and some times Scratch works better than Alice for other teachers. Which one are you and how do you find out?

OK this is coming out a little more negative than I really intended. I do like new tools. And I do try to bring them into class. On the other hand a lot of stuff I have used for some years seems to work really well. There is nothing wrong with using things that work even though they are not the latest and greatest thing being show at tech conferences. Right?

Saturday, November 05, 2016

Thinking Deeper About Programming Contests

I have this set of mixed feelings about student programming contests. On one level they just feel very artificial and inauthentic. You have a tight time schedule, some problems that are as much about the algorithm and they are programming and its all a narrow view of computer science. But lately I have been thinking beyond the façade in a way.

I took a group of students to a competition hosted by the Internet company Dyn the other day. The day started with tours of their offices. Like most Internet companies these days the offices at Dyn are cool. They are in a renovated mill building so the modern interior and the old exterior and “bones” of the building make for an interesting contrast. The tour impressed the students. (and me as well.) So that was a start. Then there were some brief (they must understand HS student attention spans) talks about Internet topics. Dyn was recently in the news for a Distributed Denial of Service attack so hearing from people involved about that was pretty impressive.  The “please study CS so you can come to work for us later” that students heard from professionals was huge as well. Having that experience is probably worth the trip by itself. It helps to see where they could be one day.

I’ve been to a lot of high school programming competitions in the past. Usually I spent my time there with faculty. I did some of that at this one as well. There is a lot of value in getting a bunch of CS teachers together to share ideas and experiences. While that is not a goal of these events (always) it is a valuable side benefit.

Being at an event with students was pretty new for me though. It changes how you look at things. I watched the students (MY students) work. I could not help them of course nor could I really listen in on their process. I could observe it. What I saw was unmistakable teamwork. The process was dynamic. It was not always the same student at the keyboard (teams were only allowed one computer) for example. All three students were involved no matter who was at the keyboard.  Developing that teamwork is a critical “soft” skill that seems to be reinforced by an event like this.

After the competition the students talked a little about how things went. Clearly there was give and take, strategy, and planning during the competition. Having that time crunch seems to force some organization on students. Sure we have deadlines in the classroom but they are not as close or as tight as in a programming competition. This is probably a good thing.

tl;dr I’m thinking that taking students to more programming competitions may be a good ide. And not just so they can win prizes.

Thursday, October 27, 2016

Why is learning Binary hard?

Why is learning Binary (and various number bases) so hard for students? I don't remember how exactly there were taught to me except that it was in either the 5th or 6th grade and that I took to it like a duck takes to water. It was just such a cool thing and so obvious to me. For weeks I played around with changing decimal numbers into numbers in other number bases.

Maybe it was because I learned it early. For example, my HS students seem to have trouble wrapping their head around "5 divided by 2 is 2 with a remainder of 1." It takes about 15 minutes for everyone to stop answering "2.5"

At the end of a period they seem to have gotten most of it down. At least they can convert Binary to decimal. Going the other way is still a bit iffy.

I'm always looking for new tools for the purpose of teaching Binary. Any suggestions for teaching the topic?

Wednesday, October 26, 2016

Robots for Teaching are everywhere–Which should I use and how?

Do a search for “robots for teaching programming” using your favorite search engine sometime. You’ll find a lot of news about the latest and greatest robot for educational use. They are all “new” and “innovative” and designed to get students excited. This week it is Root – a robot that climbs walls or white boards. It even has a brush for erasing the white board. Looks pretty cool and I know at least one of the people on the team and they are awesome. This adds to a long list of educational robots. And I do have a list of robots for teaching programming.

root

So should you be using them to teach programming? And if so, which robot? Or several robots? How are you to know? My wife and I have purchased a number of robots over the years. My wife uses them with her students but honestly I haven’t been driven to use them with mine. I can’t explain why other than I’m just not sold on the idea for me. Although perhaps there is some analysis paralysis involved.

I’ve got some friends who just jump right in and try things out. My friend Doug Bergman has a number of robots he uses with his students. (Doug if you are reading we need a blog post or two about this.) I admire him greatly for his innovation. He has more time with his CS students than I do though that is a factor as well. When you have one semester total to teach programming as I do there is a tendency to play it safe. That may or may not be the best thing but …

I was thinking about this on my drive into school this morning. What I’d really love to see is a whole track at CSTA on robots. We’ve had the occasional talk about using robots in the past. And we had some robots exhibiting at the last CSTA conference. (Thanks for coming Wonder Workshop.) Wouldn't it be cool to have lost of educational robots in the exhibit hall and a bunch of teachers talking about their use of robots in actual classrooms?

I’m not on the program committee and I don’t know what the plans are or who is exhibiting but I can dream.  And I can suggest that if you are teaching with robots you submit a proposal. :-) If not that PLEASE leave a comment about the robot(s) you are using and how it is working for you.

Tuesday, October 25, 2016

Teaching Computer Science and the Good Idea Fairy

The Good Idea Fairy struck again today. I have been taking about data checking and data safety with my freshmen lastly. One of the things we talk about is parity checking (I blogged about that three years ago at Making Magic With Software) Garth Flint offered the term “Good Idea Fairy” in a comment there.  In any case I started to think about other things we do in computing for data integrity. Things like cyclic redundancy check (CRC).

CRC is an important topic and I do talk about it. The math is not something I want to do with my freshmen though. Still I wanted something that would be quick and easy to have them do. That lead me to think about check digits.  They are used in all sorts of things and yet some of them are fairly easy to calculate. The check digits used for the machine readable numbers on passports for example.

The formula is simple. The first digit is multiplied by 7, the second digit by 3, and the third digit by 1. Then the cycle repeats so the fourth digit is multiplied by 7 and so on. The results are added together and the result divided by 10 with the integer remainder being the check digit.. imageCalculating the check digit for a birthday (in the format yymmdd) is pretty trivial but gives students an idea of what is involved.

So I did that with student in class. Step two of the Good Idea Fairy is now I have more ideas for programming projects.

The easy version is to calculate a check digit from a set of numbers entered. That’s ok. And maybe fun for a bit. But I was thinking – suppose I created a data set of numbers with check digits and had students write code to scan the file for invalid data. Or just build a new data set with the check digit added. Now those would be more interesting. That may happen soon.

What is the latest project or teaching idea the Good Idea Fairy has hit you with?

Monday, October 24, 2016

Interesting Links 24 October 2016

The two big news event around computer science last week were the Distributed Denial of Service (DDoS) attack on Dyn and the release of the new K-12 Computer Science Curriculum framework. The DDoS attack was local news for me. Dyn is located not far from where I teach and where I will be taking students for a hackathon in a few days. While I’ll be talking about the DDoS attack with my students the longest lasting news for CS education is the framework so I’ll start with a few links about that.

 Introducing the K–12 Computer Science Framework, a milestone for CS education – this is the announcement as posted by Code.Org

One of the many gifts the K12 CS Framework provides -> a glossary of CS terms!

Educators, Organizations Develop K-12 Computer Science Framework This is one of many articles about the framework. I like this one because I was interviewed for it and quoted. Smile 

Cozmo looks like a fun robot. An interesting look into how Artificial Intelligence will help robots be companions perhaps. A good thing or a bad thing? Or just a thing?

How Your First Programming Language Warps Your Brain I’m not sure I buy the premise as given in the title. What do you think?

How I'd teach computer science by @davewiner Great idea. I think a lot of university courses do this already. It’s always interesting to hear/read the thoughts of how to teach CS from people who don’t actually teach CS themselves.

Don’t forget that the  2017 CSTA Conference Call for Proposals is now open!

Monday, October 17, 2016

K–12 Computer Science Framework Released

After over a year of hard work by a lot of people (I had a small role myself) the K–12 Computer Science Framework is now officially out.

Frankly I expect some criticism. This is computer science after all and we argue more than politicians or theologians. I think it is a good start for people to build on though.

The official announcement follows below. Check it out for yourself.


After over a year of hard work and countless writing workshops, stakeholder convenings, and lots of hotel food, I couldn’t be more pleased to announce today’s news.

The Association for Computing Machinery, Code.org, Computer Science Teachers Association, Cyber Innovation Center, and National Math and Science Initiative are incredibly excited to announce the launch of the K–12 Computer Science Framework. This is a big moment for the computer science education movement in the United States. Check out this video.

 

Thanks to the leadership of fourteen states and four districts, the hard work of twenty-seven writers and twenty-five advisors, and the support of leaders in the corporate, nonprofit, and education sectors, there is now a framework for implementing K–12 computer science. The framework promotes a vision in which all students critically engage in computer science issues; approach problems in innovative ways; and create computational artifacts with a personal, practical, or community purpose. To achieve this vision, the framework offers a set of guidelines to inform the development of standards, curriculum, and computer science pathways, and also help school systems build capacity for teaching computer science.


A number of corporations, nonprofits, institutions, technology professionals, and notable members of the computer science education community have announced their support of the framework, including Google, Apple, Amazon, Microsoft, International Society for Technology in Education, Project Lead the Way, Southern Regional Education Board, New York City Department of Education, and professors from universities such as Stanford, Harvard, and Duke. A full list of supporters is available at http://k12cs.org.


A webinar about the Framework will be held on Wednesday, October 19, at 12 PM Pacific / 3 PM Eastern. Visit https://www.youtube.com/watch?v=wmxyZ1DFBwk for more details and to watch the webinar on the 19th.

 
Personal note: To all my friends in the computer science education community, thank you for your support of the framework’s development—the unity shown has been the most encouraging part of the process. Now the work of implementing the framework begins!


For more information about the K–12 Computer Science Framework, including a list of practices and concepts, visit http://www.k12cs.org.
Sincerely,


Pat Yongpradit, on behalf of the K–12 Computer Science Framework

Interesting Links 17 October 2016

Lots of announcements from the Computer Science Teachers Association this past week. We’ll start with them for this week’s links.

NCWIT: Recognizing females in high school in Computer Science by @dougbergmanUSA Talks about the 2017 Award for Aspirations in Computing  for high school girls.

Bill the Lizard: Books Programmers Don't Really Read – an interesting look at some books that programmers read or say they read. 

Ford CEO Mark Fields on self-driving cars and Henry Ford   Is Ford a technology company? Where does code fit in? A lot of interesting things in this interview.

Using Minecraft in Education: 30 ideas for using Minecraft in the classroom 

What Makes a Program Elegant?  Software developers are always talking about elegant code but I’ve never been sure what that means. This article gives some idea of how one person looks at the idea.

Sunday, October 16, 2016

2017 CSTA Conference Call for Proposals

The CSTA Annual Conference is my favorite conference for computer science education. I have been privileged to attend most of them over the years. And honored to present at several.  This is the conference where people doing interesting things in K-12 computer science education come together to share ideas in workshops, concurrent sessions, birds of a feather gatherings and informal conversations. If you are doing something interesting, fun, or new teaching computer science you really should submit a proposal to present here.


The Computer Science Teachers Association (CSTA) invites you to participate in the 17th Annual CSTA Conference. This event will be held July 9-11, 2017, in Baltimore, Maryland.

The CSTA 2017 Program Committee seeks proposal submissions related to the practice of teaching and learning computer science and information technology in K-12. This year, the conference is seeking 3-hour workshops, 1-hour sessions, 20-minute mini-sessions and 1-hour Birds of a Feather.  Proposals for all session types must include:

  • the names and contact information for all presenters
  • an overview of the session
  • a description of the intended audience (level, knowledge, …)
  • a description of session activity (in sufficient detail for an informed decision)
  • presenter background and presentation experience

Proposal must also include an expanded description (to be submitted as a PDF attachment) that provides the following information:

  • background for the topic to be presented
  • description of the information to be covered
  • description of why this information is relevant/useful to K-12 computer science and information technology teachers
  • description of what the attendees will learn from this presentation, and
  • description of any handouts

Presenters will have the use of a computer projector and screen. If additional equipment or facilities are required, this should be clearly requested in the proposal; it may be possible to accommodate such requests but this cannot be guaranteed. Presenters will be required to pay for their conference registration.

All proposals will be submitted through the online conference submission system that can be found at https://www.xcdsystem.com/csta/member/index.cfm. If you encounter a problem with the submission system, please contact Chris Crucetti at c.crucetti@csta-hq.org or Tammy Pirmann atsubmissions@csta-hq.org.

The deadline for proposals is midnight (Hawaiian time) on November 4, 2016. Review of proposals will occur shortly thereafter and notification of a decision will be made around December 5, 2016.  All submission will be evaluated on the following criteria:

  • technical quality
  • writing and presentation
  • relevance to CSTA (focus on K-12 computer science)
  • uniqueness
  • general conference theme and needs

Successful proposers should expect to be asked to submit a draft copy of their presentation by May 8, 2017. Draft presentations will be posted on the website for attendee reference and note-taking. All final presentations will be gathered by room proctors at the end of each session. Some sessions may be selected for videotaping, which will be shared online post conference. All workshops and sessions will be photographed.

Why present at CSTA 2017? The CSTA annual conference is the only CS conference specifically dedicated to meeting the needs of K-12 computer science educators. Come network with your peers, present your great ideas, and learn best practices. Here is what some 2016 conference attendees had to say about the conference:

  • “Best session and workshops I’ve ever attended at CSTA conference!”
  • “This was my first year as a CS teacher, and I’ve heard a number of good ideas that I’m excited to research further and implement in my classroom”
  • “CSTA has very welcoming presenters, participants and volunteers”
  • “Excellent conference! Very informative and exciting!”
  • “Networking opportunities and new friendships are invaluable!
  • ‘Best conference value for my PD dollars that I have found to date!”

Additional conference details can be found at http://www.csteachers.org/page/2017Conference.

The deadline for proposals is midnight (Hawaiian time) on November 4, 2016.

We look forward to receiving your proposals and to your attendance at the conference.

Friday, October 14, 2016

Security and the Internet of Things

Yesterday I wrote about Cars and Code about the intersection of transportation and software development. As a teaser I mentioned secure code and the need for that with our software dependent and increasingly connected cars. Car makers are talking about cars sharing information with each other about things like road conditions and weather. Great stuff as long as everyone has good intentions. That is a bit much to expect though.

The Internet of Things is growing and we are only starting to think about what that means. If you haven’t started thinking about it this cartoon from joyoftech.com may get you started.

Ransomeware

Thursday, October 13, 2016

Cars and Code

The other day I heard someone talk about what it might be like if car makers or other manufacturers released products the way most companies released software. Think about it. “We think the wheels will stay on but we’re looking for beta testers for our new car.” Anyone want to sign up? Probably not. And yet a lot of software is widely released so that other people can do the final testing for the company. Think about beta releases of Windows for example.

As I mulled that over during the day I found myself listening to part of an interview with the CEO of Ford Motor company. (Ford CEO Mark Fields on self-driving cars and Henry Ford) During the interview he said that the Ford F-150 has something like 150,000,000 lines of code. Ok that is a fairly meaningless number in many regards but it does highlight the amount of computing power and related dependence of software in modern cars and trucks.

Image result for google self-driving carSelf-driving cares, which Fields also talked about, will be even more dependent on software. If that doesn’t make you at least a little nervous you probably never worked on the development of commercial software.

We probably need to think a bit more seriously about software testing and quality control for software designed for self-driving cars than we do for video games. But wait there is more!

More than it works and doesn’t kill people? Yes actually. There is the whole security question. (Hackers Remotely Kill a Jeep on the Highway—With Me in It)

We really need to get more serious about writing good, secure code.

Wednesday, October 12, 2016

Teaching For Change

This post by Valerie Barr (How We Teach Should Be Independent Of Who We Are Teaching) really resonates with me. A lot of what education is about is helping students develop into the people they need to be to make society better. While content knowledge is usually seen as the big piece, if not the whole piece, helping students see how that knowledge can be used for good needs to be part of it as well. We need to help students see computing as inclusive and as a force for making the world better. And not just as a force for making money.

We need to teach everyone that computer science is for everyone. It is not enough to teach girls that they can do it. We need boys to understand that girls can do it as well. In fact that part may even be more important in order to create a culture and environment where women can succeed as well as men. We already know that the big reason why women drop out of engineering and computing isn’t in the classroom. But I think that in the classroom we can start building for change if were teach our students, especially the boys, the right way to live. That starts with teaching my example even more than by words.

The more I learn about how computer technology is being used and misused the more convinced I am that ethics is an important part of teaching computing. I just ordered a copy of Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy which I heard about this morning via an interview with the author. We’re using algorithms that people assume are unbiased but which actually support unconscious biases.

My first degree was in Sociology and maybe that makes me more sensitive to the societal aspects of computing. Then again the societal aspects of technology was a big part of the undergraduate Systems major I also completed. Today though it sees as if technology and its impacts are not always given the attention that it should get. The more technology influences society the more we need students to understand that just because something can be done does it mean it should be done. The consequences and the people aspects have to be taken into account.

As teachers we need to think about that and help our students to also think about it.