Monday, September 30, 2019

The Problem Of Cheating on Programming Projects

This seems to be the year a lot of people are really getting concerned about cheating on computer science programming projects. There has been some discussion of the issue on one of the mailing lists I am on. Garth Flint blogged about it at Finding cool projects for programming classes. And I caught a student searching for exercise solutions for Code.Org’s AP CS Principles course work.

Of course cheating on programming projects is nothing new. I know that people shared punch cards back in the early days. Yeah, I’ve been around a while. I have also caught students sharing code via Google Docs. With the tools we have today, cheating has never been easier. Solutions to popular coding projects are easily available on the Internet and found using search engines.

It’s amazing that students don’t think teachers can recognize and then find solutions that a student copied from the network. We can and we do.

One common refrain I hear is that professionals get code off the Internet. And they do. GitHub is all about sharing and reusing code. StackOverflow and sites like it are were professional and amateurs find solutions to their problems and use them. It is considered good practice to use these tools. But school is different.

School is about learning and projects are assigned both to provide practice and to evaluate what students have learned. Students have a tendency to grab code they don’t understand and try to shoehorn it into a project. Or to copy a while project and turn it in as their own. Interviews can usually determine is a student understands what they used or not.

Ideally though, students would only hand in their own individual work. That is better than catching them and docking them points. Today’s students have more pressure to get good grades and (apparently) less understanding of the correlation between knowledge of the material and those good grades.

Garth wrote in his blog about trying to come up with unique projects that don’t have solutions on the Internet already. That’s hard. It seems like a lot of us teachers think of the same projects. Or we get them from third party curriculum and textbooks. Once a project is in wide use solutions will appear on the Internet pretty quickly.  Even if a teacher does come up with a project that can’t be found on the Internet, if you have one really bright student who is willing to share their solution you can have cheating.

The only thing I can think of is making the issue part of a discussion of ethics and the meaning of school. Using code from the Internet correctly requires that students actually understand what they are using.  Students who cheat their way through are going to find themselves in a bind eventually. If not in post secondary school than in their careers.  Somehow we need to make them understand that.

Wednesday, September 25, 2019

If Statement Programming Projects

Over the years I have used a number of projects to give students practice using if statements – especially those that involved nesting or checking lots of values. Currently I am using:

  • Hurricanes – user enters a wind speed and the program reports the storm category
  • Voting – User enters an age, and checks boxes to indicate citizenship and registration
  • Pizza pricing – Base pizza prices plus add-ons for veggies, meats, or different cheeses.
  • Movie theatre pricing – a bit easy as there is only ages to check but ranges require some thought.
  • Ski tickets – prizes based on age and whether or not they are staying at the resort. I could add holiday/weekend of midweek as well.
  • Jumanji – If the random number generator “rolls” two dice whose totals are a 5 or and 8 let the player out of the jungle.

These all work fairly well. Students relate to most of those. Voting gets kids thinking about their future so that is a plus. Obviously decision structures show up in other projects all semester long but these have that as a special focus.

I’m trying to think of some new ones. Projects that are relatable and that are complicated enough to make students think but not so hard that they get frustrated easily. What are you using? What works well with your students?

Tuesday, September 17, 2019

Book Review: "Tools and Weapons"

"Tools and Weapons" by Brad Smith and Carol Ann Browne is a look at some important computing issues through a Microsoft lens. It is a pretty revealing look as the authors write seriously about the thinking behind Microsoft’s dealing with issues like the Snowden leaks, suits against the government about over reaching subpoenas, protection of users data, transparency, cyber security, and more.

I really like this line from the introduction "When your technology changes the world, you have a responsibility to help address the world you helped create."

There were several threads moving through the book. One was the need for building guiding principles for looking at technology and its uses. An other was the need for diversity among people developing technology and the guiding principles. There is frank talk about embedded bias in algorithms and how diversity is essential to fixing that problem. Responsibility for what technology does is another key thread. Without using these words, the book suggests that “should we” is as important if not more so than “can we.”

