Showing posts with label Links. Show all posts
Showing posts with label Links. Show all posts

Tuesday, July 05, 2022

Teaching Computer Science–Moving atoms not pixels

On my first visit to the Lifelong Kindergarten Group and the MIT Media Lab, I notices a message on the windows. “Some people would rather move atoms than pixels.” That has stuck with my for years now. And it is quite true. Robots, game controllers, Internet of Things, and more are ways that computer science interacts with physical objects and not just pixels on a screen. These are ways that teachers can bring more students to more interesting (to the student) to get involved with computer science. But where to start?

Recently I posted curriculum resources that are especially good for teaching traditional computing courses. Well, cyber security is a bit new but anyway. Read that post at Welcome New Computer Science Teachers Today I want to provide some resources to bringing physical computing into the classroom.

Starting with a couple of devices that operate as “brains” for deeper involvement.

Raspberry Pi and the Micro:Bit are two of the most popular. Arduino and the Lego ev3 have been around for longer and are in wide use as well. One could get lost exploring all that LEGO Education has to offer. The Arduino Online Shop has a lot of resources as well.

Personally, I am a fan of both the Raspberry Pi and the Micro:Bit. Both the Micro:bit Educational Foundation and the Raspberry Pi Foundation have a lot of resources. Those are great places to start your exploration.

Ok, let’s talk hardware. While the sites for the Pi, Micro:Bit, Arduino, and Lego EV3 have a lot of links to resources there are more places to go depending on your interests.

Two of my favorites are AdaFruit Industries and Kitronik Ltd. They have devices that work with a lot of "brains." They have devices for all sorts of robotics or Internet of Things projects. I can spend hours looking through both getting idees for projects.

Also for the Internet of Things, I have bought a bunch of devices from Phidgets Education. I have been using these sensors and controls with Raspberry Pi in Python but Scratch, MakeCode, and Java are among other language choices. Speaking of MakeCode, that is an awesome platform for programming Micro:Bits.

I recently discovered Jacdac from Microsoft Research. Right now these devices only work with Micro:Bit but Raspberry Pi and a USB connection for laptops/desktops are projected for the future.

I could, and probably should do a post just about robots and robotics. But here are a few places to get started.

I promise a more comprehensive post of robotics soon.

Sunday, July 03, 2022

Welcome New Computer Science Teachers

Spring is an interesting time on social media. I help moderate a couple of CS teacher groups on Facebook and let me tell you, membership is booming! Why? Well, several reasons. For one thing a lot of teachers have been voluntold that they are going to teach computer science in the fall.Some have never taught CS before. Others have some CS background but are being asked to teach a more advanced course. In general, a lot of teachers are looking for help getting ready.

Hopefully, all CS teachers join the Computer Science Teachers Association (CSTA). There are both free and paid levels of membership. I am a paid member (AKA CSTA+) It’s worth it for the extra benefits. You’ll want to join and get active in a local CSTA chapter as well.

A book I highly recommend for anyone teaching computer science is Computer Science in K-12: An A-to-Z Handbook on Teaching Programming I can’t tell you how much I learned from this book.

Instructors are many Advanced Placement Summer Institutes are pointing teachers to Facebook groups. Two favorites for AP CS teachers are:

They're both outstanding resources for teachers of those courses.

Many people also join Computer Science Educators which is a wide ranging group for CS teachers.

Cyber Security is getting huge in schools (which is a good thing) and there is a great Facebook group for that. Cybersecurity Educators

If game development is your thing there is the Unity Teach Community group.

If you’re teaching an advanced placement course, hopefully, someone has pointed you to AP Summer Institutes. Really valuable for first time AP teachers.

There are also some curriculum providers that offer training and resources. A few of them are:

  • code.org – they offer several levels of courses including pre-AP courses as well as AP courses.
  • CMU CS Academy – curriculum, resources, and (I think) training
  • CodeHS – Curriculum and resources
  • CYBER.ORG – Cyber security resources, training, and curriculum
  • Project Lead The Way – curriculum, training
  • Bootstrap – CS with math, physics, or Data Science

