Showing posts with label Diversity. Show all posts
Showing posts with label Diversity. Show all posts

Tuesday, February 27, 2024

Alphabet? What alphabet?

I used to start a talk on internationalization of code with the question “How many letters are in the alphabet?”  Once I had several people say “26” I would ask “Shouldn’t you ask ‘what alphabet’ first?” I would then discuss some different alphabets and how many more or fewer letters they had. Then briefly mention that not all alphabets look the same. That’s is why ASCII is not good enough.

Today I ran across the following graphic. I wish I’d had it back in the classroom.

Who knew there were so many diffe3rent scripts? I suspect that are many more not on this list of course. Let’s not forget that some them are read left to right and not right to left.

Are you discussing multiple scripts and alphabets with students? It can bring up some interesting questions. And widen ones experience. If you are lucky enough to have students who are familiar with these non-Roman script languages ask them to explain how sorting of words happens. I had Chinese exchange students who were happy to explain how Chinese words are sorted. Short answer is by the strokes that make up the words.

Wednesday, December 13, 2023

Looking Forward to Computer Science Education in 2024

“Prediction is very difficult, especially if it’s about the future!” --Niels Bohr

My track record at looking forward in CS education is a mixed bag. I kept expecting a big jump in internet of things courses and those never developed. Sad really. I think it would be a good idea. I keep predicting growth in cybersecurity courses and the past year seem to show a lot of growth there.

Cyber security is getting a lot of press so I see more of these courses in 2023. I hope they are real in-depth courses and not just how to stay safe online. Teacher interested in this should follow the Cybersecurity Educators group on Facebook.

I predict that Artificial Intelligence will be a big deal in CS education in 2024. OK, that’s easy. How will it play out? Well, that is a different question. Certainly teachers are going to be concerned about AI tools helping student cheat. Some, the better teachers, will find ways to use AI tools. For example, having students evaluate the generated code. Does it cover all the conditions? How can prompts be better for better results? It the generated code any good? What does “good code” even mean?

There will also be a growing movement  to teach about AI. How does it work? What are it’s limitations? What are the ethical and social impacts of AI? So much the teach and learn for students and for teachers. We’re only getting started.

Another easy prediction – Python will continue to grow in use.AI libraries will drive some of that for sure. A lot of teachers seem to prefer it to Java though so there is that. Will it replace Java for APCS A? I doubt it. IT will be interesting to see how the JavaScript/Python balance develops in AP CS Principles though. Keep an eye on it.

Unfortunately, I predict continued growth in the number of unprepared CS teachers. I wrote about this in my looking back post and I have no expectation of improvement anytime soon. Looking Back on Computer Science Education 2023

One big thing I wonder about is DEI in CS education. Will the politics and demonization of DEI impact how CS it taught? Diversity, Equity, and Inclusion are pretty important if we’re going to really make progress in computer science. Having a white and Asian mal monoculture has not, in my opinion, led to a good CS ecosystem. We need diverse thought in CS. I may have another post just on that subject.

At the same time, we need to be careful in PD and conferences that we don’t only talk about DEI. I’m not seeing a lot of disagreement on the idea that we need to have diversity in the industry and our classrooms. Teaching equitable is also a no brainer. And inclusion? We’ve pretty much agreed on the need for that in education. Do teachers need to be beaten over the head to see the need? Not the ones I know. At some point too much preaching to the choir is going to result in a backlash that we can ill afford. Let’s not assume that teachers don’t understand the problems. Let’s focus on solutions.

I’m really looking forward to the annual CSTA conference this summer. It’s going to be greet. This summer we will hear what teachers have learned over the last year or two. Being in-person means a lot more interaction.  I may have to make a mid-year post about the 20224/2025 school year after the conference.

So what to you see happening in CS Education in 2024?

Tuesday, March 14, 2023

Book Recommendations for CS People

tl;dr Book recommendations:

Overnight Code was recommended to me after I recommended Code Girls on Facebook. Overnight Code is a truly inspiring story of a woman with two strikes against her (female and Black) whose hard work, determination, and talents helped her do some revolutionary work in naval engineering and integrating hardware/software systems.

