CIS 351

Tools

Winter 2021

Overview

The purpose of this lab is for you to get the different tools we will use throughout the semester set up and working.
Preparation
  • Sign up for a GitHub account if you don't already have one. (We will be using GitHub Classroom to manage assignments.)
  • Make sure you can access your EOS account. If you don't have an account, or otherwise can't access your account, contact HPC support before the beginning of lab (hpcsupport@gvsu.edu).
  • Set up a public/private SSH keypair and upload your public key to GitHub. (See this video for instructions).
  • Review basic git usage.
GitHub Classroom and Java
Next week's lab is to write some Java code. The automated testing for this project uses JUnit 5 and Maven. Make sure you have a suitable environment set up. (The easiest solution may be to use the School of Computing's EOS/Arch environment because they are already set up. This is now even easier because you can work in EOS/Arch directly through your browser at https://cislab.hpc.gvsu.edu/. No more x2Go!) This video discusses the steps below in more detail. Our Support team also recently added this knowledge base article about configuring VS Code in the EOS/Arch environment.
  1. Follow this GitHubClassroom link to generate your personal repository for next week's lab.
  2. Clone the generated Git repository.
  3. Open the project in the IDE of your choice. (If you use IntelliJ, open it as a "maven" project. not an Eclipse project.)
  4. Make sure you can run the JUnit tests.
  5. Change the return statement in BaseConverter::convert from return "" to return "0". At least one test should now pass.
  6. When you have at least one test passing, commit your changes. (You do this from the command line using git add .; git commit -m your_message_here; git push. It is also possible to commit through your IDE.)
JLS
This semester we will be using a digital logic simulator called JLS.

All the necessary code is contained in a single .jar file.

  • If you are using EOS/Arch, you will find JLS.jar in /home/kurmasz/public/bin. The easiest way to run JLS in EOS/Arch is to put this directory in your path. (For most of you, the best way to do this is to add the line export PATH=$PATH:/home/kurmasz/public/bin to the end of your .bashrc.) There is a script named jls in this directory that sets up the java classpath and launches JLS. This directory also contains other scripts that will make your life in this course much easier. If you object to adding this directory to your path, you can also launch JLS with this command: java -jar /home/kurmasz/public/bin/JLS.jar /JLS.jar.
  • If you want to run JLS on your own machine, you can download the jar file here. (Please do not email Prof. Poplawski for a copy of JLS.)
  1. Download isPrime.jls.
  2. Launch JLS (either in EOS/Arch or on your own machine) and complete the isPrime circuit demonstrated in Video 1. Do not modify the names of the input and output.
DLUnit
We will use a tool called DLUnit to run automated tests on your JLS circuits. Specifically, DLUnit allows you to write and execute JUnit tests for your circuits.

To run DLUnit

  • in EOS/Arch:
    1. Make sure /home/kurmasz/public/bin is in your PATH
    2. Download IsPrimeTest.java.
    3. Compile the test: dlunit_compile IsPrimeTest.java
    4. Run DLUnit: dlunit isPrime.jls IsPrimeTest.class .
  • on your own machine
    1. Download DLUnit.jar.
    2. Download IsPrimeTest.java.
    3. Compile the test: javac -cp DLUnit.jar IsPrimeTest.java
    4. Run java -jar DLUnit.jar isPrime.jls IsPrimeTest.class.
  1. Use DLUnit to verify that your isPrime circuit is correct.
Submission
There is no formal submission for this lab. Your are on your honor to complete the required steps by the deadline.

Updated Tuesday, 19 January 2021, 5:31 PM

W3c Validation