The chapters on Artificial Intelligence and facial recognition are the best look at the pros and cons I have read so far. Many people seem to have a doomsday view of AI but Smith and Browne have a more nuanced look; one that is not apocalyptic but more practical and near term. There is a lot to think about in these chapters but the picture painted is more about how we need to think about issues going forward than that we should either panic or be unconcerned.

I found the chapter on China very interesting. It was clearly written carefully to outline cultural and political differences without appearing to attack anyone. I might have preferred a stronger stance but I’m not the president of a global company.

One clear takeaway for me is that today’s Microsoft is not the same Microsoft as it was under Ballmer or Gates. Satya Nadella is a different sort of leader altogether and ethics and principles of a company are set at the top. Where Gates was naïve in some ways and Ballmer was focused on the bottom line Nadella, while not losing sight of the bottom line and still naïve in some ways (remember his gaffs about women getting ahead) looks at things differently, listens better, and is interested in the better good.

His decision to release Windows XP patches for the WannaCry virus for free is one I have to wonder if Ballmer would have made the same way. Maybe he would have but that I have to wonder is telling.

The book is not a difficult read. The language is non technical and technology is explained in layman’s terms. That is not to say that the book is only for non-technical people. I think technical people should read it. So should policy makers in both government and the private sector. It would make a great supplemental reading for an ethics course, especially for an ethics course for technical people.

One last interesting thought from the book. No one graduates from a US military academy without taking an ethics course but many people graduate with technical degrees without taking an ethics course. Maybe that should change.

Friday, September 06, 2019

Password Checking Tools

Neil Plotnick shared some Password Checking Tools on Facebook recently. I’ve used some of these in the past and find them useful and instructive.

The more security aware of my students always ask me how safe it is to use these websites. I tell them to use things they think are good passwords but not ones they actually use. Some of the sites make the same recommendation.

The first two sites above give an estimate for how long it would take a computer to brute force crack the password. The estimates don’t always agree. This is not surprising as they are probably based on some slightly different assumptions. The time scale is more important than the actual number though.

The third site explains why a password it strong or weak which is very useful. One thing that is interesting is the impact of special characters. I have run into a number of sites that don’t allow special characters in passwords. I find that surprising and wonder why that is. I’d rather require their inclusion.

Having students in a programming class write their own password checker is a great exercise by the way. It helps reinforce string manipulation, general parsing concepts, and password safety all at the same time.

Thursday, September 05, 2019

NCWIT Award for Aspirations in Computing

This is a great program for high school girls interested in technology. I have had several students get awards at the state level and they all say it has been a good thing for them.


Hello Educators! Applications for the NCWIT Award for Aspirations in Computing are now open! The deadline is November 5th, 2019. As an educator, you play a pivotal role in supporting the next generation of technologists. When 2018 AiC Award recipients were surveyed about their motivation to apply for the award, 65% of respondents named outside encouragement to apply. When asked about who most influenced the award recipient to apply, 62% of respondents named Teachers/Educators. Encourage your students to apply and spread the word!

When you endorse a student’s application, you are eligible and encouraged to apply for the NCWIT Educator Award. Applications are due December 2nd, 2019!

https://www.aspirations.org/participate/high-school

Wednesday, September 04, 2019

The Scratch Course For Teachers

This looks like a valuable free professional development course for teachers interested in incorporating Scratch into their curriculum.


"The Scratch Course" is a free, six week, online workshop style course for teachers interested in learning more about programming with Scratch. Originally created through funds from Google's CS4HS program, this course has served over 1000 teachers from around the world in the last five years. We are preparing to offer our fall 2019 section of the course starting on Monday, September 16. For more information about the course and to pre-register, visit: https://csed.uni.edu/scratch-intro/

Monday, August 26, 2019

Updating and Expanding Programming Projects