Debugging code is arguably a lot harder than writing new code. Raye Montague was amazing at debugging code and integrating disparate systems. But also a good person who helped mentor and advance others. She was given tasks that others had said were impossible to complete. Talent and hard work (Raye had a lot of both) allowed her to accomplish beyond expectations.

There is a lot of good career and life advice woven into this story as well. Advice for everyone. I could have benefited from this book early in my career.

"Code Girls: The Untold Story of the American Women Code Breakers of World War II"  was recommended by several people in a Facebook group dealing with a Kindle Challenge that Amazon is running. The idea about code breaking sparked my interest right away. This book was more than just that though.

There were plenty of insights into code breaking but the look into the lives of these amazing women was the highlight. It was a different time and women would not as respected as they should have been. Yet, these women put their considerable talents into working for the war effort and their country.

Code breaking is a fascinating subject in itself of course. I enjoyed reading about the “bombe” machines, how they were created and used. I also found the difference that code breaking made in the conduct of the war (World War II) to be interesting. This is not the sort of thing many history courses cover.

It’s easy to label these books as books for Women’s History Month or the Raye Montague book as being for Black History Month but that would be a mistake. These are books for all year long. I recommend them to anyone interested in the progression of computing in society. Code Girls is a great read for cybersecurity or cryptography students. Overnight Code is a powerful read for anyone not just computer science people. It is just that inspiring.

Saturday, November 12, 2022

CSTA New England Regional Conference #cstaNE2022

This year’s CSTA New England regional conference is at the University of Massachusetts (Amherst) school of Education. It’s a great venue. There are around 150 people here. I can remember when CSTA national conferences were smaller than that. It just shows the growth in CSTA and the growing strength of CSTA chapters over the last several years.

I am running into a number of people I know and meeting some new people as well. That is what makes in-person conferences so extra special.

The energy level is high here with teachers from all over New England and New York. The opening keynote was by Dr. Cheryl Swanier who talked about “Changing the Face of Technology for Social Good.” Tech has a woman problem – we don’t have enough of them. As part of her talk, Dr. Swanier showed this video Girls in Tech for Web Summit - Ruthe Farmer – YouTube We’ve been taking about this problem for a while but we really need to take our actions up a notch. The case is pretty clear.  Dr. Swanier also talked about explicitly teach problem solving. Much as we’d like to think that teaching programming does that, the truth is that it has to be taught explicitly.

My first regular session was “Teaching with Minecraft: Education Edition.” You’d think I would know all about this but honestly I have trouble grokking it. My grandson has seen it and thinks its cool so I figured I should learn more about it. Minecraft Education requires a license. That may limit what I can do initially. However, it looks like there are a lot of resources for teachers including lesson plans, the ability to share worlds, create NPCs (non player characters), and portfolios. There are Code Builder options for blocks, Python, or JavaScript with MakeCode.There is a demo that can be used with “An Hour of Code” and I will play with that. I was pretty impressed with what I saw today.

There were 10 or 12 exhibits at the event. One that really interested me was the Kibo robot from Robot Kits For Kids | KIBO | Kinder Lab Robotics.

These robots are programmed with blocks. Not virtual blocks! Physical blocks that cane be connected together. Once the program blocks are together the bar codes on the blocks are scanned into the robot which will execute the program This looks pretty interesting.

After lunch, we had a panel of CS/STEM leaders from the New England departments of Education reporting on what progress the states have made in the last few years. The tl;dr of it is that there are been a lot of progress. But the efforts could really use more money. States have created certification programs, made progress in getting states to require schools to offer CS courses. We’ve still got a long way to go. We could use more money for teacher PD. We could require CS courses for graduation. Although in several states CS courses can count for graduation credits in various ways.

Next up for me, Kathy Kleiman, Founder of the ENIAC Programmers Project, who told the story of the women behind the ENIAC. A story I have heard before but Dr. Kleinman tells it really well. I loved that she talked about the history of these women after the war. A lot of information at ENIAC PROGRAMMERS PROJECT

