So it seems like Copilot and similar will be beneficial to programmers but the question remains as to how beneficial. Will it be incremental change or will it be a game changer?
Today we'll look at how it will affect teaching and learning CS.
It seems pretty clear that one group of learners will benefit from things like copilot - people who are already strong programmers who are learning something new.# COMMENTS
ChatGPT in education has been all the rage but there's another twist on AI that was getting some buzz even earlier - AI based code completions. GitHub's Copilot has gotten the most air time but there are others out there as well.
When you code with Copilot, you type in a function name and maybe a comment above it and the AI system will fill in the function.
A canonical example seems to be Mergesort.# COMMENTS
Yesterday, Alfred Thompson posted on students knowing their development environments. Alfred's post was inspired by a related post by Eugene Wallingford. Eugene's post was about more than development environments and both his and Alfred's posts are worth a read.
Being a tool wonk I thought I'd add my two cents.
I've always been a tool wonk. Use the right tool for the job and if you need to buy one, don't cheap out - get the best value right tool.# COMMENTS
Quick Emacs hit today.
After my last video, I received a comment noting that I was using ibuffer and that there was another package I might want to consider - bufler. I started with basic ibuffer and then started to customize it to group buffers but that was always somewhat finicky. More often than not I couldn't tune it the way I wanted. Most recently, I started using ibuffer-projectile which group projects for me but lost the other customizations.# COMMENTS
It's always been a challenge to get students to buy in to an out of class communication tool. Over the years I've tried many including mailing lists, Piazza, Discourse, Vanilla and other discussion forums, Slack and probably a few other things.
I guess it's not surprising that it's a hard sell - prior to the internet once school was out kids there as no teacher student interaction until the next school day and kids would only interact with their direct friends.# COMMENTS
I primarily program in four languages these days -
Clojure C++ Python Java And most of the time, my Emacs configuration has handled each one differently. Cider for Clojure, Irony for C++, Elpy and Jedi for Python and Java I could never figure out. This is of course on top of tools that work across languages like company for completions, or flycheck for general language syntax checking. A while ago I heard about lsp-mode - Language Server Protocol mode.# COMMENTS
Our summer intensive was supposed to be in person but COVID-19 changed that in a hurry. We had to scramble to redesign and figure out how we were going to run things.
We decided to go with the following:
Zoom for live meetings Slack for chat Git and GitHub
GitHub classroom for assignments GitHub repos for code distribution, class website and resource sharing. GitHub discussions for off hour and long form discussion While Zoom is a great platform it was lacking in a few areas so we also ended up using: Padlet as a collaborative writing space for groups Assorted whiteboarding tools.# COMMENTS
Beyond the CS specifics We've been primarily using three tools in our summer certification program.
Zoom for video conferencing Slack for text based communicaiton GitHub for just about everything else We use GitHub as a CMS - a place to share code and assignments as well as collect them. We're also playing with GitHub discussions although that's fallen somewhat to the wayside with Slack being preferred. One of the choices I'm digging more than ever is GitHub Classroom for assignments.# COMMENTS
As I said in my last post, I'm moving to a new Hugo theme. I decided on Anubis. It's simple and clean. Unfortunately, in this change over, many things broke. Specifically, all my embedded html. Using earlier version of Hugo I could directly embed HTML and it would render. Now I have to bracket the HTML with special org markup - #+begin_export html and #+end_export html. #+begin_export html <h1>html stuff to render goes in here </h1> #+end_export Minimally I had to find all my embedded videos and all my embedded Tweets.# COMMENTS