It's that time of year again. Yep, you got it. Time for Advent of Code. I'm not feeling nearly as motivated as in past years but so far so good. Finished the first three days.
Today I got a good reminder - work through your examples. You can find today's problem here.
For part 1 you got a list of binary numbers and had to figure out how many ones and zeros there were in any given digit.
# COMMENTSWhile my last post was well received, I did have a few conversations where people asked why I did this with such a seemingly minor ethical issue. They wondered that with issues the Facebook algorithm, bail and sentencing algorithms, gerrymandering and other issues dominating the ethical conversation, why focus this topic around something that seems to affect far fewer people and might not even be such a big deal. After all, when it does come up, flight crews can probably ask a few people to shuffle seats and voila, problem solved.
# COMMENTSI've held off on sharing any details on my Ethics in CS class because I wanted to wait until some of it ran. I didn't want to talk about a topic and then find out that after we covered it I was all wrong.
Now that we're well into the semester, I think it's time to share a few things.
One of my premises when I designed the course was that most ethics courses are taken by either people who already have religion or people who see it as the "easy course" without programming.
# COMMENTSIn today's video, we'll take a look at a few new completion frameworks for Emacs. For years I've been using Ivy and have been very happy with it but since I decided to rebuild my Emacs config from scratch I thought I'd try the new kids on the block, Selectrum and Vertico along with some support packages.
I've liked Ivy from day one and still do. To be honest, from a day to day point of view, I didn't notice much difference between Ivy and the newcomers but I do like their philosophies - they're supposed to be simple and minimalist and focus on the Emacs completion API without extending it.
# COMMENTSSo, tomorrow, October 19, is my birthday. The big 5 4. Okay, maybe it's not a traditionally big one. It doesn't end in a zero or a five but I think it rates.
Why? Because it's one shy of 55.
That's the magic age when I can retire collect my pension should I choose to do so. It's what you get when start young and put in over 30 years of service.
# COMMENTSSo I'm teaching my Ethics and CS class for the first time. I originally designed the course but didn't teach it the first time around. That honor went to my friend, Master Teacher Topher Mykolyk. He of course did an amazing job - impossible to follow. Fortunately, this is a different cohort so they don't know how great Topher was for the course :-).
Even though I have the syllabus and Topher's notes from last time around, first time through is very week to week but I think I'm starting to get my legs under me.
# COMMENTSOne of the comments on my last video talked about the new project management support Emacs includes in it's latest version - project.el. I remembered reading about it when it rolled around but then forgot and never checked it out.
Up until recently when working in projects I used Projectile, a great package by Bozhidar Batsov, also known as Bug. I only used it when doing development work - that's when I find myself jumping around within a group of related files.
# COMMENTSGrading sucks. Even for a well crafted assignment it takes time and rarely does it give you the same insights into your students as you can get from just observing them and working with them, at least when the environment supports you doing so. This leads lots of teachers to go to auto graders. I can't bring myself going along with that. While assignments are imperfect and tedious to grade, they do provide some insight to your students and that's an important part about being a teacher.
# COMMENTSThe other day I saw Allen Holub lamenting on how students don't learn the command line.
All my students this semester have gone through at least a year of programming classes, and some of them do not know how to do even basic stuff on the command-line. This strikes me as a huge flaw in the curriculum. Maybe the first CS class should be How Devs Use Computers 101.
# COMMENTSLike most CS educators I'm a regular reader of Alfred Thompson's blog. Alfred's latest post is spot on but there was a line in it and a particular Twitter response that reminded me that we so often forget a big reason why people learn to code.
Alfred mentions, as did that Tweet about coding to solve problems. What problem are you trying to solve. This is the mainstream push - programming helps you solve problems.
# COMMENTS