Monday, October 17, 2016

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.

Monday, October 10, 2016

Interesting Links 10 October 2016

It is Columbus Day in New Hampshire. Or as my family likes to say “Leif Landed First Day.” I’ve been enjoying visiting the amazing fall foliage in northern New Hampshire with my family this long weekend. (No school for us today). Last week I found more things I wanted to write more about than usual but I saved a few good links to share today.

First off some news about awards in computer science. Give some thought to applying for the second one. Separate awards for K-5, middle school and high school computer science teachers. Know someone who deserves recognition? Pass this along.

Desperately seeking the Nobel Prize for computer science   Apparently there are people pushing for a Nobel Prize in Computer Science. Is the Turing Prize enough or should their be a Nobel Prize?

Have your heard about the new  Awards for Teaching Excellence in Computer Science? (Note I am ineligible as I am on the CSTA Board but I want to make sure this reaches the wonderful teachers who read this blog.)

The 2016 Infosys Foundation USA/ACM/CSTA Awards for Teaching Excellence in Computer Science recognize talented computer science teachers at the pre-university (K-12) level around the world.  Up to ten (10) winners will be selected from eligible entries, and each will be awarded a prize of $10,000.
The application period for the 2016 award opens October 1, 2016 and closes November 1, 2016. Winners will be announced in December, 2016, and prizes will be awarded at the 2017 CSTA Annual Conference.

I ran into two very interesting articles about gathering information. I see these as great discussion starters about topics like privacy and how data can be used.

NFL reportedly using ball tracking chips in pre-season games via @engadget

Apple keeps track of all the phone numbers you contact using iMessage  via @macworld

Thursday, October 06, 2016

Facing Facts About the Geek Gene

There are a lot of people who want to believe that computer science ability is some sort of innate talent. That either you have a special brain that can handle it or you don’t. Teachers want to believe in it so that when students struggle they can blame something other than their teaching. Students want to believe it so they don’t have to work at something that may not be coming easily. And people who are good at developing software want to believe that they are somehow more special than other people.

Alas the research doesn’t support this theory. And there is a research paper on the Geek Gene paper [PDF]. I’d like to see more research on the topic but generally it appears that student ability to learn CS (or specifically programming) correlates a lot closer to teaching ability on the teacher’s part and work effort on the student’s part. Imagine that! Students who work harder learn better. Who would have thought.

I think we see all sorts of subjects that some students learn better or more easily than others. Hard work and focus mean that pretty much anyone can learn the basics of pretty much any subject. Interest seems to be a big factor in any subject.

Building excitement and interest is something teachers can do. They can communicate enthusiasm and they can make projects interesting. Or they can focus on narrow interest projects that reach only a few students. But a lot is up to the teacher.

Of course students have to put in some effort as well. We don’t accept (for the most part) a cry of “I'm just not good at math.” We still make all students take math courses. We don’t accept “I’m genetically incapable of learning history.” We just make students work harder.

Everyone can learn some computer science just like everyone can learn some reading, writing and mathematics. We shouldn’t be looking for excuses not to teach everyone.

Wednesday, October 05, 2016

Virtual Reality in Education–Sooner or Later?

There is a lot of excitement about virtual reality and the prospects of it changing education. Everything from Google Cardboard (on the low end of cost and ease of development) to Microsoft Hololens (more augmented reality than virtual reality perhaps) are being touted as the future of education.

imageimage

These are exciting technologies. Are they the future? Probably. The big question is when. Some people are saying soon. Robert Scoble says that “Mixed reality is the best education technology humans have ever invented. By far." and he seems to think it will only be a few years before schools are fully onboard with Virtual Reality.

I agree in part and disagree in part. Mixed reality is awesome. He has amazing potential for education. But soon? I don’t think so. It’s not a technology problem though. The tech will be there. The tools for development will be there. And I suspect that a lot of companies will be selling products in the near future. Silicon Valley looks on education as being ripe for disruption and sees dollar signs.

Schools move slowly though. Walk though a school today and you will see a lot of technology not being used. In schools in our less affluent areas you may not even see much technology at all. Taxpayers are questioning the value of computers and related technology as it is. Will they jump to pay for expensive and unproven Virtual or Mixed Reality tools? Some will. Many will not.

