Wednesday, August 29, 2018

Teaching Programming with Blocks vs. Teaching with Text-based Languages

Blocks or text? Which should I use with beginners? On one hand, I read research backed articles like Mark Guzdial’s High school students learning programming do better with block-based languages, and the impact is greatest for female and minority students which strongly suggest I should be using Block based programming languages. Well, at least in the first course. On the other hand, I had programming in block-based programming languages.

a-collection-of-quotes-from-w-edwards-deming-4-638Sure it should be an easy choice – go with the research. Sometimes I hate data. What happened to when we could all just go with our guts?

Seriously, it is hard to argue with peer reviewed data and I am rethinking a lot of things. I currently teach four different courses and each one uses a different programming language. Advanced Placement uses a combination of block-based programming that migrates to text-based JavaScript. That’s ok I think. Most of these students have had previous programming in either or both blocks or text languages.

My mobile application programming course does use a block based programming language (currently AppInventor) and it works well there. Most of these students have had very little if any previous programming experience. The pace is slower than my honors or AP courses and students seem to like it. I need better assessment tools to really understand how solid of a foundation they have for future computer science and programming. That is something I am working on.

My Honors Programming course uses C#. These are students who, for the most part, are highly motivated, have a good base to build on, and want to be challenged. I think C# is a good language for them. Opinion I admit.

Where I am really having to think hard is with our freshmen class. We currently introduce programming with Visual Basic. Should we be using a block language? Maybe. Unlike the other courses I teach I am not the only teacher. I teach two sections out of a total of 11 or 12 sections. Three other teachers also teach sections and the department chair teaches more of them anyone else. So it is not just my call. At least not for everyone.

What I am currently thinking about is doing a pilot with my sections. What I need to do first is come up with some sort of way for use to assess the difference (if any) in results. Since I teach the second course for many of these students I could look at who takes more programming and how they do with the next course but that takes a lot of time. And how do I know if the language used influences (and in what direction) if students do or do not take more programming?

I guess I have research to do. On the other hand, if there are some of you who have made this sort of change and would like to share what they have learned I’d love to know about it.

Saturday, August 18, 2018

Programming FUNdamentals Books

Most programming textbooks just are not what I am looking for. They are too long. They are too dull. And they are written for teachers to use not for students to reference. Last winter I decided to write some thing for my students to use. Actually, two books for my students to use. II took some short suggesting papers I had written, used my PowerPoint lecture presentations for some details, and basically wrote what I teach.

I teach some Visual Basic programming to freshmen and C# with my Honors Programming classes. That’s why two books.

These are not typical textbooks. They are short, to the point, and, I hope, will not put students to sleep. There are few exercises and no end of chapter questions to assign. They are intended more for students to use as a reference. Students tend not to take good notes so these may fill that need for some. They also want to learn things that are not generally looked on as serious computer science but which make for more interesting programming projects. So there is a section on how to do fun things with timers, images, and other language/library features that I get asked about regularly.

They’re probably not for everyone but the drafts worked well with my students last year. Take a look and if you like what you see buy one (or a classroom set). They’re priced low at $9.95. If they suck, send me an email. I’ll try to do better in a second edition.

Thus ends my commercial

Fun books

Wednesday, August 08, 2018

Computer Science Education Progress in New Hampshire

Things have been moving right along in New Hampshire. First we developed CS teacher certification (a joint effort with the department of education and a team of computer science educators). Now we have CS included in the legal definition of an adequate education as of earlier this summer. A set of CS standards, based on the CSTA Standards and K12 CS Framework have been adopted officially this week. Implementation plans are in the works. The latest announcement I received follows:

On June 18, 2018, NH House Bill 1674 was signed into law.

This bill renames our "ICT Literacy" program to "Digital Literacy," and adds Computer Science (CS) as a core K-12 subject area.

The NH Department of Education is currently working on the program rules (ED306) that will implement this law, as well as a timeline for developing CS programs.

We are looking at a two-year implementation timeline, with a target date in 2020 for districts to have programs in place.

There will be additional opportunities for educators and the broader public to provide feedback, with information posted on this group and on the Department website.

