[AISWorld] Sharing Content for App Development + Code Intros via Physical Computing

John Gallaugher gallaugh at bc.edu
Wed Jun 3 14:32:25 EDT 2020


If it's useful to anyone, I've been creating video online content prior to having to shift for COVID-19 and it's all available online for free. Much of this content was used for "flipped class" work that involved teaching new-to-coding students in a zero-to-full-stack app course, and introducing coding to mostly freshman b-school students using physical computing (MakeCode + CircuitPython). There are also some fun physical computing hacker projects for those so inclined. Would love to see others leverage + share, and hear from others who may be working on similar things.

LEARN SWIFT/BUILD iOS APPS (Beginner to Full Stack)
Have a Mac? Learn to Program in Swift while Building iOS Apps
Full course videos for a "Flipped Class" course at Boston College are available at:
https://bit.ly/prof-g-swift
(over 90 brand new videos of first five App-focused chapters online, plus additional exercises. At least one more major chapter to be released, soon as it's available).

If you teach "flipped", the heavy lift of teaching coding becomes a light lift when you use the video lessons as "homework" and assign exercises from the slides during class time. Solutions are provided after each Exercise / Challenge slide. If you teach coding, consider "flipped". I've found I lose fewer students with video instruction, and there's less "intimidation" often experienced in traditional classes where experienced coders can deflate the sails of struggling newbies. I'll never again teach a technical topic that's not flipped.

This is a zero-to-full-stack course designed for the absolute beginner. All videos have been recreated this semester based on four years of teaching hundreds of students. Feel free to learn on your own, use in your own courses, or share with others. Would love to see the project get traction beyond my school. Also makes a good alternative for online learning or independent offerings for student entrepreneurs interested in learning to build apps.

Note: You might run across info on an online textbook for app development (different from my IS text) that I offer through low-cost publisher FlatWorld, but I don't recommend you buy the Swift book (or at least, not until v. 4 comes out). It's not necessary to use this material. The text will be useful, but the newly updated material online is more current + addresses some of the changes Apple + Google have recently made that haven't shown up in the book yet. Use the videos + you'll be fine. Want slides to supplement the online material with weekly in-class sessions? Here's what I used this past semester:
bit.ly/SwiftCourseMaterialSpring20

Curious what students can do with no-prior knowledge in a single-semester? Short-cut videos of their final projects are at:
https://gallaugher.com/swift 
(again, ignore the text, at least until v.4 is available hopefully later this summer).

Warning: the videos contain much geeky enthusiasm meant to (hopefully) motivate new coders. I committed to never using "Hello World", "foo bar", Fibonacci sequences, or any of the other tired tropes that fail to excite students. Each video is less than 30 mins. I usually assign approx 3 hrs. of videos outside of class in prep for a 2.5, single class session each week. By the end of the course students build multiple apps, including several accessing APIs and parsing JSON, and a Yelp-clone social app with Google login and shared data/images.

Also: I have Canvas-based self-paced quizzes for each section that I'm happy to share with anyone using this content.

CIRCUIT PLAYGROUND FOR PHYSICAL COMPUTING
I also teach management undergrads in a core course + I slip some code + hardware into their strategic tech sessions. Here are a series of learn-online videos for using the Adafruit CircuitPlayground Express and Adafruit CircuitPlayground Bluefruit devices ($25 Ritz-cracker-sized devices with lights, sound, motion, temperature sensors + more, that can be connected to other hardware, too). Bonus for management instructors: capabilities underscore Moore's Law, plus device is built by Adafruit, founded by the exceptional role model Limor "Lady Ada" Fried, first female engineer on the cover of Wired.

MakeCode Playlist (use Microsoft's Scratch-like Browser-based Coding Language. No CircuitPlayground needed to get started. There is an online simulator)
https://bit.ly/cpx-makecode

CircuitPython Playlist (focused on CircuitPlayground Bluefruit. Device needed for most of these videos)
https://bit.ly/learn-circuitpython-on-cpb

An instructor's guide that can also be used for self-paced learning:
https://bit.ly/learn-circuitpython-on-cpb-part1

And here are Medium articles on my experiences using these with new-to-code undergrads:
"A Coding/Engineering Experience for Business Undergrads" 
https://bit.ly/CPXatBC

"Unexpectedly Awesome: Hardware Programming in Freshman-Level Undergrad Business Course" 
https://http://bit.ly/CircuitPythonAtBC
[Includes fun montage video of student projects after just two one-hour sessions + completion of online videos)

FUN FOR INSTRUCTORS:
Bluetooth Controlled Necktie (easily adapted for infinity scarves or other garments). Be sure to wear it during Parents' Day.
https://bit.ly/PythonSmartTie
https://github.com/gallaugher/PythonSmartTie

"Make it Talk" App (powered a speaker hidden in Yoda with custom Yoda-ish phrases, controlled remotely via an App). Used https://acapela-box.com/ "Little Creature" voice, which sounds like Yoda, but you can make the device play anything. Swift/iOS on the app, Sends messages via MQTT, Received on Raspberry Pi linked to a speaker, triggering play of specific mp3 files.
Guide: https://gallaugher.com/yoda-app/
Code: https://github.com/gallaugher/MakeItTalk

CircuitPython Powered Candy Skull (make it say phrases remotely, like "hey you, take candy", then when touched, skull senses this and screams. Also uses very easy to set up, but creepy-fun Adafruit MonsterMask eyes:
https://github.com/gallaugher/CPXBluefruitHalloweenHead

Buddy the Elf Candy Dispenser: Both touch-sensitive and remotely controlled (trigger "You sit on a Throne of Lies" when your nemesis walks past):
Video tutorial: http://bit.ly/buddy-the-elf
Code: https://github.com/gallaugher/buddy-the-elf

App-Controlled Robot. Powered by Raspberry Pi, CircuitPython, Several motor board options, and custom iOS App. Can combine with "Make it Talk" code to have your robot remote controlled and "speak" on demand for fun interactions w/others (e.g. distributing event fliers, candy treats). FULL beginner instructions
Video, written tutorials, and code at:
https://gallaugher.com/lets-build-a-robot
NOTE: I'm not a skilled engineer, and if you use the option with the WaveShare hat, you'll probably notice that I could have wired power directly to connectors on the board that I didn't initially see. I have a lot to learn.

Talking "Baby Groot", real plant will respond when touched, an easy-to-create CircuitPyton project.
https://medium.com/@gallaugher/build-a-talking-baby-groot-using-circuit-playground-express-3c6f3f50f1ea

BE INSPIRED
There's a lot of really great work highlighting women & underrepresented groups in tech. I cobbled together a few very short videos that I sprinkle in with semester content. Here's the short playlist of short videos, but I'm sure many others have great ideas to share: bit.ly/BeInspiredTech

GIRLSCOUT SESSION
I recruited some of the women in my courses to run a code intro with my youngest child's Girl Scout troop. Some sessions based on the MakeCode work above. Here are notes shared w/the students running the session. Girls built "magic wands", Hermione's Goblet (played Harry Potter theme when raised in a toast) and learned to control a light strip:
http://bit.ly/girls-guide-to-hacking

IS BOOK (not meant to be a plug)
Even though there's a lot of software development / engineering content above, I'm still dedicated to updating my Flat World IS Text every year & don't want this free content to lead anyone to think that effort is stopping. It is not. I hope to have v.9's update released by the end of the year.

Thanks to all who have supported the projects. I look forward to learning from you, as well. Stay safe + stay strong!
John
--
Prof. John Gallaugher
Boston College
Learn to build apps: http://gallaugher.com/swift/
Learn to lead in tech: http://gallaugher.com/book
YouTube Content: http://bit.ly/GallaugherYouTube





More information about the AISWorld mailing list