←to practical programming
Lecture
  1. Introduction [CSCAA];
  2. POSIX(UNIX) systems [top500 supercomuters];
  3. Programming languages [n-body benchmark];
  4. Open software [libresoft].
Exercises
  1. Get yourself an access to a POSIX system. There are several options:
    1. Ubuntu. Install it either directly on your laptop (the default and supported option) or in a virtual machine (VirtualBox is a popular hypervisor). The latest long term support version of Ubuntu is 18.04.
    2. Most of other Linux-based systems like Debian or Fedora (but not Android) would do just as well. Some minor details might differ from Ubuntu.
    3. MacOS with homebrew. Some details are different from Ubuntu.
    4. Microsoft Windows with Cygwin. Less explored.
    5. Microsoft Windows with Windows Subsystem for Linux. Less explored.
    6. Android with termux. Less explored.
    7. An account on a POSIX server and a laptop to ssh to your account. You might need to manually install some packages though.
  2. Learn how to start a terminal in your POSIX system. Here is a tutorial for Ubuntu.
  3. Read about the man utility. Run man man and read the DESCRIPTION of the utility in your system.
    Hints: man usually uses less as the default pager; you quit from less by pressing the q-key.
  4. Learn the following commands (file utilities) from the GNU Core Utilities: cp, ls, mkdir, mv, rm, and the bash built-in command cd.
    Hints: type, for example, man cp in your terminal; Google-search "man cp".
  5. Read about the command-line completion.
  6. Install your favourite text editor. If you don't have one, install the Nano text editor with the command
    sudo apt install nano
  7. Install also the vim editor, sudo apt install vim, should you ever want me to look at your files.
  8. Learn to create, save, and edit text files with your favourite text editor.
  9. Answer questions-intro.