I’m always looking for new projects. I found an interesting example in the book “The Creativity Code” (Creativity Code review here). It was a poem generator that took random adjectives, adverbs, verbs, and nouns and fit them in “missing” spots in a template. It looked like fun but as I thought about it, it was really just a different version of a MadLibs type of game. It’s also similar in some ways to the Shakespearian insult project (have you seen the Shakespeare Insult Kit at MIT?)

What I would like to do is expand a project. That is to say I would like to take an existing project, like the Shakespeare Insult project and add something to it. Projects that grow and build as new knowledge is learned can be highly motivating.They mean students don’t have to start a project from scratch. This also reinforces the idea that programs can, and often are, modified and enhanced.

Currently my Shakespeare project teaches about parallel arrays. What I have been playing with is adding a class to this project later. An object of this class would store  array lists of strings and have a method to return a random string when asked. Retro fitting the new class should be fairly easy for most students. They will see how this simplifies code

insults.Next()

being easier than

insults[r.Next(0, 50), 0]

While simple at first I have realized that there are multiple constructors that should be created for this new class. An empty list and an object initialized with an array (or other list) at a minimum. Similarly there should be an Add method which would have several overlays – individual strings and an array of strings are two obvious examples. I am sure that student will think of others as we go along.

I’m optimistic that this idea will lead to some useful discussions about thinking ahead about how a class might be used and how it could be written to be useful in a number of different design cases. At the very least I had fun reviewing ArrayList as I wrote some code as a thought exercise.

Thursday, August 22, 2019

What I Want from Computer Science Education Professional Development

The CSTA 2020 Call for Proposals is out and as usual it has me thinking.   Two questions come to mind. One is, what can/should I propose to present? The other question is what do I want to learn? I think I have been to every CSTA conference (since it was the CS & IT conference) so I have attended a lot of sessions. I’ve presented quite a few times as well. So I have a lot of history to think about.

I don’t currently have any sessions or workshops I want to present. I keep asking myself is that is because I am not working hard enough to innovate or create new ideas. I suspect that a lot of people doubt if they are doing anything special enough to present. Some of those people are right but a lot of them are wrong. So I need to think about that.

I’m thinking more about birds of a feather sessions to propose and looking at my projects to see if I have something really nifty for the nifty project session. Birds of a Feather (BoF) sessions are very interactive and are great for refining ideas. And nifty projects are, well, they’re nifty.

What do I want to see presented? That’s actually hard these days. Why? Because my brain is already full of more ideas than I could learn or teach in a lifetime. Artificial Intelligence, cloud computing, Internet of Things, game development, virtual reality and on and on. Content! There is a lot of possible content out there.

What I really want to learn is how to teach better. I’m doing some reading (Computer Science Education is my current read) and I’ve been learning a lot from Mark Guzdial’s blog for a while. If you ever get a chance to hear Mark talk about how to teach computer science GO HEAR HIM! There are a number of his talks on YouTube BTW.

Lots of people want to promote a new tool (software or hardware) as a silver bullet for teaching. I’ve heard enough of them. Given a few myself. The more I teach though the more I think there is more to becoming a better teacher than a cool new robot, a fancy new IDE, a great new “educational toy.” or what ever.

Teaching is ultimately about establishing a relationship between teacher and student. It is about communicating well and sharing passion. That’s what I want to learn how to do better. And if you have research to back up what you are teaching about how to teach I really want to hear from you.

Wednesday, August 21, 2019

Vicki Davis Interviews Alfred Thompson

Over the summer Vicki Davis interviewed me for her Ten Minute Podcast. Vicki and I have been friends for a number of years and it is always a pleasure to talk with her. We talked about a number of things including Project-based learning. Passion-based learning. Problem-based learning.


Sunday, August 18, 2019

And So It Begins–School year 2019 2020

Tomorrow (Monday) I will meet the new freshmen in my study hall. And I’ll finish getting my room ready for the new school year. First day of real classes is Tuesday. And I am not as ready as I would like.