Next up for me, Gencyber Teacher Academy @ the Univ of New Haven: Incorporating Cybersecurity Concepts into 9th-12th High School STEM Curriculum.

This program includes a week long summer "camp" and follow up virtual sessions. Last year the program just included 25 teachers from Connecticut but applicants from other states are welcome to apply for next summer.  Anyway, it comes with a stipend and some good free stuff. And a lot of good learning,

Last regular session of the day for me, Bring Computation to Life with the micro:bit. I love the Micro:Bit and always like to learn about how teachers are using them in their classrooms. I linked to the presentation above and on slide 7 you can find the mini project that opened the session with links to the code used. It uses the ability of the Micro:Bit to send and receive messages. You will find a lot of useful links on that slide deck including in the speaker notes.

The closing plenary involved a lot of recognition of CS teacher award winners. and door prizes!

Next year the conference will be on October 20, 2023 at the University of Connecticut Storrs. Should be a good one.

Wednesday, April 13, 2022

Last Mile Education Fund–Making a Big Difference

We often underestimate the difference that small things can make. When I was in high school all I could afford was a cheap plastic slide rule (no calculators back then) and it really slowed me down with math. I sometimes wonder what a more expensive and accurate slide rule would have done for me. I had other privileges and did well in the long run. But that is not the case for everyone.

Privilege often gets conflated with potential when in fact a lot of potential gets short circuited because of obstacles that are more common for non-privileged students. Things that are non-issues for many become showstoppers for far to many others.

Picture a student with great potential in computer science who can’t afford a good laptop? Or cannot afford her textbooks or lab fees? Low income students often take longer to graduate because they don’t have adequate preparation and need some extra courses and time to catch up. That often means they run short of funds even with the finish line in sight.  Even good scholarships often leave gaps in funding that limit students from underprivileged backgrounds.

That’s where the Last Mile Education Fund is making a difference today. From the mission statement of the Last Mile Education Fund:

  “The Last Mile Education Fund takes an abundance approach, investing in a broader group of students already committed to technology and engineering fields, providing support for challenges they face beyond their control, and incubating them to be the next generation of innovators. “

Last Mile Education Fund invests in striving, low-income students pursuing degrees in the high-demand fields of technology and engineering to support them in their last mile to graduation and into a career.

A number of grant programs are available. Some of them specifically for female and non-binary students but a number of them are available to all genders.  The Microsoft Cybersecurity scholarship is for community college students of any gender for example. Full information about these opportunities is available at the Current Funding Opportunities page. I have links attached to some that have pages with more details.They include:

  1. EMERGENCY MINI-GRANTS
  2. Bridge Grants
  3. LAST MILE GRANTS
  4. MICROSOFT CYBERSECURITY SCHOLARSHIP PROGRAM
  5. NORTH TEXAS BIOTECH WORKFORCE FUND
  6. REU PARTICIPATION FELLOWSHIP

If you know of students who could take advantage of these grants please spread the word.  And let teams/people at universities and colleges who support low-income students know about these programs as well. They can help a lot of high potential students with some hurtles that could but shouldn’t hold them back.

Tuesday, March 08, 2022

APCS A–Java or Python?

There is a lot of discussion about moving the Advanced Placement CS A exam to Python from Java. The Collegeboard is reluctant to do so. They see APCSA as the equivalent to CS1 or the first course for CS majors in university. They cite research that indicates that APCSA students for very well in CS2 (usually data structures) and that CS2 is almost always taught in Java or C++. On the other hand, at many universities the purpose of CS 1 is growing and the audience is widening to include students from many different majors. I wrote about that yesterday (What Should APCS A Really Be About?) Mike Zamansky took it on on his blog as well (SIGCSE 2022 - What language APCS-A part 1 - the intent)

It seems like we have to first agree on the intent or purpose of APCSA (and CS1) before we discuss language. Given that agreement is never going to happen – CS people can’t agree on anything. So I will start my discussion from the standpoint of APCS A should increase diversity in computer science and prepare students for using computing in CS as well as other disciplines.