I’ll finish off with a couple of blog suggestions

  • Mark Guzdial – He’s currently doing research on teaching other subjects using computer science and what he calls “Teaspoon Languages” but he has a lot to say about how to teach CS.
  • Mike Zamansky – Mike is building a program to teach CS teachers at Hunter College in NYC. Mike shares a lot of good advice and ideas about teaching.
  • Garth Flint – Garth teaches at a small private Catholic school where he wears a lot of hats. He has some interesting takes on things and shares a lot of good ideas.

I’ve only scratched the surface here of course. But they’re a good start with places to ask for more help. Welcome to teaching computer science!

[Edit] if you are interested in using some physical devices in your course check out Teaching Computer Science–Moving atoms not pixels

Friday, March 04, 2022

SIGCSE 2022 Day 2

The morning keynote was by Barbara Ericson. She talked about a lot of her early work including some of her online books CSAwesome and her work with the free online CS textbooks at Runestone Academy. I need to look at these some more https://runestone.academy/runestone/books/index She also talked a lot about Parsons Problems - a subject I am really interested in. One project is Sisters Rise Up which provides mentorship for women taking AP courses. She’s got a lot going now as well. She is an inspiration.

First Paper Session:Trends in CS Teacher Professional Development: A Report from the CSTA PD Committee. A lot of CS teachers are experienced teachers but not experienced in CS. Teachers want PD but it can be hard to find. The PD committee is evaluating and accrediting CS Ed professional development. You can see their efforts at the CSTA web site

Next up was Detecting Struggling Students from Interactive eBooks Data: A Case Study Using CSAwesome This talk was by Barbara Ericson and was about data from ebooks on Runestone and CSAwesome. Barb was able to collect a lot of data.  Students don’t watch videos to completion a lot which doesn’t surprise me that much. A lot of information in this talk. I recommend reading the actual paper. (Available for free for a limited time) I really need to look at these ebooks and see if they are something I can/want to try and create myself.

Last of my morning papers was Who Belongs in Computer Science? This study looked at middle school students to see what their perception was of computer scientists and how that impacted their feeling of belonging. In brief, boys and girls had the same perceptions but girls didn’t see themselves in what they perceived as being a computer scientist.

I took advantage of the “hallway track” to talk to Aman Yadav (author of the paper above) about the importance of CS teachers talking about race and computing. We need students to understand how bias works its way, usually unintentionally, into software. Both white and non-white students need to know about this. We clearly need a diversity of involvement in computing if we are going to have a chance as software that is fair to all.

After lunch, a GitHub Supporter Session: Scale your classroom with GitHub Classroom and Codespaces. A tough decision as there was also a panel I was interested in attending. I was curious about GitHub though so … The features of GitHub classroom including connections to LMSs, automated assignment distributing, auto grading and more seem pretty exciting. I also like the idea that students will create GitHub repositories that can act as a portfolio. The demo was great. I have set up a GitHub Classroom but I need to play around and try some things before I feel like I can use it. I think I need to create a “student account” as well. We’ll see how much time I can put to it.

Next up was a Microsoft Supporter Session: Core developer tools for your computer science classroom because I wanted to  see what Microsoft was promoting for educators to use for teaching CS. That was once my job.

They started with talking about VS Code and VS Code Coding packs are a tool to make it easy for students to set up a development environment. They are available to set up VS Code for Java, Python, and .NET. The packs for .NET and Java are available for both Windows and MacOS.

Next up was Development Containers and VSCode.dev which is a web past development environment so no installation is needed. This combination makes it easy to ensure that all students have the same development environment. This looks pretty cool for bring your own devices schools. There was a lot presented in a short period of time. I need to dig into some of these things on my own.

Over all a great day for me. I have some things to look through tonight.

Saturday, January 02, 2021

Recursion–How and When to Teach

I’ll start with a confession. Recursion is one of those concepts that I struggled to understand in the beginning. Was it me or was it how it was taught? An open question that I don’t want to look for blame. A recent article by  Shriram Krishnamurthi, CS Professor at Brown University, called How Not to Teach Recursion suggests that maybe I was taught badly and worse still that I taught it badly.

Adam Michlin wrote an interesting, related, post called Why you shouldn’t teach recursion (yet)

