Lab 0: Introduction to Course and Linux Lab

Welcome

The purpose of this first lab is to familiarize you with the environment you will be using in this course. In particular, this lab will introduce you to remotely accessing the Linux operating system and course resources.

This lab does not follow the typical format that we will establish next week. This week, we need to make sure that you are comfortable with the environment before you start to program and you know the course's available resources.

The computer workstations in our lab run the Linux operating system, specifically the Ubuntu distribution.

Goals for Lab Zero

After the lab, you should know how to

  1. log in and out of the Linux machines, and set up your account for this course
  2. access the CSCI111 home page
  3. use the Canvas forums
  4. use the interactive textbook
  5. access the Web on the Linux machines
  6. create a text file with a text editor
  7. write basic HTML files and display them online

If you can do all those things, you are (almost) set for the course!

Objective: Learning to Use Linux

We are learning how to use the Linux Machines in class (the slides).

For reminders of Unix commands, check out the CS dept wiki's page on basic Unix commands.

Type labhelp to start an application that helps us keep track of who needs help next.

Objective: Remotely Accessing the Lab Machines

The lab machines are all networked, and we can access any of the machines using a secure shell client (ssh).

  1. ssh into another lab machine (as described in the instructions). This document contains the names of all the lab machines.

    Note that when you ssh, you are using the same interface as when you opened the terminal on the lab machine.

  2. Type emacs & in the terminal to open a text editor. A text editor is a simple editor (like Notepad for Windows or TextEdit for Mac) for plain-text documents (like program source code and HTML files).

    The & means "run in the background" so you can keep using the terminal, i.e., you can execute commands.

  3. In emacs, create a new file (under the File menu) named who.txt and save it in your home directory (username@ad.wlu.edu). The home directory should be the default location--note the home icon. The file will be blank.
  4. Back in the terminal, type who in the terminal to see who else is logged on to the machine, e.g.,
    sprenkle@python:~$ who
    administrator pts/1        2024-01-09 20:19 (137.113.62.48)
    sprenkles pts/2        2024-01-09 19:56 (137.113.118.56)
    temadmin pts/3        2024-01-09 20:30 (10.0.4.179)
    sprenkles pts/4        2024-01-09 20:33 (10.0.7.175)
    

    From the output, I see myself (twice) and two other people are logged into python.
  5. Copy the output from who and paste into the emacs window. Your typical keyboard-based shortcuts (e.g., Control-C or Command-C) won't work. Use the menu for copy/paste. In emacs, you will probably need to choose Edit → Paste to paste the output. Alternatively, you can highlight text, and then use the middle mouse button to paste the highlighted text. (This can be tricky -- make sure not to highlight anything else before pasting.)

    This is an inelegant way for us to save output. There are better Unix-specific ways, but I wanted to start with something that you're somewhat familiar with.

  6. Save the file (who.txt).
  7. When you get to the appropriate question on the Canvas "check" quiz, copy this output into the answer textbox.

Objective: Taking the Quiz in Canvas

"Quiz" isn't the appropriate word--it's more like a "check". We just want to make sure that what you did today makes sense. In Canvas, take the "Lab 0 Check".

Objective: Using the Canvas Discussions

We will use the Canvas forums for submitting summaries for the "Broader Issues in Computer Science" part of the course.

  1. Login to Canvas.
  2. Navigate to the "CSCI-111-01 W24" course site.
  3. Navigate to the "Discussions" from the side menu bar.
  4. Read over the existing entries/topics.

Objective: Using the Interactive Textbook

Register for the textbook, creating a username/password for the course WLU_CSCI111_W24. Please make the email, first name, and last name be what you use for W&L so that I can recognize your account.

While the book and registration is free, please consider donating $10 to help with their costs of hosting and development.

Read the first two sections, answer the questions in the section, and mark the sections as completed. Check the Assignments page to make sure you have completed the assignment.

Each week, there will be an assignment in the interactive text book that is due before the lab. You will complete the readings and do the problems. This will help prepare you for the lab. The next "pre-lab" assignment will be released on Friday.

Objective: Taking the Intro Survey

In Canvas, complete the "Intro Survey". (You can do this outside of/after lab--just don't forget to do it!)

Objective: Setting up Remote Access from Your Personal Machine

You may access your Computer Science account from any computer connected to the Internet, provided you have appropriate access software, e.g., a secure shell client program. Having an X server installed as well means that you'll be able to run graphical programs and have them display on your machine.

You may be planning to do most of your work from the lab, BUT you must set up your personal machine to remotely access the lab machines.

Follow the instructions to download and install the ssh client and X server and ssh into python.

Practice using the terminal.

Finishing up: What to turn in for this lab

There is nothing physical to turn in for this lab. I will see your submissions in Canvas, in the interactive textbook, and on the web!

Labs are due at the beginning of Friday's class.

Assessment