Monday, December 31, 2012

Interesting Links 31 December 2012

Well a new year starts tomorrow. Hope it is a great one for all of you. This is the last interesting links list for the year. It’s a pretty short list though. Last week was pretty quiet on the Internet.

Still time to submit proposals to present at the 2013 CSTA Annual Conference Conference registration opens February First BTW. Read all about it at the CSTA Blog.

Money and Computers is an interesting post by Doug Peterson (@DougPete) that in some ways asks the basic question - does the OS really matter anymore? Doug thinks it doesn’t matter much and that schools could and should money with free operating systems. I have mixed feelings about it. I ‘d like to think there are still applications that make it worth asking for an operating systems that supports them.

My Code Year is a post by Audrey Watters (@hackeducation) that talks about her experiences with different online systems for learning to code. I think there are some valuable learnings from her experience.

Via @nprnews: Kenyan Women Create Their Own 'Geek Culture' is a great story about how women in Kenya are creating their own social environment to help support each other and encourage other women to enter the IT field.

Game Blocks offers free, open-source game creation for novices. Looks a lot like Scratch.

Game Blocks is able to compile platformers, adventure games, simulation games and arcade shooters for PC and Mac, and makes it easy to organize dialogue and story. Best of all, it's completely free. Anyone interested in messing around with game design or interactive storytelling, download Game Blocks directly from Pacotti's New Life Interactive.

For those of you trying things with Kinect this Channel 9 post on tGesture Studio for the Kinect looks pretty interesting.

Saturday, December 29, 2012

Looking Back, Looking Forward

This seems to be the time that people look back on the previous year and forward to the new year. It’s almost January which was named after Janus who is often pictured as looking both backwards and forwards after all. I’ve been doing a lot of this thinking lately. Perhaps too much looking back and not enough forward though.
Personally 2012 was a tough year for me. After a long decline, several years of which he spent living with me, my father passed away during the summer. That was (and to some extent still is) tough. I feel blessed that I had a job that let me take care of him at home for the most part though. Speaking of the job, that went away in early September. That was sort of tough as well. Probably a good time for it to happen though. As proud as I am of what I accomplished in 9 years at Microsoft I’m not sure I could do more there. Things (priorities, programs, people) change and that is the way of life. The last time I was reorged out of a company things turned out wonderfully – eventually.
So looking forward what now? I’m doing some curriculum development right now which I’ll probably write more about later when more of it is done. That and blogging and looking for a future full  time gig are keeping me pretty busy. As far as the computer industry is concerned I am convinced that mobile and touch are the future stars. I’m continuing to deepen my knowledge of both of those related trends.
I’m at an age where making a difference is a big deal to me. So opportunities to help attract more students into computing are high on my list. That may explain my enthusiastic support of the recent CSEdWeek. Smile I’d love to do career talks at schools and groups of students as well. I’ll miss having Microsoft cover the T&E though.
And I am also interested in finding ways to help CS educators with ideas, resources, and what ever else I can find. I don’t see the same number of email from groups at Microsoft as I used to (don’t forget about me people!) but I have widened what I look for to more companies than just the one so there is that.
This blog seems to still be reaching some number of educators even with the move from my old location. That is exciting to me and I hope is a sign that I am still being useful. BTW if you have things I could/should pass along to computer science teachers drop me an email (act2 (at) acthompson.net), send me a Tweet (@AlfredTwo)  or contact me any other way that works. (Alfred’s contact information) I love to blog about great teaching resources.
I expect great things in 2013. The world didn’t end this month which I take as a great sign. Smile

Thursday, December 27, 2012

The Future Belongs To The Creators

A lot of people are thinking about the future this time of year. I’ve got a few ideas myself. This is the year I’ve done a lot with apps on phones and tablets. I’ve been playing with both an iPad mini and a Windows 8 tablet and of course have had my Windows Phone for almost two years now. These activities have given me some insights into what the future of mobile devices might be.

Clearly phones and small tablets are going to be huge – even bigger than  they are now. I’m not convinced that the time of the PC is dead though. It took a long time for mainframes to die and even now there are still some around. The Cloud is the natural successor to the mainframe it is what makes mobile devices worth carrying. That is only going to be more true as time goes on.

I’m not impressed with most apps I see these days. Oh the games are great and the social aspect of them facilitated by the Cloud is pretty cool. The practical apps are still pretty limited. I think that will change but it seems to be taking a while. For the most part portable apps are about viewing date/information/content. Someone has to do some work on making input (communicating with the app) easier. Keyboards, software or otherwise, are limited especially for people like me with large fat fingers. Voice is getting there (think Seri) and may be part of the answer. Voice recognition has to get better. I listened tonight as Seri struggled to understand my son talk to it last night.

PCs are still going to have a place for serious applications that require people to interact with the computer in ways that require adding information. They may not stay as ubiquitous as they are today but they are not going away. People still need them to create.

But either way – mobile or PC – the real value is going to be added by people who can create apps. There simple problems have been solved but there are a great many solutions waiting to be thought of and created. These apps are going to be created by imaginative people who can write code.

It has been said that the best way to predict the future is to create it. Are we preparing students to create the future? We’d better be teaching them to code if we want them to create the future.

Tuesday, December 25, 2012

Merry Christmas 2012

Merry Christmas and a Healthy, Happy and Prosperous New Year to all my readers and friends.

Maligayang Pasko at Manigong Bagong Taon

Boas Festas e Feliz Ano Novo

Pozdrevlyayu s prazdnikom Rozhdestva i s Novim Godom

Joyeux Noël et Bonne Année!

Froehliche Weihnachten und ein glückliches Neues Jahr!

Kellemes Karacsonyiunnepeket & Boldog Új Évet

Selamat Hari Natal

Linksmu Kaledu ir laimingu Nauju metu

Kung His Hsin Nien bing Chu Shen Tan

聖誕節和新年快樂

Chuc Mung Giang Sinh - Chuc Mung Tan Nien

圣诞节快乐,预祝新年快乐

Vesele Vianoce a stastny Novy rok

Selamat Hari Natal dan Tahun Baru

Feliz Navidad y Próspero Año Nuevo

God Jul og Godt Nyttår