The teaching of recursion is one of those topics that really gets people talking. I hope thinking as well. Certainly I have been thinking about it lately.

Teaching it early, teach it late (as Adam suggests), not teach it at all? All question people ask and answer differently.

My key takeaway is that recursion has to be the natural solution to a problem for it to really make sense to students. Navigating a tree structure, file directories for example. This implies a prior understanding of the related data structure is also required.

Some languages and teachers use recursion for iteration. I guess for some that feels natural but it never has for me. Perhaps I am to old school and too deep into for statements and while loops. When I started programming there were languages that didn’t support recursion at all!

I have had several students discover recursion (and stack overflows) by having the main function call itself. Very instructive.

I’ve been programming for about 48 years now and very seldom have I had a real need to use recursion. By need, I mean that was the bests and only way to code a solution. One time I wrote a really cool recursive method which I was writing code for a living. Upon code review the rest of the team made me rewrite it as an iterative method because they decided it was too complicated and no one else wanted to try to debug it some day. Most of the teach was fairly young and were recent graduates from top CS universities too!

How important is recursion really? The AP CS A exam tests it lightly in the multiple choice questions (as I understand it). The AP CS Principles didn’t test it at all. SO if you are basing decisions on those exams (which is a whole other problem IMHO) its not that important. Do an advanced data structures course on the other hand it is probably fairly important.

If you are teaching it though I think the important things are outlined in Shriram ‘s article. The popular examples are problematic at best. From the post:

Where does recursion come from? HTDP argues that it arises from self-references in data. That is, recursive data suggest recursive solutions. This is the key insight you need for understanding recursion. Not only does it make sense once you think about it, it also demonstrates why most other approaches to teaching recursion are essentially incorrect.

But do read Shriram’s article. He explains it much better than I can.

[Edit: Mike Zamansky gives some thoughts on teaching recursion at On Teaching Recursion
Worth the read. ]