This is a concepts first decision not a language first decision. I feel that non-CS majors need the same concepts as CS majors. SO what are those concepts? Not a lot changes except that in computing widely APOs are bringing far more critical than they used to. They enable programmers to easily do things that used to be hard. They also more things we used to do early to later in a CS major.

Sorting is one example. With so many libraries to do sorting why should we spend a lot of time in a first course having students write sorts? We know they sorts they will write are not going to be up to the standards and power of sorts they can call that exist already. Algorithms? Surely there are other algorithms we can focus on to help students learn to study problems and developing algorithms?

So if we want to increase the number of students who study computer science beyond the limited scope of would be computer science majors preparing students for CS2 loses some power in the argument. And Python gains some because of all the APIs that are available and all the other disciplines that are already using it.

At SIGCSE, the panel members arguing for Python talked about much of what I write above. They also talked about Python avoiding some of the “cruft” of Java. How much easier “Hello world” is in Python for example. The “other side” focused mostly on the costs of changing and not specific criticisms of Python. There are things about Python that people do raise. It’s dynamic typing rather than Java’s strict typing. I’m a strict typing person myself but I can be open minded. Also the use of white space. Now it is not clear to me that either white space or curly braces have advantages over the other so I see that as a wash as well.

The post panel poll, FWIW, had 57% saying to switch to Python and 28% saying “keep Java” with the rest being answers all over the map.

I have no dog in this fight since I no longer teach AP CS but I am leaning toward that it is time for a change. I like the idea of a high school course, even on modeled on a university course, preparing a wider range of students for a wider range of majors.

The Collegboard is going to do what they want and the costs of changing may be as big a factor as anything. They are also driven by what universities do and as universities revisit the purpose of CS1 that will have more impact on anything anyone in high school has to say.

Mike Zamansky has a different take on this at SIGCSE 2022 - APCS-A Language strengths and weaknesses

Saturday, March 05, 2022

SIGCSE 2022 Day 3

Saturday at SIGCSE was a short day but there was still plenty to learn. Shaundra Daily. Her talk, based on her own history, was about how their are barriers making it hard for women, especially women of color and women who are also mothers, and who generally don’t fit a specific mold. This fit in with other conversations I had this conference about getting students to start CS at the university level don’t have the support they need once they get there. Filling the pipeline is not enough if the exit is blocked.

After the keynote I grabbed a quick bite to eat and ran into Mike Zamansky. Mike has a great blog post about the things he plans to write longer posts about. SIGCSE2022 - Things I plan to blog about We spent a lot of time discussing those topics. We agree on much and disagree (in a friendly way) on some. Look for future posts from both of us on these topics. Mike Zamansky blog

My first paper session was CSF2: Formative Feedback in Autograding. I'm of mixed feelings about autograders but more on that another time. This particular tool moves away from the binary pass/fail of autograders to provide feedback and hints. The tool also helps educators see where students are getting stuck. I want to look into this one some more.BTW, hinting is hard.

After the morning break, Nifty Assignments. I just could not resist as I love new assignments. This year’s assignments as well as previous year’s assignments are available at Nifty Assignments (stanford.edu) So I’m taking the easy way out and not saying much more about them.

For lunch time, SIGCSE set up a K-12 meetup lunch time in a conference room. I really enjoyed chatting with other K-12 people. Next year I hope they can come up with a way for us to connect earlier though. The k-12 ribbons were nice but ribbons get visually lost at times.

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.

Thursday, December 03, 2020

New Resources for Teaching and Learning about Artificial Intelligence

Earlier this week I was a guest speaker in a computer science class (via Zoom of course). It was fun to be back into a class and interacting with students. The students were asked to prepare questions for me and many of the questions were about artificial intelligence. That’s not surprising as AI has really jumped into the public in ways it hasn’t before. That’s why it is timely that code.org has created a new resource for teaching and learning about AI.

The main resource page for this is at https://code.org/ai There you will find a bunch of short videos of 3 to 5 minutes that cover various aspects of AI. Several of the videos explicitly focus on getting people to think about the ethics involved. Satya Nadal, Microsoft CEO, in his introduction makes one of my favorite points right off the bat. It is not enough to think about what computers can do but we also need to think about what computers SHOULD do. Ethics are woven into all the videos and not just the once focusing on ethics.