When I bring up the slow moving of technology into schools people like to bring up successes like Khan Academy. And they will point to leading edge educators or even schools as examples. But these are generally not typical. Khan Academy works great for self motivated learners or learners who have someone making sure they watch the videos. They are used in schools but not as replacements for teachers. In fact they are used very similarly to how slideshows were used when I was in school 50 years ago. hardly disruptive technology.

There will be parents who buy educational VR/MR tools for their children. There will be parent organizations who buy them for individual schools or teachers. Both will be limited to affluent parents and schools for years though. Schools with tight budgets (which is most schools) are not going to be early adopters.

The typical way technology has been adopted in recent years is pretty clear. There are early adopters who get grant money and do innovative things with the technology. A year or two later they start presenting at conferences like ISTE and get a lot of people excited. A year or two later some schools buy some of the technology and hand it off to teachers who are untrained, or unenthusiastic, or both. The technology goes nowhere in most of these schools. As a result excitement over the tool wanes and people start looking at the next “silver bullet.”

We saw this with FlipCams for example. There are many still collecting dust in schools all over the country. Then we saw iPads which are now being replaced by Chrome Books. Are any of these really disrupting and improving education? In a few places perhaps they are but not widely. Those few places get a lot of attention and I can see how people who want to believe in them think great things are happening everywhere but that is hardly the case.

Virtual and Mixed reality will make a difference. Initially for the well off and the children of parents willing to sacrifice for their children. Going mainstream is going to take a while.

Tuesday, October 04, 2016

Infosys Foundation USA/ACM/CSTA Awards for Teaching Excellence in Computer Science

On behalf of CSTA, ACM and the Infosys Foundation USA, I wanted to let you know that applications are now open for the inaugural Infosys Foundation USA/ACM/CSTA Awards for Teaching Excellence in Computer Science.  Up to 10 award recipients from K-12 for awards of $10K each will be selected.  At a minimum, two awards each must come from K-5, 6-8, and 9-12 respectively.  In addition, up to three of the awards may be granted to teachers outside of the US.  Applications are open now until November 1.  Winners will be announced during CS Ed Week in December.

We are seeking outstanding CS teachers working in K-12/pre-university education for this award.  Included below are the links to the press release and the application.  These resources include additional information regarding eligibility and application requirements.  Please share with good candidates for these honors.

Press release:  https://www.csteachers.org/news/310408/Infosys-Foundation-USA-ACM-and-CSTA-Announce-Awards-for-Teaching-Excellence-in-CS.htm

Award application page:  http://www.csteachers.org/CSTeachingAwards

Monday, October 03, 2016

Interesting Links 3 October 2016

It’s autumn in New Hampshire. The leaves are turning all sorts of bright colors and the nights are getting cool. And school is rolling right along. It’s a great time of year I hope your years is also going well. And to my Jewish friends Shana Tova as you celebrate the new year.

I didn’t blog much last week but I did collect some good links to share. Some of them I will be writing more about this week.

Harvard professor Venkatesh Murthy and his team are teaching computers to detect odors: Sounds pretty cool to me. I wonder what unexpected things this will lead to.

Lots of new in Artificial Intelligence these days. Internal email: Microsoft forms new 5,000-person AI division; via @GeekWire

And then there is this - Facebook, Amazon, Google, IBM, and Microsoft come together to create historic Partnership on AI via @techcrunch Is this good news or bad? I know some people who worry either about AI in general or these companies working on it in particular. What do you think?

'Geek gene' denied: If you find computer science hard, it's your fault (or your teacher's)  via @theregister Of course a lot of people want to believe in a geek gene. Do you?

Make a micro:bit guitar with this guided tutorial! This looks like such a wonderful maker-style project. If you are in the UK or otherwise have access to a BBC Micro:Bit you will really want to check this one out.guitar design samples

“Melinda Gates Has a New Mission: Women in Tech” by @jessiwrites Gates money and energy involved in getting more women in technology? This may be interesting.

Network servers learning from bees?  Awesome! It appears that nature still has a lot to teach us. Even involving computing and leading edge stuff like balancing servers.

What is Computational Thinking? and interview with Jeannette Wing now at Microsoft Research and previously at Carnegie Mellon University.

Monday, September 26, 2016

Interesting Links 26 September 2016

We celebrated my grandson’s second birthday yesterday. Somehow I couldn’t get into putting this post together afterwards. It felt like work. Having grandchildren changes perceptions. But now I am at work and have things to avoid doing so this feels like a good idea. Ever have a day like that? Plus there are some good links that really should be shared.

