ProjectNotes

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.


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.

Javascript - Any client side movement/action/or interactivity. Primarily, this is done not through writing code from scratch, but from libraries and frameworks.

etc.
Note: Javascript can do most anything, e.g. games et al. But you'd be a little more on your own (unless you have classmates also interested?)


Other Languages


(Python / Ruby / Lua etc) — all options, though I will not likely be teaching any of these in class. Regardless, usable for credit.