Additionally, the NH State Board of education today (August 8, 2018), voted unanimously to adopt the NH Computer Science academic standards.  Part 1 of these standards, "Context and Guidance,"  provides additional clarification about the relationship between digital literacy and computer science, how CS relates to STEM and other disciplines, and recommendations for developing or strengthening programs.  Part 2 is the grade-band standards.

The standards, and additional resources, are available here:

The policy tour slides provide a concise overview of our computer science policy efforts.

The Department of Education will continue to support implementation of these policies through federal and state grant programs, partnerships, and guidance and support.

Sunday, August 05, 2018

Computer Science and Farming

One of the things I tell students is that computer science is relevant to a lot of careers that they may not think of at first. An announcement I read last week and a visit to a farm reminded me of that this past week.

The article was about a joint effort between Microsoft and the Futures Farmers of America. (Future Farmers of America, Microsoft to develop tech-based agricultural curriculum) The FFA is an amazing group that does a lot to help prepared young people for careers in farming. Modern farming is a lot more than sticking seeds in the ground and waiting for plants to be harvested. Actually it has always been a lot more than that but technology has long had an expanding role in making farming for efficient and productive.

As I said, I also visited a farm last week. The owners are friends of mine and they are working other jobs as they build up the farm. Technology is a big part of how they manage things at the farm while not living there full time. Obviously there is we-fi available throughout the a farm. There are remotely accessed cameras and a very nice weather reporting system for starters. As I toured the farm we talked about future efforts.

One thing under consideration is RFID tags on each of the trees in their apple orchards. This would allow notes to be easily taken and recorded on the condition of individual trees. Other thoughts include computer (and remotely) controlled irrigation. Being able to pay more and better attention to individual plants or parts of a farm - precision agriculture – is something that computerization makes practical.

I’ve been reading about using computers to plan grazing patterns that make for more productive pastures, robots that scan and treat individual plants at high speed, and artificial intelligence analysis of aerial photographs of crops. I think we’re on the verge of a big jump in technology use in farming with a jump in productivity and efficacy in farming. Pretty darn cool!

Friday, August 03, 2018

School is Getting Close and Teachers Are Getting Ready

Two weeks from today I return to school for teacher orientation. Students come in the next week. summerThings are getting real. While I have been thinking about school a lot ever since the end of the last school year there is a renewed sense of urgency kicking in.

I’d like to report that I have solidly worked my plan (School Year is Over, Time to Get Ready for Next Year)  but that would be an overstatement. The start of a new school year seems so far away when one school year ends. It sneaks up on you.

The other day I got access to the learning management system with my classes enabled. I uploaded a lot of the resources that I have been preparing. That helps me feel like I am closer to being ready. I’m a little behind where I wanted to be but ahead of where I was this time last summer.

So the crunch is on! I’m working on the details for the first couple of weeks of classes. I’m outlining some things I will need later. I’m used to doing some things “on the fly” by which I mean adapting projects to the interests of the particular class. It is always amazing how much difference there is from one section and another in the same year or from one year to another. I don’t want to straightjacket myself. I don’t want to be totally without plans and options though.

I should get to it. I should also prioritize school prep over blogging. See you later.

Thursday, August 02, 2018

Encourage US High School Students to Apply for 2018-2019 ACM/CSTA Cutler-Bell Prize

Do you know a student working on an amazing computer science project? Maybe they need some recognition to take them to the next level. The Cutler-Bell Prize may be just what they need.

Every year, the ACM/CSTA Cutler-Bell Prize in High School Computing recognizes talented high school students in computer science. The intent of the program is to promote and encourage the field of computer science, as well as to empower young and aspiring learners to pursue computing challenges outside of the traditional classroom environment.

The application process involves a Challenge that focuses on having the student develop an artifact that engages modern computing technology and computer science. Judges will be looking for submissions that demonstrate ingenuity, complexity, relevancy, originality, and a desire to further computer science as a discipline. The application period closes January 5, 2019.

Up to four winners will be selected and each will be awarded a $10,000 prize, which will be administered through the financial aid department at the university the student will attend. The prizes are funded by a $1 million endowment established by David Cutler and Gordon Bell.

Detailed information, including the link to the online application, is available on the ACM/CSTA Cutler-Bell Prize in High School Computing website. Winners of the 2018-2019 Cutler-Bell Prize will be notified via email in February 2019.