We Have to Start Thinking About Cybersecurity in Space I’m not sure I want to but we probably do.

Students ask me "What other kinds of jobs can a person get with a computer science degree besides a developer?" Other jobs in CS post by Marty Stepp Lecturer, Computer Science Department, Stanford University

How six scrappy young inventors built a breakthrough text-to-Braille translator device Spoiler alert: The whole team is young women.

Barriers to Stack Overflow Use for Females by Mark @guzdial For myself I wonder how the field, especially via the Internet, acts towards beginners of all kinds.

Are you developing primary computing in your school? Find out what has worked in Hampshire, England http://code-it.co.uk/cpd

How Microsoft wants to 'solve cancer' using computer science via @CNNMoney Quite a story. Computer science means getting involved in a lot of big deals.

Why I Teach Kids to Code at the EE Times by ex-Microsoft person (and friend of mine) Lynn Langit via @eetimes She’s doing some great work.

Humor. Or is it? I showed the below to my students so we could talk about is.

"Spaces or tabs?" "Semicolons."

Friday, September 23, 2016

When But It Works Isn’t Enough

I saw this image on Twitter recently. It was captioned:

"Spaces or tabs?"
"Semicolons."

Semi

It’s all perfectly legal C or C++ code. And a decent compiler will handle it just fine. But oh is it ripe for bad things to happen. Of course this is just a humorous example. No one would ever do it. Right?

On the other hand I have seen some code that was pretty hard to read. Students need to learn the value of programs that people can read as well as the computer. Somethings that get in the way of people understanding code can lead to things the computer gets wrong as well. At best they make it hard to update, modify, enhance, or fix programs. A working program that is unreadable by people is not as useful as one that people can read.

Another  of the things I see regularly is student code that compiles and executes and gives the correct answers but is horribly inefficient. Or it takes advantage (often unintentionally) of side effects that are not always going to be consistent, for example across different libraries. Or they just plain do things the hard way.

I’ve been working with my students on loops and if statements. We created a program that works just fine for small samples but it doesn’t scale easily. By adding arrays we can make it much more scalable but we haven’t introduced arrays yet.  When we do they’ll see better, easier ways to do man things. This particular program will seem obvious to almost every student. Not all optimizations are as obvious though. This is something we have to teach.

Beginners are often ready to settle for “it works. it gives the right answer. What more does it need?” Eventually many of them will get to a point where performance is an issue. Or maintainability will be an issue. Sure many will never get there but increasingly I think we do students a disservice if we are willing to accept work that is not as good as it could/should be for the level of knowledge.

Thursday, September 22, 2016

Bug Reports

I saw the following tweet earlier today.  Still earlier in the day I read a post on Mark Guzdial’s blog about Barriers to Stack Overflow Use for Females which had me thinking about how people ask for help on Stack Overflow.

What is the connection? Well it seems to me that one source of frustration and negativity on Stack Overflow is related to people not reporting bugs well. In general beginners do a poor job of reporting bugs. Experts, like those on Stack Overflow, often lack patience with poor bug reports.  Teachers don’t have the option to be impatient though. It is our job to work with students to help them understand. That means helping them learn to report bugs.

A student will often start by reporting “my program doesn’t work.” Somehow they think that is enough information. Of course it is not. The definition of a program not working is a broad one. “Why doesn’t your program work? Because you have done something wrong.” Two completely accurate statements without a trace of enlightenment in them.

Often I mind myself asking “What does ‘doesn’t work’ mean?” The process of analysis and developing an understanding of the basic problem has to be taught. Students don’t always know how to describe the problem.  It is as if they stop thinking when something unexpected happens. Part of teaching has to be to help students look for and acquire more information about the problems they are seeing.

Another problem is a lack of vocabulary. What is a stack overflow anyway? Sure an experienced person knows but the student decides that maybe he can have his function call itself soon discovers that “something bad happens” even if he doesn’t understand why it happened.

One of the things I have to get students to share when they have troubles is what problem are they drying to solve. What they think is the solution my be breaking because it really isn’t a good way (or a way at all) to do what they need. Explaining the problem they are hoping to solve often leads directly to understanding what is really going wrong with a project.

Student’s usually want and sometimes need hints (Would You Like a Hint? ) but we have to help them learn how to report/explain their issues first. If not we’re not really helping them learn at all. We’d just be giving answers away.

