Our C-with-Linux-for-hardware classes, hosted by Alanna Kelly, will begin on this Tuesday, November 19, and run for a total of three weeks with the goal of building a simple electronic dice that has been coded in C. You’ll learning soldering, electronics, C, and Linux at an introductory level.
Access to a laptop is mandatory; and an installation of a Linux shell, vim text editor, and GCC compiler are all very strongly recommended. If you run Windows or do not know how to install GCC, a remote shell accounts on an 091 Labs Ubuntu server will be available for the duration of the classes.
The cost of the four classes is €40, along with €10 for electronic components.
Tuesday November 19, from 7pm to 10pm.
Once a week thereafter, for three subsequent weeks.
Have access to vim, GCC, and Linux.
Shell accounts to a remote Ubuntu server will be provided if you don’t have any of the above.
You will learn C, Linux, and simple electronics (soldering, wiring).
The overall project will be to build and take home an electronic six-sided dice.
You are required to have:
A laptop with network access.
Either a Linux installation with GCC, or an installed terminal and SSH. OS X has this in Terminal.app, and for Windows you can install either Cygwin or PuTTY.
Bare blurbs aside, I plan to use Ubuntu for this, and start off by showing people how to install Linux on their laptop. If they survive that (and the scary liability release for my assistance), delve into Boolean logic, basic structures, and hopefully devote most of my time to doing cool and practical things with the Bash shell.
I don’t intend to handhold through the Linux installation: If you want to program or script with Linux, I expect that you at least be comfortable enough to partition your laptop and install it. I really recommend that you come into this workshop with either a function Linux installation, OS X installation, or a Cygwin installation so you can begin working immediately – example code I use will be usable in both environments (except for the respective path differences).
The Big Topics of the shell workshop include:
Refreshment on elementary subjects: Boolean logic, Linux and its shell.
Input and output (STDIN, STDOUT, STDERR), and redirection.
Pipelines, and using them to build workflows.
Parsing, searching, and appending to files.
Coding standards and best practices.
Everyday uses and examples of shell scripts.
Including your own binary programs (C#/Mono) in your workflow. I will cover basics of this.
Come one, come all, and geek out to your heart’s content. :)