I have a day by day plan for every day of the semester (even the year for my AP CS Principles class). Lesson plans last until they run into actual students so there will be adjustments. There always are. It’s my 5th or is it 6th year teaching honors programming so that is more settled than anything else. I still make changes as I go along because not every class in the same as any other. And who wants to do the same thing year after year anyway.

It’s my third year teaching AP CS Principles and I am making big adjustments in the schedule over last year. I am hopeful that I’m going to get it better this year but who really knows.

My third year for teaching Mobile Application Programming and I am switching from AppInventor to Thunkable. AppInventor has given me a lot of issues with the emulator and most of my students have iPhones and Apple is dragging their feet on allowing AppInventors iPhone software. Thunkable already works with iPhones, though without support for some features I would really like. Plus it seems to connect to phones more reliably. We’ll see how it goes. I’m adapting project ideas as I go along. That’s not completely new but it is not without risk.

At least I only have three preps. Last fall I had four. I also have more free periods as I am teaching a reduced load (at my request) and that should help a lot.

Are you ready? Have you begun already? Let’s do this thing!

Wednesday, August 07, 2019

Book Review: The Creativity Code

I’ve been reading a lot about Artificial Intelligence (AI) this year. Several of them have been pretty scary. It was recommended that I take a look at “The Creativity Code: Art and Innovation in the Age of AI” by Marcus DuSautoy. It was a good recommendation. This book is different from the others I have read. Or tried to read. It’s focus is not on business or about intelligent weapons. The focused as the title suggests is on creativity.

The book discusses how computers, or rather AI software, is creating art, music, and new ideas in mathematics. The author is a renowned  mathematician so the sections on using AI in math, developing proofs for example are especially well done. One unexpected benefit of the book for me was a new appreciation for what mathematicians actually do and why they find some year joy in the field.

The author shares some concerns about how AI might make mathematicians like himself obsolete. In the long run though he sees a place for human creativity in the world. AI routines are still being trained by people. They do go beyond what they are specifically trained but have to start with that training. Well, usually anyway. Will that change? Let’s just say that there are still a lot of unknowns. AI has moved in ways we haven’t expected already so there is that.

