Required Course Tools - 5362
You will absolutely need:
- Web Browser
- Text Editor (that is not an "IDE, "at least in the beginning)
- File Transfer Program (some "File explorer" type programs have this built in)
The following are highly recommended for now, and will will be required for LIS-5364.
- Access to a computer capable of running a light virtual machine (if you're unsure, odds are you can, but we will have to confirm) OR a Raspberry Pi running the default OS .
- Terminal Emulator/Shell
Use a device that's a "real computer" (as opposed to a tablet or phone). Web development and programming is about text, and tablets are generally bad at text.
I generally recommend Firefox over all other major browsers, but this is a shifting environment as always.
The key here is that it should handle (programming type) text well, but it should NOT be an advanced IDE (Integrated Development Environment) just yet. A good rule of thumb; if it writes anything FOR YOU (auto-complete), it should not be used. But "syntax highlighting" is okay. Some examples:
(Some of the following have plug-ins or add-ons that will enable auto-complete. Please do not activate those features, yet.)
Probably built in to your machine, the following are fine:
Gedit for Linux
Notepad for Windows
Notepad for Macs
ScITE / Scintilla
- this is the one I will likely use the most; cross platform and runs on everything.
Linux (Command Line)
(wow, it was hard finding free ones, though I guess I shouldn't be surprised)
r (I think)
FOR LIS-5362, I will likely use JEDIT (and not something hardcore like vim or vscode et al)
BAD (honestly, not sure if these are still "a thing")
No full IDES, for now.
(these are great tools for advanced users, but they do too much of the early work for you, as a result you won't learn)
Your Atoms and VSCodes are also likely too heavy, but we can discuss.
NO WYSIWYG Editors:
(Ditto, except for the "great tools" part. They're easy, but they tend to lock you in to a particular work-flow)
No "In-browser" editors (e.g. Cloud9, jsfiddle) for now. This is very much putting the cart before the horse.
These are OBJECTIVELY the wrong tool for this job. They will almost certainly break and screw up your code because they're not at all designed for this. Don't even think about using them for this class. Seriously. Do. Not.
File Transfer (FTP/SFTP)
You will need a program or other method of copying the html files that you create to a webserver. One option is to use the command line; I imagine Linux users will already be somewhat familiar with this approach.
Most of you will likely prefer a Graphical User Interface approach. I'm going to assume you're all somewhat comfortable with standard GUI File Managers, such as the Explorer in Windows and the Finder in Macs. Most file transfer programs have similar approaches (copy/paste, drag and drop, etc.) Additionally, some more advanced file managers have file transfer capabilities built in. (Nautilus/Nemo in Linux is good for this)
Details on Filezilla, a cross-platform program, are available here.
We have free hosting on "Torch; " CCI's web hosting platform. You may login there with your FSU credentials: More info here: http://torch.cci.fsu.edu
Terminal Emulator/ Shell
Later, in LIS-5364, you will be required to do a virtual Linux install (or simply buy a Raspberry Pi and use its default OS) however, you may want to simply do this in this course, and do your development within it. Given that the vast majority of webservers are Linux based, the two will "talk to each other" quite well.
Linux and Mac users have these built in.
Windows users have a slightly confusing range of issues to deal with, since most of the web is a "Unix/Linux/*nix" type of environment, and Microsoft was ill-prepared for the internet generally. Very very recently, Windows has added the use of GNU and Linux shell tools (with the nearly exactly backwards named "Windows Subsystem for Linux," so you may want to check that out. (Embrace, extend, extinguish?)
(and PSCP/PSFTP) is a good choice for basic command-line work,
is another interesting option for users who want a more complete option.