Monday, September 19, 2016

Interesting Links 19 September 2016

The big news last week was the launch of the CSforAll Consortium  with over 180 members committed to K12 CS Education. That was not all I picked up last week though. I’m pleased to have a good bunch of links to share with you today.  Let’s start with some CSTA news in case you missed it!
Have you seen the new @csteachersorg Standards Video  Computer Science Teachers Association standards announcement video.
ACM and the CSTA announced new awards for teaching excellence in computer science funded by the Infosys Foundation. Very exciting! Are you a good candidate? Check it out soon.

Interested in hosting a Family Code Night? there is a free kit for elementary schools available online. Sets start people thinking about (and in) code early.
  There is a new drone programming course for schools, Drones 101 from @gotynker I think I need a drone. Are you using one or more with students?
Robot Reinforces Learning Interesting article on the Blo0g @ACM  about “Quinn provides feedback to the students through an easily recognizable facial emotion set, here smiling to indicate approval.”






Friday, September 16, 2016

Computer Science–Because it is Magic

Seems like a number of people have been blogging  about computer science for everyone this week. This may well be related to this week’s Computer Science For All Summit at the White House and the announcement of the new CS For All Consortium. Or maybe coincidence. I don’t really know. What I do know is that today brought a post by Mehran Sahami (a really smart guy who teaches at Stanford) called Why Computer Science Education in K-12 Settings Is Becoming Increasingly Essential. It does a very good addressing some of the concerns about trying to teach CS to everyone. But there was one, in my opinion, money quote.

Arthur C. Clarke mused that “any sufficiently advanced technology is indistinguishable from magic.” Providing a CS education can potentially lead a child who wishes that magic really existed in the world to realize that maybe it does, and inspire them to use that magic for our common good.

Computer science is a lot like magic to a lot of people. I even hear students from time to time explain “It’s like magic” when their program works right. Yes, they do say that.  After all the years I have been writing code it still sometimes feels like magic.

But magic or science, computer science does have the power to change the world for the common good. That is sort of magical itself.

Teaching Beyond Programmer’s Programs

There is a difference between computer science and software engineering. There are some big and important differences. There is of course a lot of overlap. In any course advertised as “computer science” there is some tension about how much software engineering to include. In some senses this comes most into play when talking about the difference between a program that is usable only by the original programmer and one useable by just about anyone.

I have a bunch of the first type. For example I have a phone app that I use to keep track of the rotating schedule my school uses. It works well for me but I couldn’t easily hand it off to other teachers to use (even if they had Windows Phones) because it uses some initialization files that are not really that easy to set up. If I wanted to make this program easily usable by other teachers I’d have a lot of extra work to do. That may be the best example of the difference in my mind – software engineering is about making programs lots of people can use without deep CS knowledge or knowledge of how the program works internally.

Now of course Human Computer Interaction (HCI) is part of any good university computer science program but just how much of that can fit in a high school single semester course is an open question. Even a year long course, especially an Advanced Placement course, has limited room for software engineering concepts. Still I feel like it is important to include as much as does fit.

A program that does everything is is supposed to do but that is very hard to use soon becomes unused. The benefit of using a program must far outweigh the cost/work of using it. Not just a little because momentum (we’ve always done it this way) can be a lot to overcome.