If I missed anyone's language or got it wrong I apologize. I hope you all have a great day on December 25th whether or not you celebrate the birth of Christ in your own tradition or religion. And my sincere wishes that you will all have a happy, healthy and prosperous New Year!

Monday, December 24, 2012

Interesting Links 24 December 2012

It’s the day before Christmas and at my house we have been cooking for days getting things prepared that can be prepared  early. I haven’t spent as much time on the computer as usual as it’s been family time. This week will be a lot more so I don’t know how much blogging I will be doing. Hopefully everyone else is spending time with family and friends as well. A great time to avoid the Internet. I did grab a few links to share with you today though. I’m assuming some people will read them during the week when (if) they get bored. If nothing else these links give some search engine “juice” that they deserve.

For my money Audrey Watters @audreywatters is the best reporter on educational technology news. I enjoyed her collection of the  Top Ed-Tech Trends of 2012

Ruthe Farmer @ruthef  of NCWIT and CSEdWeek posted  Girls in IT: The Facts downloadable charts & graphics you can use!

We pretty much expect the major languages to be supported by Windows and other operating systems. But did you know that Microsoft worked with the Cherokee Nation to help make a Cherokee language version of Windows? See  Microsoft Adds the Cherokee Language to Windows 8 on the Microsoft Citizenship Blog  Found via @msftcitizenship It’s very interesting how the Cherokee Nation have worked so hard to keep their language and traditions alive in a modern world.

10 Tools To Get Kids Excited About Programming lists some tools I knew about and have blogged about myself but also has some that are new to me. Looking for new things? Check out that post.

Exercise Makes You Grow is the post by Doug Peterson @dougpete that introduced me to Daisy the Dinosaur (now added to my Programming with Blocks post). It is a better introduction to Daisy the Dinosaur and why it is useful than I could do.

Is learning a programming language like becoming bilingual? by Mark Guzdial talks about how learning languages changes the brain and discusses the possibility that learning programming languages may help in some of the same ways that learning a new natural language helps.

C'est la Z - Layers of a Lesson by Mike Zamansky @zamansky talks about how lessons are more than just superficial and can have multiple layers. It also talks a little about NetLogo which I need to look into some more. Some interesting discussion in the comments BTW so don’t skip them.

Saturday, December 22, 2012

STEM related infographic from RackSpace

Interesting STEM related infographic from RackSpace the hosting/cloud company. It could use a little more computer science content in my opinion but that is not a fatal flaw.

Rackspace® — Spotlight On STEM Education [Infographic]Rackspace® — Spotlight On STEM Education [Infographic]

Thursday, December 20, 2012

How To Become A CS Education Thought Leader

thought-leadershipI don’t think many people set out to be thought leaders. I sure didn’t but yet I have been called that from time to time. I think that is more flattering than true in my case but I do know a number of people who I think of as real thought leaders. So how does that happen? Having good thoughts is a necessary requisite I think but it is not enough. Why not? Well no matter how good your ideas are they don’t lead to anything unless people know about them. So if you want to lead with your thoughts you have to do something to make them known.

As a caveat I am not so sure that being a thought leader is such a great goal in and of itself. What I  think is a good goal is the create great information and disseminate it to others. There are lots of great ideas floating around that few know about just because the people with those ideas are too shy or modest to share them. Sharing ideas is a great way to make them better BTW.

There was a time when the way to get your ideas known was to write a book. Still a good way but as always not easy. Finding a publisher and getting an editor are hard. Perhaps almost as hard as writing a good book. However we now live in the Internet age where everyone can publish on line. A good blog is a good start.  Getting your blog known and followed by a lot of people is not as simple as posting good stuff. Oh you’d think it would be but there is so much out there that it doesn’t happen unless you are already famous. You need to start by following and commenting on existing blogs. And more but you can look that up if you want.

Twitter is good but follows the same issues as a blog. How do you become known?

For most people online is not going to be enough. Online and a book may work. I have seen it work for some. But the real way people become thought leaders is by doing things IRL – In Real Life! Most often this is by speaking at conferences.

Now I know what you are thinking – I’m not well known so no one is going to invite me to speak at a conference. And you are right. But – and it’s a big but – most people get started at conferences not by getting invited to give a keynote but by getting a talk accepted in response to a request for proposals. Yes you need to get out there an place your name in contention. Once excepted to speak you have to do a good job presenting worthwhile ideas.

In computer science education there are two important conferences and a number of valuable but less noticed conferences. Interestingly enough the important conferences are smaller than the less noticed conferences in terms of CS education. In terms of using technology in education that is reversed. Let me explain.

In computer science education the big two that get people noticed are SIGCSE and the CSTA Annual Conference. Note that the call for proposals for the CSTA conference is open now until January 24th.  There are other CS education related conferences but these are the big ones – the ones where people who influence curriculum, development of tools, and promotion of CS education ideas are in attendance in the most numbers. BTW even without a session to present would be thought leaders should be in attendance to network with and share ideas in side conversations. Oh and learn things. Smile

Other conferences include TCEA and ISTE. While both of these are much much larger in total attendance than the others there tends not to be much in the way of CS sessions. Still they are good platforms for presenting your ideas to an audience looking to hear them. I’ve attended both of these several  times and enjoy the opportunity to learn from smart people. They both welcome a national and even international audience. There are also many regional conferences that are hosted by state affiliates of ISTE. If you work at it you can present at many of these by answering a call for proposals.

Another good venue to promote your ideas is at CSTA Chapter meetings. Some chapters are more active than others but being active in a chapter and presenting at chapter meetings is a great way to contribute to the community of knowledge.

Did you ever hear about a teacher being called “an award winning teacher?” Of course you have. Do you realize that most of them nominated themselves for those awards? Yep. Find those programs and nominate yourself. Or browbeat your school’s administrators to nominate you. If you win it makes them look good as well. Get yourself out there. Let people outside your building know about the good things you are doing.

Woody Allan is quoted as saying that "80 percent of success is just showing up." I think he has something there. Show up in person – attend conferences and submit proposals to speak. Show up online -  take part in Twitter chats and post your ideas and information to a blog. toot your own horn a bit – Apply to various teacher award programs. But above all show up.

