Monday, February 29, 2016

Interesting Links 29 February 2016

k12csFebruary break is over. I’m not actually in school today as I am working with one of the writing teams working on a framework for K-12 Computer Science Education. I took it fairly easy last week. No trips, no special events, I was more active online than I had planned (Social Media and Professional Development) for that was ok. It did mean I picked up some good links to share.

The new issue of  the CSTA Voice is out and it contains a great #CSPedagogy article with teaching tips! Among other great articles.


Teaching event-based programming - a traffic light via @DuPriestMath This post by Dawn DuPriest inspired my on post and project at Traffic Light Project in Several Acts


Does your high school have a FIRST Robotics team? Ether FTC or FRC. Showcase your robot & earn up to $10K in grants w/ the Microsoft #ImagineThisContest! http://msft.it/ImagineThis You know you have students looking for things to work on now that build season if over and teams are between competitions.

Microsoft Creative Coding through Games and Apps seminar observations by Garth Flint This very interesting programming course uses TouchDevelop. There is an online community of teachers using this course that seems very active. Sign up at http://aka.ms/MCSTN


Computer science education support surging, but who’s going to teach it?  via @EducationNC This is the elephant in the middle of the room when it comes to computer science for all.


My Robots For Teaching Programming html post has been updated with two more families of robots including those from @mowayrobot and @EZ_Robot

Sunday, February 28, 2016

Writing the K12 CS Framework

Like most classroom teachers I really hate missing class time with my students. So I’m pretty deliberate about the time that I do miss. I’m missing the next two k12csdays of school as part of one of the writing teams working on a framework for K-12 Computer Science Education. I see it as important work. I’m in Memphis TN where later this week the annual SIGCSE conference will be taking place. I wish I could stay for that as well but that would mean missing far more school than I am comfortable missing.

I got to town early today. My choice in flights was between getting in very early and very late. I choose early. I thought I would use some of my down time to write about the process from my point of view.

This effort, being lead by ACM, CiC, Code.org, CSTA, NSMI and involving people from all over the country and from many aspects of computer science education has been going on for some months now. I attended one of the first in-person meetings last fall. A little over a month ago I was invited to help with one of the writing teams working on part of the document whose plan came out of those initial meetings.

What does that mean? Well it means more work than I initially anticipated but then most jobs worth doing are that way. Initially I joined a couple of virtual meetings and reviewed the work that had been done to that point. The end of January I joined my first writing team face to face meeting. About 25-30 people met for two days in Austin TX. We worked from breakfast to dinner on all parts of the document. Different groups went beyond “their section” of the framework to give feedback to other groups. Even lunch didn’t shut down the work.

Since that meeting my team (working on the Practices section) have held a bunch of virtual meetings. Not everyone at every meeting but everyone made some of them. I’d say we scheduled 2 or 3 meetings a week. We held our meetings using Go2Meeting and Google Hangouts. Documents are shared via Google Docs. (I still prefer OneDrive and Office 365 for my own work.)  In any case, it is surprising how much like face to face meetings these virtual meetings can get.

Also during the last month the project had it’s first formal review period. Scores of people, individually and in groups, reviewed the early draft in great detail. The set of raw comments is several hundred pages long. A lot of comments.

The writing teams received those comments and have been reviewing them for the last couple of days. I should probably be making another pass now. As small groups and the group as a whole we will be looking closely at that feedback over the next two days. We’re not going to finish updating everything in two days. No matter how much we might wish otherwise. But we’ll get a lot done and groups will have virtual meetings afterwards. Over two days we will review feedback, explore where it fits (or doesn’t) and have a lot of deep and thoughtful discussions. It’s a good bunch of people so no fighting but plenty of lively discussion.

People are dedicating a lot of time and energy to this effort. Not just the writing teams but the reviews and advisors who have involved and committed to a good and useful framework.
There is a commitment for another review period scheduled to start 14 March 2016. So clearly we have a lot of work to do between now and then. I’d better get to it.

Saturday, February 27, 2016

Traffic Light Project in Several Acts

Dawn DuPriest posted an interesting project on her blog - Teaching event-based programming – a traffic light. I like it a lot. It’s a good way to introduce state programming. Dawn did her project in Processing which meant a few limitations. That’s not a bad thing. Working around limitations can be great for learning.