So we talk about it. Adding labels to a GUI project (especially when using Visual Studio with C# or Visual Basic) can be a trivial matter to implement but add a lot to usability. I have been thinking that  maybe I should take some programs and reduce or remove things that help usability or at least understandability to start some conversations going forward. Great more work. Maybe I think to much.

Thursday, September 15, 2016

White House Summit on #CSforAll & CS for All Consortium

Yesterday the White House hosted a major summit on Computer Science for All. I wasn’t there myself but was able to watch much of it via live streaming. It was a pretty inspiring event. Ruthe Farmer, Senior Policy Advisor for Tech Inclusion at the White House, was the host and organizer and collected a veritable who’s who of CS education people and organizations for the event. That the CTO of the US, Megan Smith, was the closing keynote is a good indication of official support of the event.

Probably the single biggest announcement, and there were a number of important programs announced, was the creation of the CS for All Consortium.

Computer Science for All is a bold new initiative to empower all US students from kindergarten through high school to learn computer science and be equipped with the computational thinking skills they need to be creators in the digital economy, not just consumers, and to be active citizens in our technology-driven world.

image

There are a lot of resources at the CS for All Consortium website and it is well worth checking out. You can also follow the CSforAll Consortium on Twitter @CSForAll and if you are on Twitter and interested in this important effort I encourage you to do so.

They’re on Facebook at https://www.facebook.com/csforallconsortium/ and Instagram at https://www.instagram.com/CSforAll/ so there is all that as well.

The Computer Science Teachers Association (of which I am a proud member) is a founding member of the Consortium and is on the steering committee. CSTA is a highlighted member of the Consortium so you can read about the CSTA role in the CS for All Consortium on the website. (You may find a quote from me if you scroll by the more important people quoted BTW.)

Monday, September 12, 2016

Interesting Links 12 September 2016

Is everyone back at school now? After a couple of short weeks school happens all five weekdays this week. I think I’m ready for a full week. Getting back into the full swing of things takes me a while. Looking around school I am not the only one. Hopefully you are all doing fine. Here are a few links to get your week started,.

PiBakery Dramatically Simplifies Setting Up the Raspberry Pi Looks like some useful software for people using the Raspberry Pi.

Photo published for PiBakery Dramatically Simplifies Setting Up the Raspberry Pi

What's an algorithm? by Harvard’s  David J. Malan   I may use this in class.

Using Makey Makey with TouchDevelop looks fun and easy

This Walmart Worker Built The Company An App In His Spare Time via @cora @buzzfeednews Are we in the golden age of the non-professional developer? Maybe we are.

Microsoft is betting that a more neurodiverse workforce is better for business by Vauhini Vara via @FastCompany About a special program to recruit and retain employees on the Autism spectrum.

Students ask me why people create new programming languages regularly. In this article developers of emerging programming languages shed light on their thinking. 3 New Programming Languages: What Their Creators Say

Wednesday, September 07, 2016

Of Dice and Men

In a college  I first learned about Stochastic analysis and Monti Carlo Simulations. Whoa! An academic sounding reason to play with random numbers. It was only later that I discovered randomness as applied to cryptography. By then I had long before  been fascinated by random numbers (or at least pseudo random numbers) in computer programs. I still love using them today. They just make programming more interesting.

In my college work in System Analysis (one of my two majors) we used random numbers as part of building simulations. I enjoyed doing them. I keep thinking I should come up with some simple simulations to have my students work though. Perhaps the old ski lift simulation. If I could remember the details. Maybe I am getting old.

Of course games are a regular use for random numbers in student projects. One of the classes I have students create with we talk about programming classes is a Die class. Binary DiceTo make it interesting I have to help them think beyond the normal six sided die with six values. I talk about two sided dice or as they soon realize – coins. And of course many sided dice such as those used in role playing games.

A while back my wife got me a set of Binary dice. Six sides but only two values – one or zero of course. The visual seems to help stimulate out of the box in thinking.

If I were teaching AP CS A and/or teaching inheritance the die class might be a fun one to use. Create a coin class or perhaps a dial class from the die class? I need to think about that more. Anyone reading doing something like that they could share?

Of course random numbers have other uses. I have a 20,000 entry database of names and birthdays that I created by randomly picking first and last names from lists I got at the Bureau of the Census (for example Frequently Occurring Surnames from the Census 2000) and then randomly making up months, days and years using random numbers,. That was actually fun to write. Having a dataset that large makes it obvious to students why a computerized system makes sense.

I’m not sure that my students catch my love of such programming projects. Or rather the fact of pseudo random numbers making them work in interesting ways. I do hope that it makes for projects that interest them though.You never know were something will lead. Randomness is everywhere.

Tuesday, September 06, 2016

Crowdsourcing Tech Terms for Students

Peter Vogel has been creating a list of tech terms for his ICT students for more than 20 years.  He edits and updates the list just before school starts for him in Vancouver BC Canada. .He discards terms no longer in the vernacular or no longer widely used, and tries to bring in as many new terms as he can reasonably fit. He runs a similar but much shorter list for his grade 11 students. It’s a very good list but he is looking for suggestions to make it better.

Here are 4 pages he has so far. Add any interesting terms to bottom of the list (which is presently alphabetized). The snippet below may say 2015-16 but the document shows the correct date range.

Again, if you wish to add a term, do so in the area at the bottom of the Google Doc.