You can do amazing things in your own school and be a true rock star but if you never show up outside that school who else knows about it? I can’t say everyone will become a “thought leader” what ever that really means. But by showing up and sharing your ideas you can help others and by being open to feedback help yourself improve what you are doing.

 

Image from The Secret of Mastering Thought Leadership on Social Media

Wednesday, December 19, 2012

Looking Back On CSEdWeek 2012

CSEdweek_Banner_480x60

Last week was Computer Science Education week aka CSEdWeek. This was by far the biggest most active CSEdWeek yet. There are over 3,400 pledges to do something to celebrate the week. From official proclamations from mayors like Mayor Bloomberg of New York City to individual schools holding special events to promote the CS programs in their own schools it was local and it was national. It is in the media (though not as much as anyone would like) and it was on the web.

The White House posted about it on it’s blog at Celebrating Computer Science. Big companies like Microsoft (Investing in American Innovation and the Next Generation) and Google (The Common Core Must Include Computer Science) were supporting it with online presence. The CSEdWeek blog was very active. I encourage you to visit it and see some of the posts that were made during the week.

On Twitter the #CSEdWeek hashtag was busy all week long. On Tuesday night a #CSEdWeek Twitter chat was held and in an hour there were over 1,000 Tweets with just that hashtag. And many more related tweets as people had side conversations. It was a lot of fun if you could keep up with all the tweets as they came in. I’d like to see a regular CS Education Twitter chat develop. I think it would be useful. Note that I have a list of computer science educators on Twitter at cs-teachers with over 100 names on it. Always room for more too!

It was a good week for connecting. I found a number of resources that I have since blogged about in the last week – some on Twitter and some via blogs. Found some new people to follow and saw some great activity on CS Education blogs. (Note that I have a list of good CS education blogs at Computer Science Education Blog Roll that I update as I find more blogs to add )

CS ED Week seems to be picking up some momentum. It’s not too soon to start thinking about how you might celebrate it next year. Whether you are a teacher or administrator in a school, a school board member, a CS professional or just someone who cares about our students getting a good education that includes Computer Science there are plenty of things you can do. Hope to see you involved next year.

Monday, December 17, 2012

Interesting Links 17 December 2012

Five school days until Christmas. Well at my house at least. Are you taking some time off for the holiday season or will you be filling a lot of the time with grading, teacher prep and other school work? A lot of teachers will but I hope most will find some time to have some fun, catch up on sleep and generally recharge for the start of the new calendar year. For those of you who want to catch up on new things I hope to have another good wrap up of links for you next Monday as well as today.

Tornado Maker: Real Science, Real Learning by Outthink Inc. is a Kickstarter project to create an educational game that is both fun and a good learning experience. 

One of the things I stumbled on during CS Education Week is that there are some CS educators on Twitter who should have a lot more followers:
  • @CSEdWeek The official twitter account of computer science education week
  • @ruthef Ruthe Farmer is the chair of CS Ed Week and someone very active in working to get more women in computer science
  • @lsudol Leigh Anne Sudol-DeLyser is a PhD student in CS education at Carnegie Mellon and a consultant working with the Academy For Software Engineering – a magnet HS in NYC.
  •  @guzdial Mark Guzdial is a professor at Georgia Tech and probably the most important researcher in CS education in my opinion
  •  @csteachersa The official Twitter account of the Computer Science Teachers Association
  •  @alfredtwo This would be me. Smile

Speaking of Mark Guzdial, in a recent post he shares an announcement that Beth Simon has a new resource for CS teachers interested in using Peer Instruction http://www.peerinstruction4cs.org/

The Flipped Classroom: It's Got to Be Done Right nice post on the Flipped Classroom by Mark Frydenberg.

From the Microsoft Safer Online twitter account  @Safer_Online: I see that they now have a Safer Online Challenge poster (PDF) great for pass-along, bulletin boards & class handouts: Read about the challenge at this blog post.

For a complete list of Challenge rules, eligibility, and entry requirements, please see http://aka.ms/SOTeenOfficialRules.  To learn more about Microsoft’s work in online safety and security, consult our Digital Citizenship in Action Toolkit.  “Like” our page on Facebook (another Challenge featured property); follow us on Twitter, and let the Challenge begin!

Under the do your students know this comes - According to Forbes, 6 of the top 18 jobs in 2013 are in Information Technology.

Award winning teacher Don Wettrick@DonWettrick has a new web show called  The Focus (Finding Outstanding Classrooms Using Social media). Take a look.

TouchDevelop – Making apps for mobile devices on mobile devices. TouchDevelop now lets one develop on the web for Windows Phones. Pretty cool stuff.

Girls Who Code is an interesting and from the looks of things successful program to help girls get involved in Computer Science.  Watch Girls Who Code: A Future for Girls in Computer Science to learn more about this program.

Tara Walker posed the second in her series of Windows 8 Game development blog posts last week. Take a look at  Windows 8 Game Development using C#, XNA and MonoGame 3.0: Building a Shooter Game Walkthrough – Part 2

From my friend Randi Guthrie I see that Microsoft is looking to get students to write Windows 8 apps over the holidays. Windows 8 Student Holiday App Challenge: Microsoft Gives You $$ If You Publish an App :

The $100 gift card promotion is only open to students attending school in the United States, but the learning resources and tech support are available to anyone; student, faculty, or hobbyist.

The relevant links are:

Google is continuing the quest for future computer scientists with CS4HS with a Google Research grant for CS teacher training.

Computer Science for High School (CS4HS) began five years ago with a simple question: How can we help create a much needed influx of CS majors into universities and the workforce? We took our questions to three of our university partners--University of Washington, Carnegie Mellon, and UCLA--and together we came up with CS4HS. The model was based on a “train the trainer” technique. By focusing our efforts on teachers and bringing them the skills they need to implement CS into their classrooms, we would be able to reach even more students. With grants from Google, our partner universities created curriculum and put together hands-on, community-based workshops for their local area teachers.

Vint Cerf  one of the creators of the Internet urges computer science to be included in EBacc

Lego-powered M&M sorter pleases your palate's imagination (video)via @engadget now this is an interesting robot.

Friday, December 14, 2012

Calling all US High School CS Teachers: Please give us your thoughts!

You may be seeing this announcement on other blogs or websites. If so I apologize for the repetition. But I do believe this is an important project.

