Showing posts with label GitHub. Show all posts
Showing posts with label GitHub. Show all posts

Thursday, July 18, 2024

CSTA Day Three

Before I start on my day three report, I want to suggest people look at Mike Zamansky’s Day Two report on his blog. We attended mostly different sessions and he takes really good notes.

My first session of the day - Keep Calm and AI On. I’m proctoring this session. There are a bunch of other good sessions at the same time. Heavy FOMO sigh. This one is by classroom teachers.Another packed session on AI. This one started with a discussion of ethical concerns. Privacy being high among them.Next up was about how teachers were using AI. Image generation being one. Canva has some AI functionality now. Evaluation writing was used with mixed results. A lot depends on how people think about evaluation writing. Advice from participants included the need to teach about AI to prepare people for the good and the bad that AI can do. So much of what I am hearing at the conference is the need to ethical training as important when talking about AI.

Change of pace with my next session being Get Hands-on with CS and Content: Support Integration with a Physical Computing Toolkit Integration and physical computing are two of my favorite topics. The Physical Computing toolkit is available here. There is a lot there too!The session slide deck is available here There were a number of references to The Big Book of Computing Pedagogy.which I highly recommend BTW. A particularly good took for integrating ideas is their Instructional Resource Library This can help you find resources to meet your goal and potential physical objects.

After lunch, Teaching (With) GIT  Surprise! Most of the related resources for this talk at on GitHub - bit.ly/twg-2024 As the idea of Markdown was being presented I was thinking I need a Markdown tutorial. And one was chard at Markdown Tutorial At this point I feel like I have some good resources to dig deeper into Git and GitHub.

I confess that I skipped a session. Maybe my brain was full. I was tired. I did spend some of that time working on my snapshot post about the exhibit hall which I will probably post later tonight.

I did not skip CS Education in the Age of AI though. with people like Mehran Sahami from Stanford and Maggie Johnson from Google I would not miss it. It lived up to my expectations. I hope it was recorded. I would love to listen to it again.

There was a lot to take in. A couple of takeaways for me. One is that AI has the potential to allow our students to do more. More complicated projects. More innovative projects. Also, there was a reminder that these AIs, including the ones that generate code,are not perfect. In fact, one study at Stanford showed that students using AI generated code with more security holes than students who didn't use AI. Worse still, the students who did  use AI were more confident that their code was good.

We’re going to need people who can read, test, and debug code so some time to come. It's much to soon to stop teaching coding.

I’ll sign off on this post with something I said a couple of years ago:

Teaching computer science is no more about creating more software developers than teaching English is about creating more novelists.

Saturday, December 31, 2022

Looking Back and Looking Forward in CS Education 2023

Traditionally I write a year end look back on thee previous yest in CS education. (Last year at Looking Back on Computer Science Education in 2021) Honestly, that post would largely work for 2022 as well. I attended SIGCSE, CSTA, and the New England Regional CSTA conference. They were all great. There was good learning at all of them. But new stuff? Not a whole lot. A few new tools. Some new robots. Some new AI and cyber security curriculum. But really not a whole lot.

I think we’re in for some disruption in 2023 though. Tools like ChatGPT and GitHub CoPilot are probably only the first of tools that are going to shake things up in teaching programming. Are we even going to still teach programming in computer science? If not, what will computer science courses look like? If we are still teaching programming how will we do it? What will it be all about?

We’re still going to see a need for teaching about cybersecurity for sure. Artificial Intelligence is also going to be more important. We’re seriously going to have to think about how we teach about it. We have to include not just how it works but how it should be used. Ethics in computer science has never been more important.

The discussion about ChatGPT and what it means for education in general and CS education in particular is going to be ongoing. We have to reink how and what we teach. It’s going to be an interesting year. Have you been thinking about it? What are your thoughts so far?

Note: I highly recommend Mike Zamansky's blog post at Kicking off 2023

Wednesday, June 17, 2020

Thoughts on an IDE for Teaching CS

Amy Ko posted a slide deck about CS education in higher education from a presentation she made to a group at Microsoft. There is a ton of stuff in there. I need to read it a couple more times actually. I’ll probably blog some more based on other things she brings up. Issues of equity for example. That one I need to think over a bit more as I process the reality of the world today. But for this post I want to focus on some of the ideas she shared for teaching beginners.

Under the heading “Classes move too fast” she writes “Many introductory programming courses now include a 1) professional-grade programming language, 2) a professional-grade IDE, 3) a professional-grade version control system, and 4) a professional-grade test framework.”

This is too much for many students. In my end of year survey most of my students felt that Visual Studio (a professional-grade IDE using a professional-grade programming language) was fine for them. Not to hard. And a lot of teachers are using GitHub – a professional grade version control system. That is still a lot to learn just to get going though. My students may think they are doing just fine but honestly I spend a lot of time fixing projects because it is far to easy to mess them up. I’m finally beginning to face that truth.

Later in the presentation Dr. Ko talks about making tools that make collaboration and working together easier. How do students work together? How do they do it when they are separated by time and space? That is something we have to think about even more these days.

What is the answer? Well, I’d like to see an IDE and language that creates projects that are harder to screw up for one thing. Don’t ever let beginners use Save As in a Visual Studio project. Doing so is almost a guarantee that a beginner will mess up their project in serious ways. Save As as an option for experts? Yep. We don’t want that for beginners. That’s just the start. Students are always closing windows they think they don’t need but later realize that they need them after all.

And collaboration? GitHub works for some. As I said I know a number of teachers use it with their students. I have had students who used it on their own as well. Awfully smart girls those two. But its got some rough edges. It’s really a powerful professional tool that offers more than most students or teachers really need.  And there are so many options and steps! We need something more simple! It needs to be tied in to the IDE fairly transparently as well.

Pair programming remotely? I’ve tried Visual Studio Live Share a bit.and it has some real potential. Not many seem to know about it yet. It does require  that people have a reliable want to share links for sessions. I’m not sure how it would work if a teacher wanted to look at a lot of student sessions are once. And we are still dealing with Visual Studio or VS Code and their projects.

This last semester I used Microsoft Server Manager to work with students online/remotely. Worked great as long as we were on the same virtual machine. It’s not something I want to give students access to though. I would like that functionality in a different tool. Especially if making the connection was as easy as this one was. It was easier than Live Share. So the tool I would want would probably involve some sort of “server” that was attached to a class that let students find their partners and connect with permission from the other student. Wouldn’t that be cool?

So what I want is an IDE that doesn’t let students mess up their projects easily, does easy version control with minimal set up or steps to make happen, and easy sharing of coding sessions. All built in with an easy set up.

A test framework? That’s a topic for another post.

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.