Setting Up Your Environment
Here’s some tips for setting up your C programming environment on the Raspberry Pi.
My recommendation for this class is to get familiar with a terminal-based editor such as vim, emacs, or micro. Lots of tutorials are available online, and learning a terminal editor can be extremely useful. If you end up working with cloud services, DevOps or as a sysadmin in your career, knowing one of these tools is vital.
Many students develop their C programs with text editors such as Sublime Text, Atom, or VS Code. These are all good options too, but will require a plugin on external program to be able to edit files on the Pi remotely. There are also plenty of IDEs that work well with C, if you choose to go that route.
Development on Windows can be tricky. One way to avoid a lot of headaches is to use a virtual machine. Here’s instructions for setting up a Linux VM on Windows
If you aren’t interested in using a Linux VM, you’ll need something along the lines of Cygwin or MinGW. This will give you a (mostly) standard UNIX development tool chain on Windows. Be sure to enable the ‘Devel/gcc-core’ and ‘Devel/make’ packages to pull in gcc and related tools on Cygwin.