The videos are typical code.org videos. That means high production values and a diversity of impressive speakers. Presenters represent a variety of ages, races, and colors. They are all impressive and are practitioners in the fields of AI. There are academics and there are people from industry. They really highlight a broad cross section of people involved in AI today.

Besides the code.org videos there are links to videos from other organizations, lesson plans, and activities powered by artificial intelligence and machine learning. And more. It’s a great place to start building the set of curriculum that will work for your course and the age group you teach.

Thursday, July 30, 2020

Changing How We Teach Computer Science

I haven't been blogging much lately. I'm adjusting to being retired for the most part but I have been reading and thinking a lot about teaching computer science along the way. Mark Guzdial has been thinking even harder and has posted a four part set of blog posts about the subject.

I find that many of his ideas as close to how I have done things in the past. Of course at the high school level we see a lot fewer students with previous experience in CS than many university faculty do. SO we follow much of his suggestions in proposal #1 out of necessary.

The whole series is worth reading. Don’t ignore the comments either.

Friday, June 19, 2020

How Do We Know Who Is Struggling In Learning CS

One of the interesting points Amy Ko makes in her presentation to Microsoft (CS education in higher education) is that “Most faculty have little insight into who is struggling most into their class, because the ones that struggle are most silent.” She goes on to suggest that took could help make struggle visible at scale.

In the high school classroom most teaches try to be aware of what students are doing and notice who is struggling but it’s hard. Students are very good at hiding the fact that they are struggling. Many just don’t want to admit, especially in front of their peers, that they are having trouble in a class. Teaching online makes noticing struggle even harder!

So what sort of tools would be helpful? That’s what I have been thinking about for a bit.

What are the indications of struggle? Idleness in the IDE? Maybe but sometimes students are very active but not making progress. They add stuff, try it, delete it, and try something else. The “lest throw stuff against the wall and see what sticks method.” So to much activity or to little activity? These are both things an educational IDE could track.

What about syntax errors? This is a tough one because sometimes a single character off will generate a great many errors. I have managed to see error lists move from over 100 to 2 or three after changing one line of code. So maybe look at specific errors? We probably need some research on this.

Number of builds? Some people write a lot of code before doing a build while others run a build after every little change. Seems like an unreliable metric.

Total time spent in the IDE? Maybe although how does the automated system know if the amount of time is due to struggle or to an advanced student adding far more than what is required?

As a teacher, one thing I would like to know is that errors are the most common in a class. That would help me adjust how I teach certain things.

If only students would talk to us!

All in all I love the idea of tools to help teachers see who is struggling and what they are struggling with. I just don’t feel like I have a good handle on what metrics would be really helpful.  Commercial IDEs are never going to care about these things though. Might make a good PhD project for some CS education researcher though.

Dr. Ko suggests that one way industry could help is by “should be supporting the hiring of CS education faculty and the creation of CS education classes to prepare effective CS teachers for K-12 and higher education classrooms.” We still have a lot more questions than answers in terms of teaching computer science.

Tuesday, May 05, 2020

Can Online Teaching Really Work?

There is already a lot of discussion about schools and the fall semester. Will we be in physical spaces again? Will we be online again? Will there be some mix?

[Dallas Texas] District preparing for three possible scenarios to start the 2020-2021 school year

It’s far to soon to know but there are a lot of questions to be answered before decisions are made. I link to some articles below that may be of interest. But for now, I want to ask the question “Can online teaching really work?”

People talk a lot about equity and the digital divide. The current situation sure has highlighted that with access to computers and the Internet being a huge factor in many areas of the country. One would like to think that if we fix  that, give kids computers and an Internet connection that will be enough. As if!

I think there is more to it than the digital divide. I think there is a cultural question of the value of education. In some schools, students who could participate are not. Why? I don't think we know all of the reasons.

I teach to a populations for whom education is critically important. Parents are paying real money for education and kids know that how adults spend money shows what they value. I think that is huge. Talking to my students over the years, they know their parents are making sacrifices for their education. They want to make sure their parents are getting value for that money.

