Automated updates: 2021-05-03

This commit is contained in:
John Colagioia 2021-05-03 07:11:12 -04:00
parent 8d4e74da75
commit 9a903130c9
2 changed files with 45 additions and 11 deletions

View File

@ -21,7 +21,7 @@ Mostly, I taught graduate courses. I initially picked up electives that nobody e
Because of that, I have piles of lecture notes and scripts to package the lecture content.
So, while I decide what I want to do with my old lecture notes (post them as-is, rewrite them and so the research to make sure they don't contain anybody else's intellectual property, or some larger transformation), I'll provide some information, here, on what I've worked on over the years.
So, while I decide what I want to do with my old lecture notes (post them as-is, rewrite them and do the research to make sure they don't contain anybody else's intellectual property, or some larger transformation), I'll provide some information, here, on what I've worked on over the years.
## Administrative Software
@ -39,7 +39,7 @@ In 2001, I had...an incident. The department had a hole in the schedule and aske
What I *didn't* hammer out was a title. I assumed that the school had people who did that, maybe a marketing team. So, when they asked *me* for a title, I came up with the laziest thing I could, hoping that someone would have a better idea: **Advanced Programming Concepts**.
And that's the title they ran. Nobody questioned the objectively terrible name. Oops! I suppose it's better than my initial thought, *Back Alleys of Computer Science*, at least, even though "advanced" is very much less accurate.
And that's the title they ran. Nobody questioned the objectively terrible name. Oops! I suppose it's better than my initial thought, *Back Alleys of Computer Science*, at least, even though "advanced" is so much less accurate.
> > One intended purpose for the course was to build on material from other courses
@ -55,7 +55,7 @@ While the course never ran, the proliferation of application frameworks and othe
### Design and Analysis of Algorithms
There isn't a whole lot to say about any algorithms course, I suppose. Just about every school uses the same graduate textbook and covers roughly the same material. It *is* a core part of the curriculum, after all. But even so, I tried to give it what in my mind (and I believe most of the students' minds, as well) a more solid organization more deeply related to the design process.
There isn't a lot to really say about any algorithms course, I suppose. Just about every school uses the same graduate textbook and covers roughly the same material. It *is* a core part of the curriculum, after all. But even so, I tried to give it what in my mind (and I believe most of the students' minds, as well) a more solid organization more deeply related to the design process.
> > general kinds of problems and what kinds of solutions should be expected from them
@ -91,7 +91,7 @@ Like the [Algorithms](#algorithms) course, there isn't much to say about another
#### Part 2
More interesting, though I seem to have lost the material for the moment, I once had the opportunity to teach an advanced version of the operating systems course, which had no set syllabus.
More interesting---though I seem to have lost the material for the moment---I once had the opportunity to teach an advanced version of the operating systems course, which had no set syllabus.
> > ...the original thinking on the Xerox Alto's desktop interface or Unix's file system...
@ -99,7 +99,7 @@ There, I discussed the topics that don't generally get covered, like file system
![Smalltalk-76 on the Xerox Alto](/blog/assets/Smalltalk-76.png "Smalltalk-76 on the Xerox Alto")
It was an extremely interesting format that I'd like to see more of in the industry.
It was fascinating format that I'd like to see more of in the industry.
### Programming Languages
@ -111,7 +111,7 @@ Instead, the first half of the course generally works through how different kind
Along the way, assignments spotlight different programming languages in the context of features or aspects discussed in class and exams focus on using comprehension of the material to (loosely) design custom programming languages for specific problem domains.
On the topic of individual languages, depending on the year, I changed the mix of each assignment to either mostly include three or four small languages (with abbreviated tutorials to get students running) or fewer new languages with the rest replaced with a highly-customizable [BASIC interpreter](/proglang.html#basic) I created for the purpose.
On the topic of individual languages, depending on the year, I changed the mix of each assignment to either mostly include three or four small languages (with abbreviated tutorials to get students running) or fewer new languages with the rest replaced with a highly customizable [BASIC interpreter](/proglang.html#basic) I created for the purpose.
### Windows Programming
@ -121,11 +121,11 @@ It turned out to be a strange experience, because the company's needs changed as
I ended up with a hybrid, starting with Win32 and bridging into *manually* programming MFC without Visual Studio's layout facilities. This was because we had limited time left when the company made its decision, and I concluded that the students should be able to pick up the graphical interface on their own, making it a waste of time for me to actually show them the process of dragging a button.
Obviously, these days, the course content is mostly obsolete. I'm sure there are *some* people still programming against the Windows API as a hobby, but I haven't heard of anybody making products that way in at least ten years and it's non-trivial to even find a compiler that will still work.
Obviously, these days, the course content is mostly obsolete. I'm sure there are some people still programming against the Windows API as a hobby, but I haven't heard of anybody making products that way in at least ten years, and it's non-trivial to even find a *compiler* that will still work.
## Adult Education Courses
Not for Polytechnic University, but rather my local town, for many years I taught a handful of classes for complete novices (an wide assortment of people) in basic computing.
Not for Polytechnic University, but rather my local town, for many years I taught a handful of classes for complete novices---a wide assortment of people---in basic computer use.
### Introduction to Computers
@ -135,7 +135,7 @@ In discussions with the staff who ran the local adult education program, we real
So, I built a new course from scratch. The premise, which I feel is still legitimate, was that developers and software companies *should* work hard to ensure that everything a user might need is obvious and convenient for all users. But since the technical people often seem unwilling or unable to do this, the best way to teach the class was to help them understand how programmers think and (to the extent that such a thing exists) the shared culture among software shops.
Starting with getting them familiar with the mouse using the local paint program (I've heard of other classes using Solitaire, which strikes me as nonsensical, since it doesn't provide any persistent feedback) and walking them through an application each session---assisted each week by extremely old computers on a slow network---I showed that everything on the screen is a window composed of windows, explained the common desktop metaphors and features, talked about how computers store information (and why it matters to a user, even though it shouldn't) along with how companies organize ideas based on ownership, and even taught them a little bit about automation (using the [Windows Script Host](https://en.wikipedia.org/wiki/Windows_Script_Host) with very simple VBScript to automate Microsoft Office). I also used the delay in making the computers do, well, *anything* to explain what was (probably) going on and tell an occasional story of things going catastrophically wrong for the insight of how things work.
Starting with getting them familiar with the mouse using the local paint program (I've heard of other classes using Solitaire, which strikes me as nonsensical, since it doesn't provide any persistent feedback) and walking them through an application each session---assisted each week by comically old computers on a slow network---I showed that everything on the screen is a window composed of windows, explained the common desktop metaphors and features, talked about how computers store information (and why it matters to a user, even though it shouldn't) along with how companies organize ideas based on ownership, and even taught them a little about automation (using the [Windows Script Host](https://en.wikipedia.org/wiki/Windows_Script_Host) with very simple VBScript to automate Microsoft Office). I also used the delay in making the computers do, well, *anything* to explain what was (probably) going on and tell an occasional story of things going catastrophically wrong for the insight of how things work.
#### Advanced Introduction to Computers
@ -145,7 +145,7 @@ The reaction to the automation lecture was very positive, so we briefly tried to
Partner to the introductory computing course, I also covered a Microsoft Office course for a few years. I brought the same sort of approach to the course, trying to bridge the user's mental model to the actual model used by the software.
It was largely successful, but the material was drier, so there isn't a whole lot to say about it.
It was largely successful, but the material was drier, so there isn't too much to say about it.
### Introduction to the Internet
@ -153,9 +153,11 @@ This was an odd course that was briefly tried based on student requests, but did
I dug into browser operation, security practices, and the flow of information between websites, in addition to what I considered useful and safe news sources and download sites. It sort of worked, but probably wasn't very appealing for students who all certainly had different interests and just wanted to shop, play games, and check retirement funds.
And yes, I *could* have made them more immediately happy by pointing them to Flooz, Pets.com, and Classmates.com, but I suspect that my way probably had longer-term benefits...
## Other Teaching and Training
In a pinch, over the years, I have also set up less formal training sessions for customers on software and colleagues on new technologies. I don't have any "materials" on them, since most of the opportunities came up on the spur of the moment and a lot were transient information, but they're probably worth mentioning for completeness.
In minor emergencies, over the years, I have also set up less formal training sessions for customers on software and colleagues on new technologies. I don't have any "materials" on them, since most of the opportunities came up on the spur of the moment and a lot were transient information, but they're probably worth mentioning for completeness.
#### <i class="fas fa-chalkboard-teacher"></i>

32
2021-05-03-press.md Normal file
View File

@ -0,0 +1,32 @@
---
layout: post
title: Developer Journal, World Press Freedom Day
date: 2021-05-03 07:11:23-0400
categories:
tags: [programming, project, devjournal]
summary: Progress on assorted projects
thumbnail: /blog/assets/World-Press-Freedom-Day-2017-Poster.png
offset: -21%
---
Today is [World Press Freedom Day](https://en.wikipedia.org/wiki/World_Press_Freedom_Day), acknowledging that it's nearly impossible to live in a free society, if the centers of power act to stifle reporting.
![Press Freedom Day Poster](/blog/assets/World-Press-Freedom-Day-2017-Poster.png "Press Freedom Day Poster")
## Doritís Onomáton
Another week of just working on this one thing...well, that and [**All Around the News**](https://allaroundthe.news), of course.
There's now a menu option to show the names saved during a particular session with the app, adjusting the tiles so that they can't be swiped away. And speaking of the menu, I added some space around the alphabet list, since the "app bar" was a bit cluttered.
Copying a name---with a tap/click---also now animates the tap and produces a pop-up message, for clarity.
[**Doritís Onomáton**](https://github.com/jcolag/doritis-onomaton/) also now drops the action buttons along the bottom, when looking at the saved name list.
## Next
This week, my main goal is to set up a server for **Doritís Onomáton**, probably named "Fýlakas Onomáton," the keeper of names, for consistency. The first version doesn't need to do much, just have accounts with an API key and the ability to store HTTP `POST` requests from the app.
* * *
**Credits**: The header image is [World Press Freedom Day 2017 Poster](https://commons.wikimedia.org/wiki/File:World_Press_Freedom_Day_2017_Poster.jpg) by unknown [UNESCO](https://en.unesco.org/) staffers, made available under the terms of the [Creative Commons Attribution Share-Alike 3.0 IGO](https://creativecommons.org/licenses/by-sa/3.0/igo/deed.en) license.