An important announcement from Baker Franke:

Right now a lot of important decisions are being made about the future of computing education in the United States. Sadly, though perhaps predictably, the people with the most vital information about the state of computing education - YOU THE TEACHERS - are potentially being left out of the process.

I'm working with the Center for Elementary Math and Science Education (CEMSE) here at the University of Chicago to ensure that REAL TEACHERS' needs and voices will contribute to the information used to by these decision- and policy-makers.

There is a very brief (10 min or less), but very important survey I'd like you to fill out that will help convey what's really going on in schools to those making decisions that will impact all of us in computing education. This information will be widely disseminated, it will be used, and it will matter. So please join me in collecting this information so that TEACHERS' VOICES WILL BE HEARD.

All surveys must be completed by January 15, 2013.

As an incentive for your participation, we are giving away one $50 Amazon gift card to one lucky person every time 100 people complete the survey. So the earlier you complete the survey, and the more computing teacher friends you pass this along to, the more chances you have to win!

Survey Link: http://tinyurl.com/CEMSETeacherSurvey
COMPLETE IT NOW!

Thanks much. Yours in solidarity,

Baker Franke
Computer Science Teacher
University of Chicago Laboratory Schools
Center for Elementary Math and Science Education

B6JQBM9TSEQV

Thursday, December 13, 2012

Hackety Hack for Learning Ruby Programming

hhlogo-starThis being CSEdWeek (Computer Science Education Week) the social media has been flooded with links to articles, information, great programs for promoting CS education, and other CS educational resources. One of the things I found this week was Hackety Hack. Hackety Hack is a programming environment, more or less an IDE, for learning the Ruby programming language. I’ve played with it a bit now and thought I should share it with others.

HHsample

This is my first program. As you can see it uses Turtle graphics to draw a pentagon (so much more interesting than a square).

The IDE is pretty simple with only a small number of options. One of the options takes the user to a set of built-in lessons to get you started. In fact this sample is an extension of one of the lessons I tried.

Syntax is color coded which is very helpful. I miss the instruction completion that I am used to in things like Small Basic and Visual Studio but that is not a huge issue even though it would be helpful to have. There is a “cheat sheet” that has a lot of helpful language information though. I recommend that people take a look through that early on.

image

Hackety Hack lists itself at a 0.9 release so I suspect there is more development to be done. It is off to a promising start though.

I’m going to stick with it for a while as Ruby is one of those languages on my list of things to learn.

Along with a lot of other things of course. Running as fast as I can to keep up with this ever changing world of computer science.

Wednesday, December 12, 2012

Call for Proposals Annual CSTA Conference 2013

This call for proposals for the 2012 Annual CSTA Conference went out to members of the Computer Science Teachers Association this week. One doesn’t have to be a member to attend or to present to this conference though. It is, in my opinion, the best professional development event of the year for middle and high school computer science educators. If you have some innovative teaching methods, projects, tools or experiences to share please consider submitting a proposal.

Present a session or a workshop at this year's annual CSTA conference!

The Computer Science Teachers Association (CSTA) invites you to participate in the 13th Annual CSTA Conference.  This event will be held July 15-16 2013, in Quincy, MA (just outside Boston).

The CSTA 2013 Program Committee seeks proposal submissions related to the practice of teaching and learning computer science and information technology in K-12. Proposals will be accepted for one-hour presentations or panels or for three-hour workshops.

The deadline for proposals is January 24, 2013. Review of proposals will occur shortly thereafter and notification of decision will be made on or about March 7, 2013.  Successful proposers should expect to be asked to submit a reasonably final copy of their presentation by June 20, 2013.

We desire a varied program of interest to all teachers of computing in K-12 education.  All submission will be evaluated on the following criteria:

  • technical quality,
  • writing and presentation,
  • relevance to CS&IT (focus on K-12 computer science or information technology).

Preference will be given to workshop proposals that are largely hands-on activities.

Proposers are required to:

  • identify all presenters
  • provide an overview of the session
  • describe the intended audience (level, knowledge, .)
  • indicate session activity in sufficient detail for an informed decision
  • discuss presenter background and presentation experience

All proposals will be submitted through the online symposium submission system that can be found at: https://www.softconf.com/d/csta2013/

Presenters will have the use of a computer projector and screen.  Proposers should describe any unusual infrastructure, A/V equipment, or lab facility needed; it may be possible to accommodate such requests but this cannot be guaranteed.

Additional conference details can be found at: http://www.cstaconference.org

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

CSTA 2013 is generously sponsored by the Oracle, Microsoft, and Microsoft Research.

Tuesday, December 11, 2012

Programming With Blocks

Syntax is a royal pain in the neck for beginning programmers. For a lot of kids learning computing or programming syntax is the single largest hurtle. It’s hard to teach both a new (programming) language and a new way of thinking and problem solving at the same time. This tends to be a big stumbling block for teaching a lot of basic computing concepts. For years there have been tools developed that remove syntax from the equation. Alice and Scratch are probably the most well-known and popular of these tools. But there are other options and I find that many people don’t know about them all. I’m not sure I know them all but I do know something about a bunch of them. I thought it might be useful to list the ones I know about to help others find what might work for them. Feel free to tell me about any I am missing BTW. I’m always looking for new things to try.

What I find is that tastes are different. For every student/teacher I find who loves Alice I find one who much prefers Scratch. And the other way around of course. Others like the additional blocks of Snap! or the Android programming features of App Inventor. Others want something for the very young and look to Kodu. Some of these tools have useful ways to help students migrate from the block programming language to a more traditional language. Alice 3.0 to Java for example. Blockly from the block language to JavaScript, Dart and Python for another.

All of these tools have some great features and either university or private research behind the development. Curriculum for them can be found through their web sites or Internet searching. Textbooks exist for some of them as well. They’re listed in no particular order so check out something new to you.

TileCode ( Microsoft Research TileCode site) Microsoft TileCode is a game creation app that allows you to design, code, and play video games directly on low-cost Microsoft MakeCode Arcade gaming handhelds, as well as in the web browser. 