If you are interested in learning about AI in art (computers creating works in the style of famous artists for example, music (using existing styles or creating new ones), writing (fiction or non-fiction), mathematics, and several other fields we don’t usually associate with AI this is a good book for you.

It’s an interesting and usually easy read (I confess some of the math was a little deep for me). It an in interesting look at AI. Recommended.

Thursday, August 01, 2019

What Programming Concept Do I Use?

I’ve been programming a long time. I wrote my first computer program in 1972. I think the parents of some of my students were not even born yet. So it’s hard to remember what it is like to be a beginner. Late last school year it finally occurred to me that a lot of my students understood concepts in theory but were having trouble knowing which concept to use to solve problems. Honestly this was having trouble sinking it with me because this stuff is so obvious to me.

Lauren Margulieux helped me out here with her recent blog post I’ve been a Computing Education Researcher for 8 Years and just took my First Programming Course: Here are 5 Things I Learned. This is a must read post for anyone who teaches beginners. One of her five things was “Deciding which programming concept to use was harder” Just what I had been thinking about lately. I think her experience, background, and ability to self-analyze her own learning helped her to see  what I think are common beginner issues that I have had trouble seeing myself. Maybe other teachers have trouble seeing these things as well. Or maybe just me.

Suffice it to say, I have to really think about how to help students over these hurtles.  Helping students to see when to use various concepts is my first priority. Stories maybe the answer. Can I tell stories about the sorts of things various concepts are good for. I do some of that already but maybe more examples will help. It’s worth a try.

Tuesday, July 30, 2019

Too Little Time and Too Many People

Four years ago I was at a two day informal gathering of teachers. As much as I really enjoy conferences like CSTA, SIGCSE, ISTE and others there was some real magic about an informal gathering of about 12-14 teachers who cross age groups (individually and who they teach) and curriculum subjects. It was awesome. I really want to do it again.

Teachers don’t get enough time to share ideas informally. We have conferences and there are opportunities there but they are often one way conversations. We have sit and get sessions. We have panels where a chosen few share ideas in answer to pre-planned questions. None of this is bad but sometimes it doesn’t feel like enough. Unconferences are different and usually a lot more interactive than traditional conferences and I like them as well.

Perhaps the problem for me is a bit of FOMO – fear of missing out. There are too many interesting things going on. Too many side conversations No one can take it all in.

A lot of people like to talk about the hallway track at conferences. These are the conversations that talk place in hallways, spaces outside of conference rooms, at bars or restaurants, or just about any place not in a formal session. They take place because attendees often have little real life contact outside of conferences and yet share similar issue, problems, or other interests. The gathering I attended four years ago was basically a two day hallway track.

The problem with hallway tracks are conferences is size. By that I mean that some conversations would be better if there were more people involved and some would be better if fewer people were involved. Take conversations at dinner for example. You can get a dozen people or twenty people all at one table. Realistically you can talk to the people on either side of you and two or three across the table from you. So there are multiple conversations that start, run their course, and then reform. Now these conversations can be great and I love them. But FOMO rears its ugly head – what is that conversation going on at the other end of the table and should I be in that one? Silly perhaps. But I suspect I am not the only one who feels this way.

There is probably an optimum size that lets everyone talk, everyone listen, and makes everyone feel involved. The setting and seating arrangement probably has an impact. Chairs or tables around a circle allows to a lot more people involved than a long single table or small groups standing around. Someone has probably done some research on this.

Perhaps book clubs can be a model? In any case, I think teachers could really benefit from small in number but longer in time chances to share ideas. We can learn a lot from each other.

Links to the blog posts I wrote about that gathering a few years ago:







Friday, July 26, 2019

Big Complicated Programming Projects

Ria Galanos has a wonderful blog about her experiences moving from the classroom to a life as a professional software developer. It’s been a long time since I developed software for a living and her posts are bringing a lot of memories back. A recent post (Putting It All Together) talks about understanding a large code base. This is something professionals have to do often. They very seldom write code from scratch. usually they work enhancing, correcting, modifying, or otherwise working with large existing code bases. Understanding these complex  Ria talks about the Advanced Placement Computer Science A course which used to have a case study, a larger piece of code that students had to learn, understand, and modify. She wonders if bring that back might be a good idea to better prepare students for industry.

There are some interesting comments from experienced educators on that post. Mike Zamansky posted a follow up post (Big Code And Case Studies) where he talks in favor of large projects at the right time and that AP CS A might not be the right place for the type of case study required.  or at least not a specific and mandated case study that everyone uses.

We’re not trying to turn out professional software developers in high school. That is important to remember. There is a lot of value in learning how to understand large code bases though. I think there is value in it even for someone not planning on becoming a professional software developer.

So much of how we teach beginners lacks context. We focus on little bits is a sort of isolation. The projects we assign are simple and small. In some regards they have to be. The problem is that without real context understanding how things fit together is limited.

I’ve tried a number of things to give students involved in larger projects. I have given students larger, more complicated projects written by others. There are any number of professionally developed “samples” that are more complicated than the average beginner will write alone. I’ve also tried having students work in teams with different modules assigned to different students in the team. I’ve seen mixed results with both.

The trouble with large samples is that there is limited time to understand the code by the time students have enough base knowledge in a single semester course. Similarly in a one semester course there are limits to how complex a project student or group of students can build before time runs out.  APCSA is usually taught as a year long course and would seem to lend itself to either of these ideas, and the case study was a larger code base, there are still a lot of concepts required by the curriculum that can place time limits with some student bodies. This is especially the case when APCS A is a first course.

I’m starting to think that high schools need a sort of CS capstone course to follow up after AP CS or other foundational courses. Not ever student will have schedule room but I think that a lot of students who really fall in love with CS will find a way. Some schools will (or at least could) build at sequence that would include such a course. This course would allow students either individually or in a small group spend a whole semester (a year maybe) developing one large project. I think this could be a chance for students to work on learning a new (to them especially) technology.

Monday, July 15, 2019

Question Technology

One of the interesting t-shirts I saw at CSTA 2019 last week said “Question Technology.” That might seem to be a strange slogan at a computer science education conference but it really shouldn’t be.

Security of information, privacy, and the ethical use of technology was a constant topic as CSTA. From the Tuesday keynote by Natasha Singer from the New York Times to multiple sessions on cyber security to hallway conversations these were regular issues to discuss and to talk about how to teach. I don’t think there is any disagreement that we need to talk about these issues with our students.

We need a generation that asks “should me as often as can we” do things with technology.

Friday, July 12, 2019

It’s Really About the Teacher

CSTA 2019 gave me a lot to think about. Today I was thinking about what was impressive and I thought about the Tuesday lunch panel. Microsoft brought a panel of high school students to talk about how computer science education was changing their lives.

None of these students talked much about the programming languages they learned or really any of the technology. No talk of robots, or other gimmicks. What they talked most about was their teachers.

They talked about teachers who got to know them as people. Teachers who encouraged them to try new things. Teachers who supported them when they ran into obstacles. Teachers who valued them as people.

New programming languages are cool. Gadgets can help us make things more interesting. When you get right down to it though the key factor is student success is largely dependent in the teacher. I don’t know who said it but it is true – they may not remember what you said but they will remember how you made them feel.

Thursday, July 11, 2019

What do Companies Get Out of Supporting CS Education

After the announcement of a millions dollar grant by Google to CSTA and the new “Code with Google” program I was asked “what does a company get out of this sort of thing?” The answer can be complex.

In many cases, including this one from Google, there is no obvious monetary benefit to the company. In fact the closest thing to a balance sheet benefit is probably goodwill. Now goodwill can be very important to a company. Given the current political scrutiny on companies like Google (and Facebook, Twitter, and Amazon) one would be excused if they saw that as a motivation.
I’m not so naïve as to thing that goodwill doesn’t play into decisions like this one but I doubt it is the whole story.

Companies like Google. Amazon, Microsoft, and others live in an environment that includes many other companies. These huge companies will always attract top technical people but for many companies there is a real shortage of technology people for them to hire. These foundational companies need the companies who build on top of their foundations to also be able to hire technical people. Supporting CS education helps support that environment.

And it is not just tech companies who need these people. All companies need people who at least understand technology. So in many real ways one could call support for CS education enlightened self-interest.

Do companies want students to use their products? Of course and so you will see things like Swift Playgrounds which runs on Apple products and develops apps for Apple products. Or AWS Educate which uses AWS and will probably result in future paying customers for AWS. Again, there is some relationship building that companies hope will lead to future business but the concepts are far from limited to those specific products. There are no guaranties here but they are clearly more about building the company's environment than the specific companies.

Other products though don’t have as clear an path to profit though. Take MakeCode and Makecode arcade developed by Microsoft. These products don’t lead directly into revenue generating hardware or software sales. What they do is develop more people with a knowledge of programming and computer science. That helps the environment.

As I see it, companies are interested in building the CS environment, building goodwill, and possibly getting some business in the future. The degree and priority of those motivations vary by company and even time.

For me as an educator, my concern is about the concepts tools teach, how they motivate or not my students, and generally how they prepare my students for the future. Concerns about privacy and security are of course also concerns. If a company helps me do my job and prepare my students better I see that as a win. If companies get a benefit as well I hope that will encourage them to help more.

Wednesday, July 10, 2019

Random Thoughts on #CSTA2019

I’m pretty sure I have been to every CSTA conference going back to when it was the CS & IT conference and there was no CSTA organization. This year’s was by far the biggest and maybe even the best. But it does feel big. Not ISTE big or even SIGCSE big but big for a conference of CS teachers.

That’s great is many ways. I think there were up to 9 concurrent sessions in each time slot on Tuesday and Wednesday. I remember when there were two. On the plus side you are pretty certain to find a session you are interested in. On the down side you are also likely to find two or three you are interested in at the same time. It’s a fact of life.

It’s not so big that I can’t find most of my friends there but it is something I have to be more deliberate about. And of course on the plus there are many new friends to make. ISTE is too large and there are many people who I know were there but we just didn’t connect. How big does a conference have to be before it loses the closeness that I value so much about CSTA? I don’t know. I do hope the conference committee thinks about that though.

Volunteering was a good thing. I worked the registration desk. It was nice to see and meet people I know and didn’t know. The registration system seemed to work very well. The CSTA staff handled glitches and issues quickly and professionally. That seems to be developing fast enough to handle the size of the conference.

Sessions were all very good. Not everyone was everything I was hoping for but that is to be expected. The quality of the presenters was really high though. I think that the speaker quality is higher at CSTA than ISTE on average.

Comparing ISTE and CSTA is interesting if not exactly fair. CSTA has a specific focus – CS education and CS is one of many topics for ISTE. A number of companies were exhibiting at both and I would love to know how the two conferences compare for them. A couple of companies that were at ISTE were not at CSTA. I was surprised that Unity was at ISTE. I really was. A big booth as well. I suspect they could have reached more CS educators at CSTA for a lot less money. But maybe I don’t understand their goals.

Speaking of the exhibit hall, there was close to 60 exhibits this year. I think we had 6 the first year we had exhibits which wasn’t that long ago. I do feel they add to the value of the conference. Much of the materials being offered were free as well. Obviously not hardware but much of the curriculum and other teaching resources. Lots of it looks like it has been used successfully in a lot of classrooms. By contrast, much of what I saw at ISTE was both more expensive and with less of a track record.

Microsoft and Google both had significant presences at CSTA. They’ve both, though their charitable arms, donated a lot of money to CSTA in the last year plus as well.  Money indicates support but I feel like a physical presence speaks a lot of commitment and seriousness of interest as well. Amazon was there showing a couple of programs including there AWS Educate program and some of their other STEM efforts. Facebook had a small presence as well. It was low key and not at all about selling Facebook to people. The heavy hitters in technology seem to realize the importance of CS education and CS educators. No sign of Apple though. Sigh.

Next year is a day longer than this year. CSTA and CS & IT used to be one day. Then two. Five next year? I have no doubt at all that they can fill it with enough quality content. I do wonder about the expense of attending though. Airfare and conference fees don’t jump that fast for an extra day but hotel rooms can be a big expense.  I’ll wait to see what the schedule looks like and what the hotel costs are before I make my plans for next year. I do plan to go. The question is for how long. I suspect a lot of people will be doing those calculations.

Google and other companies have been helping with scholarships and I hope that continues. It’s especially important for first time attendees. I hope school districts see the value and step up for teachers as well. Arkansas had over 30 people at CSTA and I believe the state kicked in a lot of the money for that. With more and more states mandating more CS education will they also step up with professional development money? I hope so.

My big take away though is that CSTA is the conference K-12 CS teachers should attend if they can only attend one conference. Hope to see many of my readers at CSTA 2020 next July.

CSTA 2019 Day 3

So I missed the opening keynote which I am sure was amazing but I spent the time catching up with a good friend who I see too rarely. Time well spend. Leigh Ann Delyser from CS for All sometimes talks about the CS community as her grown up summer camp friends. I have to agree. The face to face time with friends at a conference makes the communication between in real life meetings much better.

My first session of the day was a panel about advancing equity and diversity. It really focused a lot on curriculum and how to teach to ALL students. Not a limited focus on girls or under represented minorities but a realization that diversity requires welcoming environments for ALL students. There was also some good discussion about creating projects that are open and inclusive for students of different abilities and backgrounds. This is just one time when curriculum in general and finding the right projects for the classroom. I need to think about writing up more on that topic.

My last session before lunch was a series of three mini sessions. The first was on Engage CS Edu. This is a curated site with projects of various types and concepts for CS educators. It is “Foster diversity in your introductory computer science courses with quality content and engaging pedagogy” This looks very helpful as I am always looking for engaging projects that work with diverse students.
The second mini-session was on How to effectively Manage a CS class and was mostly about how CodeHS helps this teacher manage his courses. If I were looking for a new curriculum I would take a serious look at CodeHS. CodeHS has both free and paid levels.

The third mini-session was Building a Cyber Center for Excellence. They seem to have a very impressive cyber security center at Grand Canyon University. I don’t think a lot of it is reproducible in a high school but some of it it. The speaker has a free guide containing High School Cybersecurity Education Websites and Resources which  I did download and a not free ($3.99) ebook called “Beginner’s Guide to Developing a High School Cybersecurity Program” so I can learn more.

Overall, a very good conference for me. I learned a lot and I have ideas for the new school year.

Oh and next year’s CSTA Conference will be July 11-15 in Arlington Virginia.

Tuesday, July 09, 2019

CSTA 2019 Day 2

I’m always skeptical about celebrity keynotes at education conferences so my expectations for Natasha Singer from the New York Times.were not high. I was pleasantly surprised though. She gave me a lot to think about when teaching things like ethics, accountability, and privacy. Things like what the saved wi-fi networks our computers save and share to how companies track individuals and more. A good keynote should give attendees things to think about and things to act on and this one did that for me. So great start to the day.

There were any number of sessions I would have liked to have attended and I think information about them (videos maybe and hopefully others blogging) will show up. For now I am writing something about the sessions I am attending.

My first session of the day was “Soaring through the Cloud” by AWS Educate. If nothing else people are getting a good look at the vocabulary of the cloud. Vocabulary is something I see as key. I was impressed that AWS wants schools they partner with share their curriculum and programs with other schools. Diversity is important to them. The AWS Educate program includes free cloud accounts, online training, and badging for successes. There is a ton of content there. I could see a special course around this.

Also AWS has been very responsive to teacher and school worries about student privacy and security.  Very important!

I didn’t have to move for my second session of the day – Using GitHub as a Content Management System. Another packed house. This was a good walk through of GitHub for me. As a total beginner it was pretty helpful..I still have a lot of playing around to do but it does seem really usable.
Lunch had a set of trivial games that we surprisingly fun followed by a panel run by Microsoft. The panel was of high school students who were talking about the influence of taking computer science courses on their lives. The students were from schools supported by volunteer TEALS instructors.  These students were from schools in low economic areas that would probably not have CS without the work of TEALS volunteers – industry professionals giving their time to teach students. It was an inspiring session. Oh and the food was pretty good too.

Afternoon took me to a session on Machine Learning. Teachers talked about teaching machine learning both as a concept and at a technical level. There are a couple of neural network “playgrounds” including the tensor flow website from Google that I want to use to introduce the ideas to students. There is a link to resources (http://bit.ly/ML-HS-Resources ) that I plan to explore.

Last session of the day for me was Nifty Assignments. We could have used a bigger room. This session was worth getting there early for.The new CSTA Nifty Assignments page has all of the references to the sessions. Five interesting projects with something for everyone. from K-5, to 6 – 8 to 9-12. I’m inspired to have my students do more graphics by the digital coloring book projects and have some great ideas about using letter frequency counts. Oh and last year’s nifty assignments (which I missed) are also linked there. This is only going to be a better and better resource as time goes on.

For me the day finished with dinner with David Renton who taught college is Scotland for years and who now teaches high school in the US. Great conversation about teaching and differences and similarities in education in two different countries. You really can meet the best people at CSTA.