Sure there are the spoiled self-entitled students out there but in a school like  mine the culture values learning. Peer pressure helps motivate students to do school work.

That is not a universal culture. There are schools where the culture says "get out of school as soon as you can" and "you don't really need school but you do need to work." There are schools where students feel they have to go to work to help support their families. There are kids who parents will actually make them leave home at 18 and go on their own. (This is not a myth. I have seen it.)

School culture is very important. Peer pressure can work to help students value school or not value it. So my concern about online teaching is two fold. How will students who are not living in a culture, at home or at school, where it is cool to be smart, where it is important to go to school. or where they don’t feel like they belong motivate themselves to attend online classes?

And how will schools with a supportive culture be able to maintain and grow that culture online? It’s not going to be easy.

And that is just secondary school. I don’t even want to think about grades k-8. No, really, I don’t.  I can’t imagine online school working well at those age levels.


BTW are plans for the fall thinking about teachers? Especially older and otherwise vulnerable teachers?

Monday, January 13, 2020

Having Fun With Computer Science

There is no question that there are a lot of ways to have fun with computer science. Some of them are inexpensive. Some of them cost a lot of money. You can do a lot for a little bit of money. But some interesting things cost more money for computer hardware (especially graphics cards and CPUs), for special software (not everyone offers free versions for schools) or special hardware (A Micro:Bit is pretty inexpensive but an Oculus Quest is serious money).

So what is a teacher to do? Well, there are grants out these. Often very competitive though. There is Donors Choose which is not an option if you are at a private school with a budget that makes public schools look rich. There is teacher spending their own money. Or there is just offering what your school can afford even is that is old hardware and free software.

Now you can do a lot on the cheap. No question. But what I wonder about, as with many things CS education related, is access. Who gets access to the state of the art, bleeding edge stuff and who gets to see “where we were 10 years ago?”

Who gets to program virtual reality stuff and who gets to program the next Pong? When we look at costs for computer science we tend to think mostly about teacher costs or finding room in the building or the schedule. Computers come next but someone who spends their who life on their phone or a web browser may not appreciate why students need a computer with a lot of memory, a fast CPU, and a late model graphics card. Maybe when today’s students become school administrators or school board members that will change but right now getting more money for hardware can be a tough sell.

We’re used to vocational students needing state of the art resources. Computers for reading diagnostics for the automotive students. The latest silkscreen equipment for the graphic artists. The latest medical learning tools (have you see the CPR training dummies lately?) for the medical prep students. But somehow we don’t always see the need for the latest for computer science students. Especially in comprehensive high schools. Some serious CS students might be better off in a career/technical high school for CS. Seriously, some of them are really good at getting the latest stuff for learning CS.

Which brings me back to access. CS is more than vocational. A lot more. How do we show students the real potential if they only have access to what is cheap?

Note: This post inspired in part by Garth Flint’s blog post (Computer Science on the Cheap does not always work), a comment on that post, and things David Renton is doing with his students and Virtual Reality.

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.

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

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.

Wednesday, July 10, 2019

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.

Friday, March 22, 2019

Debugging Student Code for Fun and Learning

Students are really good at creating strange hard to solve bugs in their code. I am convinced that the code of a raw beginner can easily be harder to debug than that of a professional coder.

I had a couple of good ones today. One was actually pretty easy once I realized the cause. I have some international students. Great kids, very smart, hard workers. English is not their first language though. In fact, English letters are not their first character set. In one class I have boys from Cambodia and Viet Nam. The character sets they grew up with are very different from English characters. This means that sometimes English characters confuse them. l, I and 1 can all look alike to them especially in some fonts. Like this one. So I had some non obvious "spelling errors." They and I have a better idea of what to look for next time.

The other one was harder. We’re using C# and Windows Forms. Now normally this makes things easy. But you can also cause some very puzzling errors. In this case, the code seemed to be doing everything it was supposed to do EXCEPT showing the results in a list box. I tried a lot of my bag of tricks. Single stepping through code, displaying intermediate results (that didn’t work because nothing was displaying in the list box). I copied the code into a new project. I created new objects. I tried a lot of things.