GP is a free, general-purpose blocks programming language (similar to MIT's Scratch) that is powerful yet easy to learn. It runs on most platforms, including laptops, Chromebooks, tablets, and web browsers. This one looks particularly interesting as the GP stands for General Purpose.

MakeCode is a block language originally developed for the BBC Micro:Bit but which now supports multiple physical computing devices. It was developed by Microsoft with a lot of input from others. 

MakeCode Arcade is a version of MakeCode especially for creating computer games. Very kid friendly and lots of resources for learning are available.

MicroBlocks was created for physical computing and allow one to create one application to run on a number of different devices. It was created by a  rock star team with experience in the creation of such tools as Scratch and Snap!. 

alice3_logoAlice Alice is a 3-d environment from Carnegie Mellon. It is probably the most popular and best known of all of these tools as CMU has been promoting it for some years. It can be a bit resource intensive but the ability to create 3D worlds is a big plus. The latest version, Alice 3.0, allows users to export to Java programs. This makes Alice very popular with APCS teachers.
imageKodu is a coding environment originally developed by Microsoft Research for the Xbox 360 but now also available for Windows PCs. It is highly graphical with a simple When/Do model of programming. Designed for younger students (8 is the target age) it is very usable by precocious younger students and powerful enough for older students. 

Scratch_logScratch Scratch was developed at MIT at the Lifelong Kindergarten Research Group. This 2D platform is less resource intensive than Alice and Kodu. The Scratch web site with its sharing and social abilities really adds to the value of the Scratch platform.
Scratch Jr is a version of Scratch for even younger children.
Beetle Blocks Visual Code for 3D Design - Beetle Blocks is a graphical blocks-based programming environment for 3D design and fabrication. Blockly_logoBlockly is a language being developed at Google as a research project. Blockly is fairly new but borrows a lot of the ideas from Scratch. If you know Scratch you will find this pretty easy to understand. You can export a Blockly program into JavaScript, Dart (an object oriented language from Google), Python or XML.
snap_Logo5Snap! (formerly BYOB – Build Your Own Blocks)  Snap! nee BYOB is an expansion of Scratch that has been developed at the University of California at Berkeley. It adds new blocks and OOP features. It’s being used by a number of AP CS Principles pilots. Snap 4.0 is currently in early beta but the cool thing about it for many schools is that it is completely web browser based so no software installation.
MIT_app_inventor_explore_logo_big_0_0App Inventor for Android Think about App Inventor as being Scratch for developing Android phone apps and you get the basic idea. While not strictly Scratch is was developed by people from both Google and MIT. It resides at MIT these days and is being developed there using ideas from Scratch, Blockly and other sources as a teaching language. For students (and their teachers) who want to get into phone apps it is about the easiest tool there is. It is mostly web based as well.
Thunkable - Thunkable supports Android and they are working on iOS support. Thunkable is based on MIT App Inventor.

Tickle-icon_thumb[2] image_thumb[2] Tickle is a fairly new product (Released: Mar 24, 2015 on iTunes) on the Scratch model. “Tickle is the world's first app that enables anyone to program an air drone. You can now program the Sphero robotic ball, Parrot mini quad copter, and Philips Hue lighting system, all wirelessly right from your iPad.”  I don’t own any of the supported devices to try it out. Let me know if you do and what you think of it.
etoyslogoSqueak eToys is one of the first of these tools. Designed by Alan Kay as an implementation of SmallTalk it has influenced all the block languages that have followed. It is still being developed and is quite current. While not as well known, in my experience, as some of the others it is well worth looking at seriously. [Note: I left this out of the first version of this post for which I apologize. I really meant to include it.]

CodeWise A card game and an application. Designed to help very young students start programming.
"By using the CodeWise card game pupils can learn how to ‘program’ each other. You can find an assignment on each card such as: sing a song, jump, stand up/sit down or move forward.
Groups of pupils can create a programming code together in a fun and interactive way by placing the cards in a certain sequence. The code can be checked by a different group. The game can also be conducted by two pupils."

AgentSheets is probably the very first (before even Squeak eToys and the first as far as I know) and is still available
AgentCubs Programming and Coding for KidsAgentCubes online is the first of its kind 3D online programming environment and was developed by the people who created AgentSheets.

daisy Daisy the Dinosaur is a free iPad app for introducing some very simple programming to young people. It is very basis and very limited right now. I don’t know much about it but if you have an iPad and younger children it is worth a try. It may lead to something more like Kodu or Scratch or Alice as time goes on and they want more. Not many of the other tools work on the iPad other than in the browser so this may be a fun app for many. Thanks to Doug Peterson for the link (Exercise Makes You Grow)
logo-large Hopscotch is another iPad app from the same people who created Daisy the Dinosaur. It’s a lot like a very basic Scratch and pretty limited as of this review (Hopscotch–Visual Programming for iPads). But it does run on an iPad and that makes it accessible to a lot of people.
stencyl logo-small Stencyl borrows heavily from Scratch but is focused on creating games. Games may be created and published for iOS, Android, HTML5, Windows and Mac according to the web site.
imageMove the Turtle (available for iPhone/iPad, $2.99): From what I read this is a lot like Daisy the Dinosaur. The object of  Move the Turtle is to use commands to move the turtle though a series of puzzles.
Spherly is a web-based programming environment that allows programs to be written using a block language to control a Sphero robot. Project URL: http://outreach.cs.ua.edu/spherly/
Pixly provides a block language for exploring topics in media computation; particularly, the manipulation of pixels within an image to support red-eye removal, chroma key, etc.  Project URL: http://outreach.cs.ua.edu/pixly/
PocketCode allows you to create your own games, animations, interactive music videos, and many kind of other apps, directly on your Android phone or tablet.
RoboMind  RoboMind is software specifically developed to support technology education. By programming a robot, students learn about logic, computer science and robotics.
Waterbear Waterbear is a toolkit for making programming more accessible and fun. Having a visual language means you don't have to focus on learning a syntax to start programming.
image Pencil Code  is editor that lets you work in either blocks or text. Pencil Code supports CoffeeScript, Javascript, CSS, and HTML.
Enchanting
aims to make it easier and more fun to program physical devices, particularly LEGO Mindstorms NXT robots. Enchanting is based on Scratch from the MIT Media Lab
vizwik_logo_smallVizwik is a Social Learning Platform that helps Teachers quickly integrate digital literacy into their classrooms with easy to use KITS for making Mobile Apps. There is a review of it at http://mindsharelearning.ca/2015/04/01/vizwik-product-review/
Actimator logo-md Actimator is web based and games can be played on Android and iOS devices.

Monday, December 10, 2012

Interesting Links 10 December 2012

It’s Computer Science Education Week (CSEdWeek)! Are you celebrating? As part of the celebration I’ll be joining other tech and computing leaders in a CSEdWeek Twitter conversation on Tues, Dec 11 at 6pm ET If you are a Twitter user I hope you will join us. And follow me at @AlfredTwo as well. Smile 

CSEdweek_Banner_480x60

On the CSEdWeek blog Pat Yongpradit (@mryongpradit) writes about Extending CS beyond classroom walls.

It’s Turtles All The Way Down A HS CS teacher creates his own version of turtle graphics as a teaching tool. Tom is a good friend of mine and I look forward to seeing how this works out for him. He’s going to use this to introduce some programming concepts to his applications students.

Should Kids Learn to Code in Grade School is a post that asks and answers an interesting question on the CSTA Blog

Microsoft has a bit of a confusing story about Windows 8 and Windows RT(which runs on the Surface) This article and video  Windows 8 vs Windows RT: will help you understanding the differences.

Ensuring Teacher Voices Are Heard is an important post on the CSTA blog about a research survey effort to collect information about CS education. If you haven’t taken the survey and you teach HS CS please do. Also please share with any computer science teachers you know.

My friend Tara Walker (@taraw) has written a new post (the first in a series) that looks like it will be helpful to anyone teaching game development. So check out Windows 8 Game Development using C#, XNA and MonoGame 3.0: Building a Shooter Game Walkthrough.

Lindsey Kuper writes about Reasons to Study Computer Science: The people are interesting. The ideas are fun to think about. Right on the money in my experience.

This week's CS Bits & Bytes is about Cryptography. Actually I think they come out every other week. Either way these are useful regular email updates that are handy for teachers.

A British teacher, Stephen Falcon (@DrStephenFalcon) has a student task booklet for teaching Visual Basic now available for download from his Google site.

Do you know about the promotion from Skype? Skype Santa is picking 3 classrooms to receive $10K at the @MicrosoftStore. Click:http://bit.ly/X1sn0Z Today is the last day to enter:

To enter, tweet @Skype telling them how you'd use use the technology in your classroom if you won. Your tweet must include the "#SkypeSanta" hashtag in order to count.

U.S. Teachers Win at Microsoft Partners in Learning 2012 Global Forum.

CodeHSRead Write Code -- Great slogan for Code HS (@CodeHS) with cool campaign via STEM Ed: CodeHS Wants To Teach Every American High Schooler How To Code.

Friday, December 07, 2012

Windows Guy Buys An iPad

In a move that had one of my friends deciding that maybe the Mayan forecast of the end of the world was true and another suggesting a tiny bit of hell had frozen I bought an iPad Mini the other day. Now understand that while I have used Apple computers before I have never been a fan. The user interface drives me up the wall for one thing. I like my Windows. On the other hand the future is hand held devices and iPads seem to be almost ubiquitous these days. This is especially true at educational technology conferences. So out of self-defense I realized I have to learn this platform.

MyMini

I’m still getting used to it of course. Trying to be open minded about it but it is different. I’ve been using Windows 8 on a slate (A Day With a Windows 8 Slate) and while a lot of things are the same some are different and that takes some getting used to. For example I Windows 8 I grab the top of an app and drag it off the bottom of the screen. On the iPad I do a sort of five finger squeeze. Neither is better or worse – just different.

So far I have installed mostly apps that I also run on my Windows slate. Things like Skype, SkyDrive, Amazon Kindle and some games for example. I’ve got Star Walk which is a sky viewing application that doesn’t appear to be available for Windows 8. I’m excited to try that out.  I still need to do some looking around as I suspect that applications (apps – not a fan of the word) are likely to be a big differentiator. I’m open to suggestions for both platforms.

Other than apps I haven’t found anything I can do on the iPad that I can’t do on the Windows 8 slate. On the other hand I can’t seem to have two apps on the screen at one time on the iPad as I can on the Windows 8 device. And the search is nicer on the Windows 8 system. The software keyboards that show up on the iPad often have the “Enter” key relabeled in helpful ways which I appreciate. For example if I am entering a search value the Enter key will say “Search” rather than “Enter.” Very beginner friendly.

While I can plug all sorts of things into the Windows system (USB being a key one for me) one can’t attach anything to the iPad other than by Bluetooth. I may shop for a Bluetooth keyboard that I can use with either device at some point. Creation still screams for a keyboard for me. I can run “real” Windows applications on my Windows slate but I couldn’t do so with a Surface either so that is not a big deal for me.

Next step is to look into developing software for the iPad. Anyone know if I can do so on a Windows system or do I need to acquire a Mac? I’m still learning but over time I’ll blog about what I learn and how the two platforms compare. Who knows but maybe I’ll pick up an android tablet to compare as well. Do you have an iPad or a Windows Surface? What should I be trying to to compare?

Thursday, December 06, 2012

Declare the Variables First

Back in the early days of programming one pretty much had to declare ones variables before writing any useful code. COBOL had (probably still has) a special section where all the variables were declared. Early versions of FORTRAN were pretty picky about where variables were declared. One didn’t see languages that used late binding or made assumptions about undeclared variables based on usage. No, one had to be very explicit about such things. While it could be a pain in the neck it at least forced the programmer to think things out before laying other code.

Recently I was writing a simple little program. Honestly I don’t even remember what it was as it was a throw away for a specific task. But half way though I realized I needed a couple more variables. While this is/was no big deal in the scheme of things it made me realize that I had started writing my code without completely thinking things though. This bothered me because it made me wonder what else I had forgotten to take into consideration.

Beginners are even worse at this and will willy nilly add new variables at all sorts of “interesting” places. The compilers don’t care so students tend to think it doesn’t matter. Often it doesn’t. That is to say where the declarations are made doesn’t matter. Not much anyway. It tends to make One runs into the occasional scope issue as well. This doesn’t mean that all variables have to be declared at the beginning of the program as they once did. But it does mean that some thought should go into what variables are declared and where they are declared.

In the sort of small programs that students write I have wondered if we should require students to hand in a variable list before they start writing code.  I think most students would try to write the code first and hand in the list later and I am not sure how to prevent that. Still it would be an interesting experiment.

The sneaky part of this is that students would have to have an algorithm in mind to create the list. They would have to think about what I used to call the goesinta* (information that goes in to the program) and the goesouta (information that comes out of the program) and and intermediate variables needed for the calculations.  They'd have to give some thought to what data types the variables would be, what naming convention they would use, and verify that they had all they needed to solve the problem.

Would students come up with perfect lists? Probably not but that is not really the point. Rather the point is to make sure they think about what they are doing before they start doing it. It might be worth a try. What do you think? Silly suggestion? Something you have tried or might try? What do you do to make sure students think before coding?

 

* I’m from Brooklyn where they talk like that. Fahgetaboutit!  Smile

Wednesday, December 05, 2012

Sharing is Learning

Last week was a great week for sharing among teachers. Microsoft ran their Partners in Learning Global Forum in Prague Czech Republic. They had 500 educators from over 75 countries sharing really innovative ideas. From all reports (I was watching the hash tag on Twitter) it was great. But I’d actually like to talk about something closer to home. An experience by some teachers I know who attended a local New Hampshire education technology conference.

Two teachers I know have a great project they do with their middle school students. It is cross curricular and makes real use of technology to make learning better and more interesting. They were given the opportunity to share their project in the exhibit hall of the Christa McAuliffe Technology Conference. This was the first time for both of them sharing at a conference like this and they were a bit nervous about it.

As it turns out the teachers, technology coordinators and administrators who came by loved the project. Several of them took cards with a link to more information about the projects. Several also made suggestions of other ways the project could be used. Or additions to the project to make it more effective or just different in a positive way. the comments were positive and reinforced that this was a good project. The suggestions and comments though meant that the project will continue to be improved and strengthened. This seems to happen all the time.

When teachers share their projects and ideas with other teachers everyone learns. This is one of the reasons I encourage teachers to blog about what they are doing. One can not only share ideas with others to benefit the community but though conversation in the comments or response blog posts learn from others. one can bounce ideas off of people and sharpen the ideas and knowledge of everyone involved.  Of course blogs are not the only way to share. There is a powerful role for presenting at conferences, doing local professional development events, and attending meetings. For CS teachers local CSTA Chapter meetings can be wonderful times of sharing.

If you are looking for CS educator blogs there is my CS education blog roll BTW.  If you are a CS educator and start blogging let me know and I will link to you as well. Jump in – the water is fine.

Tuesday, December 04, 2012

Advice to Microsoft Education Marketing–Computer Science

For nine years my job at Microsoft was to promote the use of Microsoft technology in computer science education. I started with universities but moved over to K12 CS education. CS education is something I feel strongly about. Spending time talking to teachers around the US (and abroad) as well as my own teaching experience has made me a bit opinionated about the subject. I do believe in a lot of Microsoft products. I would not have gone to work there is that were not true. Not a lot has changed by me leaving except that I feel a bit freer to state my opinions about what Microsoft should be doing to promote their products in and also to support K12 CS education publically.

In my honest opinion Microsoft is doing a lot of good. They have some great products and some great support resources. If you teach computer science and haven’t visited the Faculty Connection site you should visit it. DreamSpark has made software available to thousands of students at hundreds of schools (though the latest incarnation has some issues as I see it).

Their support for the Computer Science Teachers Association is pretty good as well and that is important. Not sure all parts of the company realize how important though. They also support Computer Science Education week which is a good thing. The TEALS program is placing software professionals in classrooms as part-time teachers which is a great program.

While that is more than a lot of companies (don’t get me started on how little Apple is doing for computer science) there are ways that Microsoft could help themselves and computer science educators more.

Improve DreamSpark High School

The DreamSpark program was changed not long ago to merge (more or less) the old MSDN Academic Alliance program and the earlier DreamSpark high school program. The result is a program for high schools that is more complicated and less easy to use than what was there previously. When DreamSpark was first developed Bill Gates made it clear that he wanted a high school offering and one was developed. Times have changed and there doesn’t seem to be as much interest in supporting the HS version as there used to be. High schools are not universities and they lack the technology and personal to support programs at the same level. Giving teachers access codes to handout to students seemed to work very well. I don’t quite understand why they dropped that idea.

Lastly develop a plan for DreamSpark for home schooled students. You (Microsoft) really want these kids. They are motivated and they have the opportunity to learn and study on their own. Perhaps partner with some national home schooling organization or two. There must be some out there.

Get Serious About AP CS Principles

Microsoft Research has been funding some AP CS Principles pilot programs. This is a great course and really should be getting industry support. Google has also been supporting pilots which is to their credit. The problem with the MSR funded pilots is that they have been based around C#. Now I love C# and I think it can be great for HS CS courses. But most of the pilots are using tools like Scratch, BYOB/SNAP, Alice and Python which are very different ways of starting with computer science.

Microsoft products that would be better start with Small Basic. Kodu would be good for some things but maybe not the whole course. TouchDevelop is another tool that may be great for CS Principles especially as the web-based version that doesn’t require a Windows Phone develops. One of the developers of that tool has been teaching in a HS as part of the TEALS program. This may mean there is some curriculum that could be used as a base for this course.

Rather than use university faculty to develop the curriculum I would recommend using high school faculty. They are more in tune with what works for high school students. They also have more of a vested interest in making the curriculum work.

Develop a Coherent Curriculum Story

Microsoft has products that cover a wide range of age groups from Kodu, to Small Basic, to Visual Studio with F# and Touch Develop somewhere in the mix. There are also curriculum resources for most of these tools as well. What is missing is a coherent story that would take a school system for elementary school through middle school into high school.  Having something like this would benefit everyone. Schools that are starting to realize that computer science is important and that we need to introduce students to CS concepts earlier would have an easier time incorporating CS into their schools with a coherent story. Microsoft gets a generation of students learning, having fun, and developing on Microsoft platform.

The story for high school is particularly murky these days. XNA was the big thing and it was a great thing. The future of XNA doesn’t look so good though right now. It’s not fully supported for Windows 8 and there are a whole bunch of options for Windows Phone. It is far from clear which of these options is the one that teachers would be developing curriculum for. While it is easy enough for Microsoft to tell professional, or even semi-professional, developers to just choose whatever they want teachers don’t have the time to develop curriculum for all of them. Given how fast things change some guidance on which is the most reliable long term option for educators would be useful.

Microsoft these days is all about developing apps for Windows 8 and Windows Phone 8. Teachers are about teaching the basic concepts and principles of computer science. Microsoft needs to have some curriculum developed that meets both their and the teacher’s needs if they want to see students developing for their platform.

BTW Microsoft has a lot of groups marketing to and supporting education. There is the Developer & Platform Evangelism group (DPE where I used to work), Legal and Community Affairs (LCA which supports TEALS and some policy programs) and the Education group in the Public Sector organization (which mainly sells to schools for infrastructure but also manages the wonderful Partners in Learning program) and probably others. You’d be surprised at how little communication and coordination happens between all these groups. I little more coordination could help here. I was getting a lot more involved in the other groups while I was there but I’m not sure how much is going on these days.

Train Some Rock Star CS Teachers

One of the things I always wanted to do what to invite some number of top high school computer science teachers to Redmond for four to five days of serious training. I’m not sure the right number but ten to twenty five feels great. The idea would be to top off and update the knowledge of some experienced teachers. There are other ways to support new teachers and I will address some of that another time perhaps.

The first day would be an overview of tools. Kodu, Small Basic, F# (let people know there is a good functional language option from Microsoft) and TouchDevelop. Include plenty of time for breaks and interaction between sessions by the way.

I’d spend a day’s worth of time each on Windows 8 and Windows Phone development. Did I mention that Microsoft should give each of these teachers a Surface Pro and a Windows Phone 8 while they’re at it? They are not going to get them from their schools anytime soon.

I would also want the teachers to be able to talk to people from the development teams. Let the teachers share their issues with teaching with the developers. Let the developers show the development process and the things about their products that excite them. Being able to go back to school and tell their students they spoke with Microsoft developers is more valuable than you might expect for the teachers.

I think Microsoft wants these teachers to be involved with the Expert Educator Program as well. Encouraging and supporting teachers to do professional development and other events for teachers is something in everyone’s best interests.

A lot more training is needed for less experienced teachers as well. I have no easy answer for that though the CS4HS program is a good start. Google has been the major funder of that program for a while now. They seem to be pulling back some to spend more money on the APCS Principles pilots. These programs work by having universities provide the training and the facility with some funding support from the institution and some from industry (Google mostly). They are a good chance to get professional development for teachers at all levels.

Run a Software Competition (or two) for High School Students

Microsoft runs a great competitive event for students called the Imagine Cup. I am a fan - see Microsoft’s Imagine Cup – a recent post. There are a couple of problems with it for high school students though. One is that the time commitment is huge and few high school kids have the spare time that university students have. Having high school students compete with undergraduate and graduate students is not even a competition. While the top high school students do have the talent and in many cases the knowledge they just don’t have the time required.

One idea that has been bantered about is a separate category for high school students. This has some good things going for it including the branding and the fact that more students are likely to try knowing that they don’t have to beat out university students. However with the time commitment I don’t see Microsoft getting the numbers they’d like unless it was very well constructed and publicized.

Option two is some sort of online version of the traditional programming contest. You know the lock them in a room for three hours and see how many programs they can write correctly. This actually works well for HS students as it fits their competitive nature and their limited time available. Ideally you would have regional or state winners. Having a state winner in a state that may have 10 students compete may not be that meaning full but being the Texas state champ is. I’d create regions based on APCS enrollment numbers as a rough analog for having real enrollment numbers.

I would bring the top competitors to Redmond and have them compete for the national title (or if ambitious run world-wide regionals and have a world-wide finals) on campus. Of course you would want to do all the fun sorts of things that are done with Imagine Cup finalists as well. Show them around campus, get them hear from and meet Microsoft celebrities (have Major Nelson show up or have pictures taken with Master Chief for example). You’ll create student ambassadors that you’ll have for life.

One other thing to think about and it is a small thing compared to my other suggestions. Microsoft should put together a set of sponsorship packages for local and regional programming competitions. A set of prices for first, second and third place finishers. You can set the size of the prizes to the size of the competition. If you insist that a Microsoft supported language or Visual Studio be supported that is understandable. Just make sure you know if the size of teams so you send the right amount of prizes.

Also include some additional swag to give out depending on the size of the event. Even a DreamSpark access code for each student would be good. I did that one year and a year later students were badgering teachers to subscribe to DreamSpark so they could continue to get software. If there were a set of packages and a supported way to apply for them a lot of events would love to advertise “Microsoft sponsorship.” Great PR. Plus you could ask them to promote the Imagine Cup and/or other Microsoft competitions.

Microsoft really needs to win these students over BEFORE they get to university. REALLY!

Monday, December 03, 2012

Interesting Links 3 December 2012

Last week was about getting some professional development time. I spent two days at the Christa McAuliffe Technology Conference where I attended some good sessions on social media in education and toured the exhibit hall (Cool Toys For Teaching Software and Engineering). On Friday I traveled down to Cambridge MA to a “trade school” called MIT. Smile Mark Guzdial from Georgia Tech was giving a talk on what we know about how to teach computer science. Great talk and I now have a bunch of things to look into more deeply. There are a lot of universities within reasonable drive for me. I really need to look into finding out about more public lectures I can attend. Do you look for public lectures are nearby universities and colleges?

Also last week I spent some time evaluating applications for @NCWIT Aspiration​s in Computing Award. Some amazing young women have applied. Results should be announced soon.

Computer Science Education week is coming up soon. Are you participating? One of the things I am doing is participating in a Twitter chat on December 11th. See a global conversation on computer science education on eventbright for more information.

National initiative for cybersecurity education is a site by NIST who is interested in creating a more secure workforce.

Ed Donahue has published a great list of Windows Store Resources that will be worth a look if you are planning on developing Windows 8 apps.

XInput PInvoking your XBox 360 Controller (from Channel 9) is about programming for an Xbox 360 controller without using XNA.

Bertrand Meyer explains Why so many features? in software. makes a great read and possibly a starting point to talk about “bloatware.