[Edit: Michele Lombardi gives here thoughts at Chiming in on Recursion

Thursday, April 16, 2020

Ending School With a Whimper not a Bang

The other shoe dropped today. New Hampshire’s governor ordered public schools to continue emergency remote teaching for the rest of the school year. This was not unexpected as many other states have already come to the same conclusion. At least I can plan better.

Having a bit of certainty, an official last day of classes, no final exams, and a few other details makes planning a lot easier.

We’re still having April break. Our last day of classes will be May 22nd.  We’re skipping final exams which means we can use all the time remaining to cover new material. It also means end of the year grading is a little easier for me. I normally have my freshmen class and Programming Honors courses write semester ending projects.. Without those I have enough time to cover everything I want to cover even though we are meeting fewer sessions than we are used to holding.

I’ve been thinking about all of the personal items I left at school. Normally I would pack up during final exams week and bring every thing home after the end of year teacher meeting. That’s obviously not going to work. I can still get into the building if I need to and because of where my computer lab is I can do so with very little chance of meeting other people.It will be sad packing up in an empty building.

We’re going to try to have a number of the big end of year events, awards, Baccalaureate, and even Commencement virtually.  I wonder if I will be asked to wear my academic gown for Commencement? I really do get a kick out of wearing that but wearing it where no one can see it seems pointless.

I really feel badly for the students, especially the seniors. They are missing some once in a life time activities. Sure many of them will have graduation from university or even graduate school but there is something special about high school graduation.

Friday, December 07, 2018

Teaching Phone Programming Should be Easier

Garth Flint and I have been independently looking at resources for teaching mobile phone application development. (Garth’s posts are linked below) I’m currently teaching a course using AppInventor which is going ok but not as well as I’d like. Most of my students own iPhones which AppInventor doesn’t currently support. Their iOS support is currently under review by Apple but my course is almost over. Even with Android phones I still have some trouble with connectivity. And the emulator is a mess. Some days I can’t get it working at all. So I’m thinking about what to use to teach next year.

There are other options. I have been testing Thunkable with some of my students. The good is that it supports both Android and iOS. The bad is that this support doesn’t support many sensors and really that is a huge part of what I want students to do. Without sensors its just another desktop app with a tiny screen.

I still need to take a closer look at LiveCode which seems to come up in this discussion so I don’t know much about it yet. Input welcome!

I haven’t tried the platform specific (ie professional) tools yet and I am reluctant to do so. The ones designed for iOS or Android only work on those platforms and I’d like to use both. Since most of my students have iOS devices than going Apple might be a way to go except that that requires developing on Macs. We have a Mac lab but its already used a lot. And they are all Macs which comes with its own complications. I am not a fan. That’s a last resort.

Microsoft Xamarin with Visual Studio is a cross-platform professional option. I’ve looked very briefly at it in the past. Setting it up is non trivial and I do have to have some connection to Macs for the iOS loading. Networking to a Mac or three might be an easy option.  Well, easier than taking over a whole lab. I need more time to work on that option though. I don’t know many teachers using it which is a concern.

I really wish Windows Phones had not died out. I have a Windows Phone and writing apps for it with Visual Studio (2015 or earlier only) is a piece of cake.

Thursday, November 15, 2018

16,000 BBC Sound Effects

I don’t know about you but I regularly go on the lookout for sound effects for projects. Today, I have to share this new source for sound files that may be used for educational purposes. 16,000 BBC Sound Effects

I found this database to be fairly easily searchable. Clips are various lengths and sizes so be aware of that. I imagine you could convert the WAV files to other formats if you really needed to. I’m still experimenting with them.

image


These 16,000 BBC Sound Effects are made available by the BBC in WAV format to download for use under the terms of the RemArc Licence. The Sound Effects are BBC copyright, but they may be used for personal, educational or research purposes, as detailed in the license.

Monday, June 13, 2016

Interesting Links 13 June 2016

School is out for the summer! Well it is for me as of noon today. Teacher wrap up but my grades are in and my room is cleaned up for the summer. Looking forward to some time off mixed in with a bunch of summer professional development. Hope you are ready for the same. Here are a few links that may help with the PD.

I added the Mirobot to my list of robots for learning to program. It’s a kit that is Arduino compatible. Looks interesting.

I added Thunkable to my list of block programming tools. It’s based on AppInventor but they are working on supporting iOS which would be cool.

Do you teach Lego Mindstorms EV3? Take it to the next level! Small Basic has the tools for it.

Looking for some summer learning? 6 Summer Reads That Will Teach You—and Your Students—How to Code via @EdSurge

Don’t forget that the Final Review of the K-12 CS Framework is Now Open

Microsoft is giving Minecraft to schools for free -- here's why via @CNNMoney

K-12 Computer Science Education: U.S. State Reports from Google They looked at 11 states and found some interesting things out.

The programming guild doesn't want you to learn to code by Mark Guzdial. I think he is right and that there is a lot of fear behind the resistance of some software people to see CS expanding in schools. 

On a related note is Coding snobs are not helping our children prepare for the future

Tuesday, April 08, 2008

Getting A Job - The Blizzard Edition

This week Clint posted his interview with John Cash from Blizzard Entertainment over at Channel 8. The "money line" in the interview is something like "you know that math you think you'll never need? Well you're going to need it." John keeps his college physics and calculus textbooks at his desk and uses them regularly.

John also talks about how when they interview people they look for people who go beyond on their own and actually finish things. Apparently lots of people start developing their own games but few actually finish. They are looking for people who can finish. Imagine that!

Tuesday, February 19, 2008

DreamSpark - Microsoft Gives Software to Students for Academic Use

OK so it is already all over the blogosphere that  Bill Gates announced a new program called DreamSpark to give software to students. (The official press release is here BTW) So I'm kind of late to the party already. Channel 8 is going to be a key source for developing news on this project so you may want to keep looking over there.

In fact to kick it off there is an interview with Bill Gates (in case you were wondering who that guy with Max Zuckerman was) talking about the program and about the future potential of software.

So what is being offered? Glad you asked!

Microsoft developer tools.

Microsoft designer tools. Expression Studio, including:

Microsoft platform resources.

  • SQL Server 2005 Developer Edition
  • Windows Server, Standard Edition (Yes, Windows Server Edition!!)

There are two key FAQs.

A couple of questions have come after that. They are probably in the FAQs but maybe you can't wait or maybe they are not. Yeah, that's why I was waiting to blog so I could answer more questions. No really! OK maybe not  but it works out well that way.

What about high school?

It's coming. It has a high priority as the next step. Bill Gates says it will happen and that commitment appears several times in the press release and in other official statements. I'll have more information about this as things get settled and information becomes available.

How do students learn how to use this stuff once they have it?

I've got a few resources listed here and I am working on getting more listed. So return often. And if you have some to recommend please leave them in the comments.

  • Beginning Developer Learning Center - a great place to start with videos, tutorials, and projects for learners of all ages.
  • Coding 4 Fun - Lots of fun projects most with step by step instructions and many with videos.
  • MSDN Forums - These are the forums the professionals use but beginners are welcome and there are lots of people willing to help with technical questions. A lot of students and faculty members are already there asking the tough technical questions.
  • XNA Forums - If you want to learn how to develop video games with XNA this is the place to ask questions.
  • Channel 8 and the Channel 8 Student Union - lots of information in the videos there and lots of good discussion in the forums of the Student Union.

What about faculty? What about classroom/course use?

Microsoft is retaining their existing programs for getting software into the classroom and for course/faculty use. The MSDN Academic Alliance program (MSDN AA) is great for getting software for teaching labs, including a lot more than DreamSpark offers students, into the hands of faculty. Also there is the IT Academy program. If you are a faculty member who teaches IT/CS or related topics you really want to check those programs out. MSDN AA and IT Academy are both programs that already include high schools in case you were not aware of that.

Faculty can also get access to software though the Faculty Connection sites.

StatCounter - Free Web Tracker and Counter
StatCounter - Free Web Tracker and Counter

Tuesday, February 12, 2008

Build, Craft, Hack, Play, Make!

It looks like Maker Faire is starting to ramp up for this coming May. I'm trying to see if I can justify a trip out to California for it this year. Last year a couple of my friends worked the event showing off some really cool stuff and had a great time. Maker Faire is sort of s geek version of a county fair. It is a cross between a big county fair and a science fair with an emphasis on making things that are fun and interesting as much if not more than practical.

There is a "call for makers" out now. You can find out how you can show your own interesting projects there. I borrowed some information from the call for makers page and put them below but you should go here if you are interested in taking part.

Maker Faire Bay Area Entries: Deadline March 12, 2008
Key Points:
  • Entries Due: March 12, 2008. Space is limited, please submit your entry early!

  • Maker Faire Tryouts (See below): February 17, 2008, The Exploratorium, noon – 4pm.

  • Notification of Acceptance: Entries submitted by March 12 will be notified by March 19.

  • Maker Bay Area: May 3-4, 2008
    Hours: Saturday 10-6 pm; Sunday 10-5pm.

The Bay Area Maker Faire for 2008 will be May 3-4, 2008 in San Mateo, CA.

Wednesday, January 02, 2008

Some Interesting and Useful Curriculum Links - Visual Basic, XNA, Other Intro CS

Over the holiday I did some browsing around the Internet. I found a couple of new blogs to follow, read some posts by people who hadn't blogged in a while, and just stumbled across some interesting things while looking for something completely different. Among my discoveries were some interesting curriculum links that I thought were worth sharing.

One of them is a set of online modules for teaching Visual Basic written by Professor Larry Press from California State University, Dominguez Hills. The modules are here with each line in the table being a module with hot links to information, projects, code, etc. You can read a summary including some of their findings on how well this worked here.

From the east coast, MIT has been making curriculum available online for a while but now has a new high school page with courses designed by MIT students for high school students. You can also get a good look at their online introductory computer science courses here along with introductory courses in a number of other subjects.

Last but not least Brian Scarbeau has started to blog about the new XNA course he is teaching this semester at his high school. Brian links to information about his curriculum and the textbook he is using. I hope he has time to keep it up though I know he is a busy guy.

Some good things out there on the Internet these days. It's just a matter of finding them.

[Cross posted from my main blog.]

Thursday, November 15, 2007

Thursday, July 19, 2007

Mr T's Rants

Who is this Mr T (or is it Mister T) and why does he fascinate me so much? OK I'm playing with you. I just want to see how long this takes to show up on Technorati.