Finally, I did a side by side comparison with a project that worked and that showed me the problem. For the curious, Windows Forms projects run a subroutine to initialize and instantiate the objects on the form. Some how, probably a copy paste error, this student was calling it twice. Without going into detail, this resulted in two sets of objects with one of them covering the set that was actually being acted upon for the display.

I try to look on the bright side of things. In this case, I have new things to look for that I didn’t have before, I have gained insight into issues that my international students have (and may change some variable names I use), and I got to demonstrate debugging techniques to some students. That’s a win right?

Tuesday, March 19, 2019

Interesting Links for Computer Science Educators 19 March 2019

I haven’t done one of these for a while. I still Tweet or retweet a lot at @AlfredTwo but I needed a break. I’m not sure I will do this every week but I think I will shoot to do it from time to time.

Microsoft Education posted a bunch of resources on Ways to encourage girls to keep pursuing STEM this Women’s History Month There are some posters I think will show up in my computer lab soon there as well as other helpful links.

David Renton is doing some amazing things with his students who are programming virtual reality applications. Currently he is having Students Build International VR Prototypes for Children This is more than about computing. It is a multi-national effort with some support from Microsoft in the UK and deployment at a hospital in Sweden.


Mike Zamansky has a  great post about Adapting A Nifty Assignment  You may or may not be familiar with the SIGCSE Nifty Assignments sessions, check them out if not, but they are pretty nifty but many of them really do benefit from adaptation to a particular environment.

I found this on the Blog at CACM I don’t know about you but calculating with Roman numerals (what no zero?) was something I wondered about. This article explains it all. I wonder if this might make a nifty project? Calculating With Roman Numerals is Not So Difficult 


Speaking of SIGCSE, Bryan Twarek provides a nice list of K-12 Teacher Takeaways from SIGCSE 2019  on the CSTA Blog. Not as good as being there but Brian includes a bunch of related links.


Under my list of things to keep an eye on, Microsoft had a post called Achieve more with Microsoft Game Stack It looks mostly like a repackaging or rebranding of a number of new and existing resources for game developers. Will it have application for schools? Maybe in game development courses but even there it seems like Game Stack is more for professionals than beginners. But we’ll see if anyone in education takes it on and provides information.

Thursday, March 14, 2019

Awards I Wish We Didn’t Need

Last week my school was told we had earned the College Board’s Female Diversity award for both Advanced Placement Computer Science A and Advanced Placement Computer Science Principles based on how many female students we had in those courses last school year. Yeah!

We’re one of two schools in the state to get this recognition. That’s a bit disappointing. The more I thought about it the more I thought how sad that getting to adequate female representation was so rare that schools were getting special recognition for it. Are there similar awards for other AP courses? Are their awards for schools for getting to Male Diversity numbers in courses were male students are underrepresented? Is that even a thing?

Don’t get me wrong. I am thrilled that we have good representation of female students in our AP CS courses. And I’m not shy about sharing news of the College Board's recognition. 

It’s hard to get solid APCS enrolment period. I teach at a private Catholic school that requires four full years of religion. That has a serious impact on electives. We have even better female representation in our lower level CS courses because we require a full year of CS for graduation. AP CS is going to be an elective so we have to have a good environment to get students to want to fit it in.

With cultural norms the way there are, a lot of female students are encouraged to follow other academic paths. World languages, for example, fit the stereotype and it often feels like that is a more common, if not natural, path for female students. And the boys seem to be less excited about languages.

Our goal at my school is to ensure that all students are comfortable and feel like they belong in computer science courses. We are careful about room decorations. You’ll see women in computing highlighted in posters and bulletin board items for example. I think the most effective effort it that teachers encourage all students, reassure them that they mistakes they make don’t mean they are stupid or incapable, and include projects that are not gender biased. You know, be a good teacher.

For now we all need to make efforts to include a more diverse set of students. And it is nice to be recognized for the success of those efforts. But I’ll tell you, having a diverse group of students is all the reward I really need.