PHP) LIS 510: Human Factors in Information Security LIS 711: Data Management LIS 668: Digital Collections and Curation CS 202: Introduction to Computing LIS 751: Database Design/SQL LIS 640: Linked Data/RDF LIS 632: Metadata and XML LIS 351: Introduction to Digital Information
of my classes? • Does your software do something useful that students should learn? • Would you like to hire a new graduate who’s learned your software? Would your clients hire new graduates to work with your software? • Would you like additional mindshare or market share for your software? Why do you care? Does it matter?
server space: $0 • Available servers dedicated to teaching: 0 • # FTE assigned to systems administration for teaching: 0 • Amount of formal education I have in sysadminning, devops, etc.: 0 • (never mind infosec; I know more than the average bear, but…) Constraints
in the time and with the resources I actually have, I can’t teach it. • If I can’t fi gure out how to make it do something useful, I can’t teach it. • Corollary: If my students and I can’t get unstuck using its documentation, I can’t teach it. I am all the tech support there is for specialized software in my courses. • If I can’t build demos and assignments that help students learn it and do useful things with it, I don’t want to teach it. How pointless. Lessons: Working within constraints
not have time for it. • Make it work with a static IP address. Don’t mire me in FQDN hell either! • Make it installable on MAMP/WAMP, VMs, the likes of Digital Ocean, Docker, and for bonus points, CPanel/Softaculous/Installatron. • Do I really need root to install this? Really? REALLY? • Explicitly document the Minimum Necessary Con fi guration Changes. • Help me make it multi-user (as appropriate). Write me a shell script to add a class’s worth of login credentials with minimum hassle. Lessons: server software
advanced classes! • Wide range of con fi dence with tech and learning tech. • Most are future “end-user programmers.” Tech in and of itself is not their intended career path. • Collectively cross-all-the-platforms. Some on Windows, some MacOS, a very few Linux/BSD, the occasional ChromeBook (boo!). • Wide range of socioeconomic statuses. Most work; many have to! • Wide range of personal-technology age. Seven-year-old laptops? Sure. My students…
your software… • … is money they don’t have for basic needs. (Ask me why I almost never assign commercial textbooks.) • I hope it’s obvious whom among my students this hits worst. • Please treat my students as a future market, not a current one. Thanks. • (Demo sites, educational licensing, open source… all can work.) Issues of inclusion!
On every OS/distro you claim to support. • Assume less about my (students’) prior preparation. • Community support? Don’t make us hunt for your community. • Have [email protected]$$hole rules in your community, and enforce them. That’s another inclusion issue, folks. Include all my students. Lessons: help me help students! NAUGHTY WORD!
• Post-install con fi g: Essentially in fi nite • Capacity after install: 0 • Time to install: 90 seconds • Install docco: Excellent • Post-install con fi g: Some, but manageable • Capacity after install: Lots! Useless DL Omeka So I teach with Omeka.
yes • Kewl Trix: sure, lots, go through the menus to discover them • Sample data to play with: yes! • Cost: usually $0, sometimes $$$$$ • OSes: only some • GUI: nope, command-line only • Kewl Trix: only via incomprehensible command-line incantations • Sample data: get your own, chum(p) Wireshark™ Anything else So I teach with Wireshark.
class time to teach shell to future end-user programmers, much less a programming language. • The easier and faster it is to fi nd and explain Kewl Trix with your software, the easier it is for me to teach it. • Give me sample data, sample problems, sample work fl ows, sample everything! Bonus points: walk me through the work fl ow, soup to nuts, one step at a time. • (Good practice: many infosec capture-the- fl ag events do problem writeups. I adore those! Could more software sectors do them?) Lessons