image With .NET languages (I use Visual Basic with my freshmen and C# with my sophomores) I have a timer object to work with. That opens a few more options for me and I have been thinking about using the project in a couple of ways. I have created a light class which is used by a traffic signal class. Maybe more complicated then I need but I needed to try some stuff.

I have the timer control call Signal.NextState where Signal is an object of type Traffic Light. The Traffic Light class has a NextState method which checks the current state and changes the light and returns a new timer interval.

I'm thinking I can use the traffic light class more or less as I have it now with my freshmen so they can learn about the timer. I may have my sophomores create the Traffic Light class. The classes I created are written in C#. That means I can use them as the basis for my examples for the sophomores.

Since it is all .NET I can use the C# objects in Visual Basic programs. That means I can hide the complicated stuff from the beginners who are not ready for it. We can stick with just using the timer. Or I can create a version that doesn’t do the state work inside the traffic light control. That way I can talk about state programming and still hide a lot of things.

If I take the later path I can show my students who take the second course how we can encapsulate this sort of thing.  We’ll see. I have a lot more thinking to do about this whole thing. But having some code to play with helps me work things out.

Edit: Dan Schellenberg has his own riff on this project and blogged about it at Traffic Light Remix

Friday, February 26, 2016

Social Media and Professional Development

Just because I have been on school vacation this week doesn’t mean the learning stops. In fact I have taken advantage of the relaxed time to get involved in some online conversations.

Twitter chats have been part of that. The CSTA K-8 task force held another of their every other week Twitter chats. #csk8 is their hashtag and this week the discussion was about #CSforAll and what it means to be “for all.” Specific conversation happened about special needs and differently abled diverse populations. The next chat will be March 9th at 5pm PT/8pm ET These are great discussions.

Any interest in a high school CS education Twitter chat? I’m thinking about trying to start one up. Perhaps on the Wednesdays that the CSk8 Chat is not happening. Let me know in the comments or via Twitter (I’m at @AlfredTwo) if you are interested.

Arkansas had their Twitter education chat as well this week. I happened to see that the discussion on their hashtag (#ArkEdChat) was going to be about computer science so I jumped it. A lot was state specific as Arkansas is starting a serious initiative to get computer science in more schools but overall it was very interesting to me.

Discussion in an online community for teachers using Microsoft technology to teach CS (I write about it at An Online Community for CS Teachers Using Microsoft Tools ) was very active as well. There was a lot of discussion about TouchDevelop, using robots in the classroom, and a bunch more.. I’m learning a lot from other teachers and Microsoft people.  If you are using Microsoft tools/products to teach computer science, you’ll want to join. Sign up at http://aka.ms/MCSTN

Plus of course there was lots of blogging activity by my favorite CS education bloggers. If you are looking for some to read I have a Computer Science Education Blog Roll Garth Flint and Mark Guzdial both had some good posts this week.  And Dawn DuPriest has an interesting project I may adapt for my class - Teaching event-based programming – a traffic light

Even Facebook comes into play. The AP Computer Science Teachers Facebook group was busy. And there was lots of discussion all over the place about the issue of privacy between Apple and the FBI. I lot of learning goes on via Facebook these days.

Social media is a good way to expand your communication beyond your own building or circle of local (geographically) friends.

Thursday, February 25, 2016

Computer Science Principles Workshops

A lot of schools are adding the Advanced Placement Computer Science Principles course for next year. That means that a lot of teachers are looking for professional development. I thought I might gather a few links to help people out. Am I missing any? Let me know in the comments and I’ll add more.

Of course the first place most people look is the CollegeBoard web site. They have a search for their AP Summer Institutes. You can search for different courses, dates, and locations. A big list of Computer Science Principles Workshops for this summer is at this link. And there are plenty.

Mobile CSPThere are other options though. For example, There is Mobile CSP. Mobile CSP professional development is being offered at a number of locations this summer.

“The Mobile CSP course uses the visual programming language, App Inventor for Android, to provide a rigorous, programming-based introduction to computer science using a project-based curriculum.  Students learn computer science by building socially useful mobile apps. “

There is BJC or Beauty and Joy of Computing. You can sign up for information about BJC Summer 2016 Teacher Preparation Workshops at this link.

The Beauty and Joy of Computing (BJC) is an introductory computer science curriculum developed at the University of California, Berkeley, intended for non-CS majors at the high school junior through undergraduate freshman level. It was one of the five initial pilot programs for the AP CS Principles course being developed by the College Board and the National Science Foundation.

imageThe latest entry into the APCSP curriculum mix is CS50 AP developed at Harvard and modeled after their famous first computer science course. You can apply for CS50 AP Workshops (2016) at this link.

CS50 is Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for students less comfortable and more comfortable alike.
CS50 AP is a free adaptation for high schools that satisfies the new AP CS Principles curriculum framework.

Note that there is information about various AP CS Principles curriculum at Wikipedia. That article doesn’t link to summer professional development but would be useful for someone looking to see what is available for curriculum.

Tuesday, February 23, 2016

Getting More Girls in Computer Science is Easy

It seems like one “silver bullet” after another keeps popping up to solve the computer science diversity problem. Today’s solution was drones. Yes, drones. Gary Stager blogged about The Secret Key to Girls and Computer Science on his blog. And it sounds like a great experience for those students. But the big answer? I’m not going to go that far.

I’ve seen a lot of indications that in other parts of the world, particularly the Middle East and north Africa the male/female balance is much different from in the US. The consensus explanation is that the culture there does not seem to hold  computer science as a man’s field. This opens it for women. The same was once true in the US but as more and more money became involved the culture changed. We’ve seen this sort of thing happen before. The big money jobs are seen as for men and the small money jobs are for women. In the old Soviet Union there were many more female doctors than male but at the same time being a doctor became lower in status and pay.

It doesn’t have to be that way and of course it should not be that way. Too often it is though. Culture is a key driver of many things. So what is the answer to the diversity issue in the US? It’s complicated. It’s cultural.

The real answer to diversity in computer science is to change the culture. We can’t fix it all in high school or even university. We can’t even fix it in Silicon Valley. It’s bigger than that. We have to work on it everywhere at once.

It’s great that the President is promoting Computer Science for All. It’s great that governors are looking to build partnerships to expand access to computer science education.Of course we’ll have to see if the various legislatures put any money into those programs. At least CS education is getting some attention and more people are aware of it as an option. That’s a step in the right direction and if it leads to more CS education in schools that means progress.

Not all of the problems are pipeline problems though. Women drop out of CS fields in greater numbers than men do. That is another cultural problem. The leadership of major companies are saying all the right things and cultural changes are often driven by the leadership. Getting the rank and file man who is jealous of his privileges and position to be more welcoming and supportive of women (and other minorities) can be harder. Many computing companies are highly competitive and many men do not welcome the challenge of more people entering the field. That is where I see the difficulty.

But this is an effort worth making. Schools have to educate more people. They have to open the field to more women and underserved populations. We also have to teach our stereotypical CS students that they are not the only people who belong. It is not enough to convince women that they can and should “do CS” but we have to make our young geeky guys understand that these people who are not like them are just as capable (often they are more so) and just as deserving and just a valuable and just as entitled to be in the field as they are.

In general I don’t think we have to “fix” women. The women are fine. We have to fix the men who are biased and who have to limited a view of who belongs in computing. As educators we need to be all over that.

Edit: No sooner do I write this post then I find this related article - INCREASING NUMBER OF WOMEN IN COMPUTING HINGES ON CHANGES IN CULTURE, NOT CURRICULUM

Monday, February 22, 2016

Interesting Links 22 February 2016

It’s likely to be quite on this blog this week. My school in on February vacation. I was pretty busy getting a lot of things done last week so I could enjoy this week. I only brought a little grading home to do. We’ll see if I get to it. Just a few links to share today.

Help us to improve the CSTA K-12 CS Standards! A draft version is ready for your review at http://www.csteachers.org/?page=2016Standards 

3-D-printed artifacts give the blind and visually impaired a chance to feel history at Richmond museum Pretty cool development.  somewhat related is Mattel Unveils ThingMaker, A $300 3D Printer That Lets Kids Make Their Own Toys Sure toys! But how might teachers and schools use such a device tied in with 3D scanners?

Powerful summer program for high school girls. Build the world of your dreams by learning to code! Apply to the @GirlsWhoCode Summer Immersion Program now!

Small Basic Curriculum Videos! by Mr. Adams were one of the resources I learned about for Small Basic last week. On Friday I blogged about the LitDev (little developer) extension for Small Basic

sb_logo

Friday, February 19, 2016

LitDev (little developer) extension for Small Basic

People using Small Basic may be interested in the LitDev (little developer) extension for Small Basic. They add a lot of functionality to the language and open up a lot of possibilities.

The LitDev (little developer) extension for Small Basic has loads of extra functionality with over 55 new objects and over 1000 methods, properties and events; including 2D physics, 3D rendering, controls, dialogs, graphing, statistics, matrices, lists, sorting and searching (Regex), faster arrays, USB and COM connection, SQLite, MySQL, SqlServer, OleDb and Odbc databases, webcam, multiple GraphicsWindows, scrollbars, image processing, date and time handling, debugger, client-server interaction, encryption, clipboard, extended music and sound recording, parse xml, file zip and ftp, asynchronous and argument subroutine calls, inline C# and javascript code and lots more.

 

sb_logo

Wednesday, February 17, 2016

What do I mean by CS for All?

Let me start with a statement of belief about computer science education in K-12 schools.
Teaching computer science is no more about creating more software developers than teaching English is about creating more novelists.
This is important. A lot of justification for more computer science is about jobs. That is a popular “reason” by politicians and people in industry and it is a popular target for critics. Audrey Watters did so at “What Do We Mean By 'Computer Science for All'?” on her blog. Gary Stager took it on at President “Obama Discovers Coding – Yippee!” Both well written attacks on a straw man in many ways.

Jobs are hardly the reason most CS education activists are trying to get more computer science into the school curriculum. Even the companies I have been interacting with see CS education as more than about jobs or even about people learning on their software. Sure politicians like to pull out jobs as a way to get funding for things. It’s an easy excuse for just about anything. There actually are good jobs in the field and not just for people doing full-time development. And companies are looking for good employees. But there is more to it than that.

We need people to understand computing. We don’t teach physics, biology and chemistry to create more physicists, biologist, and chemists even though there are good jobs in those fields and we do need people to do them. No, we teach them so that students understand the world around them.

Unless you have been hiding under a rock there seem to be more and more computers in the world around us these days. Shouldn’t people understand them somewhat? What I mean by CS for All is a lot more than jobs. And I think that is true for most of the people I know who are celebrating Obama’s CS for All announcement. It is about:
  • Opportunity for everyone. Right now we have an abundance of white and Asian males in the field. That is horribly limiting both for underrepresented groups and for us old white males who would like more creativity and innovation in computing. Is it fair that only students in well-off schools get the opportunity to learn computer science?
  • Understanding the abilities and limitations of technology. How can you have a discussion about Apple’s current disagreement with the FBI over building a way to break into iPhones if you don’t understand software and computer science?
  • Becoming literate in a modern liberal art. Part of being an educated person today has to be understanding some computer science along with the other sciences and disciplines that make up a well-educated person.
Computer Science is more than just coding and it is more than just about jobs. It is about being a fully participating member of society.

Monday, February 15, 2016

Interesting Links 15 February 2016

What a week. No school Monday because of snow. Stayed home sick on Friday. The first is a a lot more common than the second. I really hate missing school. I’m feeling better now and enjoying scanning through the collected links from the week to share the best of them with you. For my UK friends some BBC Micro:Bit news included.

Computational Thinking - A guide for teachers from CAS Computing at School

Female Coders Are “More Competent” Than Males, According to a New Study  My first reaction was “well duh!” But that is because it fits my preconceived notions based on my limited experience. Naturally there are detractors of the study. If you want to read both sides take a look at Before You Get Too Excited About That GitHub Study

Know a graduating HS senior who will study CS in college? Have them apply for $10k @GoogleForEdu scholarship:  Google for Education scholarship 

Why Harvard and One of Its Professors Are Fighting to Trademark a CS Course This is sad really. When a course becomes more than just a course. It becomes something of theatre and something that separates faculty from the university.  

Friction Between Programming Professionals and Beginners – this is one reason it is so hard to learn on your own. Reading this should make anyone appreciate teachers who create a supportive environment. 

Florida DRAFT K-12 CS standards open for public comment until Feb 24 

A Beginner's Guide to Designing Video Game Levels   via @tutsplus Maybe useful for game development classes.

Interesting - Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source. Written in C++.

I’m still keeping a close eye (or as close as I can from across the Atlantic) on BBC Micro:Bit activity.
 
Andrew Mulholland has had a BBC Microbit the past few weeks. and has written up his first impressions

Andrew has also been playing with BBC Microbit with MicroPython. and is  extremely impressed!

Mr Limbada posted these #microbit block cards. Print double sided and laminate for quick reference











Wednesday, February 10, 2016

Lift Ticket Project

Have you bought lift tickets at a ski resort lately? There are a lot of options. Different age groups, different days (week days, weekends, holidays) and different options for how long you will be skiing or which hills you will be on. I can’t imagine any of this working without computer terminals. Well not without having smart people taking time that you don’t want them to take. So obviously this is a good programming project.

I’m working with decision structures with my programming students. I was trying to think of something new to do. Something that would involve if statements with a little complexity and that might I thought of lift tickets. Off I went to the website of a ski resort I have enjoyed (Bretton Woods in NH) and took a snapshot of their rates. The whole thing is more complicated than I wanted for now so I just recorded the weekend rates for full-day, the various age groups and the different prices for resort guests and non-guests. I asked the students to put together a program to ask for an age, resort stay status, and show the price for a single ticket.

clip_image002There are four age ranges not including younger than 5 and older than 79 which are groups that ski/ride for free. Having the two options for each age group almost forces nested if statements. Almost but not quite.

The thing I may like most about this project is that there are many possible ways to solve it. So far I seem to have almost as many different solutions as I have students. Even better – not all of them work in all cases. Our next class is going to involve looking at different solutions and discussing them.

It should make for an interesting class.

Monday, February 08, 2016

Interesting Links 8 February 2016

We’re into the second semester at my school and things are off to a good start. Although we did miss a day last Friday because of snow. I had my programming students do some puzzles on Code Hunt. They could write and test code in the web browser no matter what computer they have. Winning!
I collected a bunch of good links to share including some I found while staying home from school. Always working. Smile

Like to bring Computer Science to your high school? Apply to teach CS50 AP. Workshops include CEUs and certification. Upcoming workshops in in Cambridge, Massachusetts, Washington, District of Columbia, London, United Kingdom, Redmond, Washington, San Diego, California, and beyond. Training by Harvard University with funding from Microsoft. Training is free. Travel and Expenses on you.

CS Discoveries is the newest curriculum-in-development from code.org - an introductory Computer Science course that empowers students to create authentic artifacts and engage with CS as a medium for creativity, communication, problem solving, and fun.
How to write unmaintainable code – a prety interseting and some time humorous look at what not to do when writing code. 
Mesa day care worker fired over social media post   Kids think SnapChat is safe for them because images "go away." They're wrong.
A student’s concussion leads to Kinect-enabled diagnostic app Sure is interesting when a student combines knowledge of software development with a personal interest in a problem. 
Programming Software for Beginners revisited Garth Flint has one of his students review various programming software tools for beginning programmers. 
The only way is ethics Miles Berry writes about the need for including ethics in courses teaching about computing. He is on Twitter at  @MBerry
Why We Need to Teach Kids to Code By Abby Fichtner AKA @HackerChick Hacker in Residence at Harvard and cooler than I could ever be.
Win a trip to the Imagine Cup World Finals with new Hello Cloud Machine Learning activities! An event in Microsoft’s Imagine Cup competitions still open for students to start. 







Saturday, February 06, 2016

Microsoft Research Open Source Challenge

Now this is interesting. Not often you think of Microsoft and Open Source in the same sentence. Although it does seem to be happening more and more often. This looks like it is for university students. An internship at Microsoft Research would look pretty good on a resume.


Microsoft Research is delighted to announce its first Open Source Challenge that uses the many and various open source computer science tools from our researchers. From artificial intelligence to programming models, cryptography to education, there is something for every enquiring mind.

See http://aka.ms/opensourcechallenge for full details. Closing date: April 11, 2016.

MSR OSCProfessors – please circulate this email to your students.

Experience the power of open source software from a top research lab.

Join students all round the world in solving problems with Microsoft's open source tools.

Win big prizes, or the opportunity to interview for an internship at Microsoft Research.

http://aka.ms/opensourcechallenge

Thursday, February 04, 2016

Presidential Awards for Excellence in Mathematics and Science Teaching

This announcement went out to CSTA members (and others) this week.This award does include computer science teachers!

The Presidential Awards for Excellence in Mathematics and Science Teaching (#PAEMST) is launching its 2016 Nomination Drive and needs your help! Do you know an outstanding math or science teacher? 
Submit your nominations this week to be included in the drive. Together, we can make 2016 a great year for teachers! 
Nominations can be submitted on our website, www.paemst.org. The nomination deadline is April 1, 2016, and the application deadline is May 1, 2016.

Wednesday, February 03, 2016

An Online Community for CS Teachers Using Microsoft Tools

One thing I am constantly looking to do is to learn from other computer science teachers. There are some good online communities for this purpose. I’m a member of a couple of Facebook groups for example. And I regularly follow conversations on the SIGCSE and AP CS mailing lists. A few months ago I joined an online community for teachers using Microsoft tools to teach computer science.

In the group are teachers using the tools I use a lot – Visual Studio, Code Hunt and TouchDevelop for example. Also some tools I occasionally use but have liked for years like Kodu and Small Basic. And somethings I am still learning about like Minecraft and the BBC Micro:Bit. And more. It is a very friendly and helpful bunch of teachers and I am learning a lot.

If you are using Microsoft tools/products to teach computer science, you’ll want to join. Sign up at http://aka.ms/MCSTN

Tuesday, February 02, 2016

A Framework for K-12 Computer Science Education

Last week about 25 or so computer science educators met in Austin TX for two days to work on A Framework for K-12 Computer Science Education. This was not the first meeting of course. Meetings have been taking place online and in person for some months now.

The process started last fall with meetings of thought leaders and stakeholders in CS education. (Mark Guzdial wrote about one of these meetings and the start of the process at the BLOG@CACM in Advice for CS Education from Science and Mathematics Education.

With all the attention computer science education is getting these days (finally) it is important that the community have quality resources to work with. This framework (and standards like those that CSTA is updating) are huge parts of filling that need.

A steering committee initially comprised of the Computer Science Teachers Association, the Association for Computing Machinery, and Code.org is overseeing this project. And there are many top CS educators involved.

Of course a project like this needs a lot of eyes looking over things. Transparency is a must. So there will be review periods. In fact, the first review period launches with a webinar (link) on Feb 3 at 8 pm ET / 5pm PT. More information about being involved in the review is on the K-12 CS Framework web site. It is very important that a wide representation of computer science educators be involved in this project. I hope many of you will get involved.

Related posts:

Monday, February 01, 2016

Interesting Links 1 February 2016

Initially the big deal for me last week was working on the CS K-12 Framework (an effort by code.org, CSTA and ACM) and then the President’s weekly Saturday address was all about an inititive Giving Every Student an Opportunity to Learn Through Computer Science for All  That links is to a YouTube video of his 4 minute talk.

Embedded image permalink
US Chief Technical Officer Megan Smith took to the official White House blog to go into a lot more detail.

The BBS Micro:bit is one of my Computer Science Education Things to Watch in 2016 and I’m watching. It looks like another delay as the BBC confirms Delayed micro:bit computers will reach teachers after half term. They still plan on a million of them being distributed and a lot of teacher training is ongoing
.
Lego Land has mosquitoes by Garth Flint talks about some of the issues he has had getting Lego software working for his students. It’s about more than that though as it is an insight into what sort of thing CS teachers often have to deal with that makes their work different from other teachers.

The College Board has an AP Computer Science Principles Toolkit with a bunch of resources.

Stacey Armstrong talks about how High School Programming Contests Rock! Programming contests are big in Texas where he teaches and he’s got some good resources in this post.