Bash - Good for "local" operations, tasks for which you are the only user and there's no public interaction. Administrative tasks are good for this, as can be "personal" digital management, e.g. calendars and todo lists and such.
However, it could also be used to generate HTML that eventually do go public, but non-interactively.
Raspberry pi projects
Likely (but not always) involve some Bash, and/or configuration via something like dotfiles and/or JSON. Anything involving editing text at some stage is likely usable.
Many Pi Projects are installed Web Applications, which either require a standalone web server (Apache, nginx, lighttpd) or similar (node.js)
Additionally, hardware projects (e.g. use of GPIO) fit the above as well (as far as I know?)
NOTE: Many of these are "too easy" by default - in that you can frequently just prepare the SD card and turn the thing on. We can look into adding features to create a substantial project.
- Music player
- File server/ sync
- Retro video games
Web projects (writing them somewhat from scratch)
HTML/CSS - hey, you probably know this. See above
PHP - if you wanted minimal user input and are giving mostly text output (e.g. a web enabled Mad Libs, instead of the bash). Optionally, saving into a file or MySQL database is an option. Will likely make use of HTML Forms.
- Web mad libs?
- Simple blog generator
(Python / Ruby / Lua etc) — all options, though I will not likely be teaching any of these in class. Regardless, usable for credit.