On this page:
1 Blackboard
2 Discussion Board
3 Gradescope
4 Zoom
5 Google Apps
6 Linux
7 make and Makefiles
8 XML
8.1 The automaton Element
9 JFLAP
10 La  Te  X

Logistics

Last updated: Sat, 30 Jan 2021 18:35:34 -0500

This page lists the websites and tools we’ll use in the course.

1 Blackboard

Here is the Blackboard page for this course.

For security, the Zoom link(s) for this course is only available via Blackboard.

Other course materials may also be published to Blackboard sporadically.

2 Discussion Board

We will primarily use Blackboard Discussions Piazza to communicate outside of lecture.

(I will still occasionally check the Blackboard Forums).

On Discord, there is a student-run server and a #cs420 channel on the UMB Server.

3 Gradescope

Here is the Gradescope page for this course.

Homework and quizzes are submitted and graded via Gradescope.

4 Zoom

Lectures and office hours will use Zoom.

For security reasons, the University requires accessing Zoom rooms via Blackboard.

5 Google Apps

I’ll occasionally use UMB’s Google Apps Suite to administer surveys.

These may be accessed by entering your umb.edu credentials into the Google login box.

6 Linux

For programming problems, you may develop on any platform.

The Gradescope grader, however, runs in a Linux environment (specifically Docker containers running Ubuntu 18.04).

Thus, you should test run all your solutions in Linux before submitting.

Fortunately, there are many options available so this should be straightforward:
  • There are many free Linux VMs available on all platforms, e.g., VirtualBox, or Docker.

  • All students have access to users.cs.umb.edu. Use your CS UMB account credentials.

    You won’t be able to do system-wide global installations, but you should be able to download and install things locally.

  • Some computers in the UNIX lab should also be available for student use (these may not be available yet):
    • pclab40.cs.umb.edu

    • pclab41.cs.umb.edu

    • pclab42.cs.umb.edu

    • pclab43.cs.umb.edu

    • pclab44.cs.umb.edu

7 make and Makefiles

A Makefile is a script used by the make tool to automate compilation and other tasks.

It’s one of the most widely used developer tools. We’ll use it to run and grade homeworks.

Therefore, each (programming) hw submission must include a Makefile. Homework 0 will explain more details. Subsequent assignments may also have additional requirements.

8 XML

This course uses XML, a popular "data interchange format", both in hw programs and as a running example to compare and contrast the various computation models we’ll learn.

Here is the full XML spec, but we’re mainly interested in a small subset of the language, in particular an automaton element.

8.1 The automaton Element

Homework 0 explains more details but in summary, an automaton element in this course mainly consists of state and transition elements.

Here is an example:

"automaton XML Example"

<automaton>

  <!--The list of states.-->

  <state id="0" name="q1"><initial/></state>

  <state id="1" name="q2"><final/></state>

  <state id="2" name="q3"></state>

 

  <!--The list of transitions.-->

  <transition>

    <from>0</from>

    <to>0</to>

    <read>0</read>

  </transition>

 

  <transition>

    <from>1</from>

    <to>1</to>

    <read>1</read>

  </transition>

 

  <transition>

    <from>0</from>

    <to>1</to>

    <read>1</read>

  </transition>

 

  <transition>

    <from>2</from>

    <to>1</to>

    <read>0</read>

  </transition>

 

  <transition>

    <from>1</from>

    <to>2</to>

    <read>0</read>

  </transition>

 

  <transition>

    <from>2</from>

    <to>1</to>

    <read>1</read>

  </transition>

</automaton>

9 JFLAP

JFLAP is an application for experimenting with FSMs and other models of computation.

It’s not required for the course, but you may find it useful (use version 7.x).

The course staff may occasionally use it to generate XML representations for homeworks, but each assignment will explain details when necessary.

10 LaTeX

LaTeX is typesetting software that is particularly useful for writing that includes math.

It’s not required but you may find it useful when submitting non-programming homework.