Miscellaneous Information


Links:

Cornell Note-taking System

Here's the Cornell Note-taking System referenced in class.

Submitting Assignments

In general, homework and projects will be submitted to the respective box in D2L (https://elearn.mtsu.edu), unless otherwise specified. When promoted, use your PipelineMT account credentials to gain access.
For homework assignments, late submissions will be ignored. If you re-submit a lab assignment, only the resubmission will be graded. This may reduce the amount of points earned if the new submission is after one or more days late.

Resources for Mac Users

If you have a Mac and are looking for a way to run Windows (which, by the way is free via DreamSpark for CS students), here are some options:
  1. Run Windows with Boot Camp (included for free with recent OS X versions)
  2. Install a virtual machine (e.g., VirtualBox (Open Source Software)), then install Windows
  3. Purchase Parallels, then install Windows

Accessing herschel with just a terminal window

Mac or Linux Machine

One of the easiest ways to access herschel from a Mac or Linux machine is using ssh. In a terminal window on a Mac or a Linux system, type in something like:
ssh  PIPELINE_ID@herschel.cs.mtsu.edu
Replace PIPELINE_ID with your personal CS account name (which is the same as your pipeline ID). ssh will prompt you for your password. Use your personal CS account password. Note, as a security measure, it will not display what you're typing. If you want to have a window pull-up on your Mac or Linus machine (for example, a Site window), then use ssh -X .... This will forward the X windows (if you have an X-server running like Xquartz).
When you're tired of typing in your password every time, set-up ssh keys.

Windows Machine

To get a terminal window access on a machine running Windows, the most common tool to use is PuTTY.

Accessing herschel with a graphical display

To access herschel, and have a screen just as if you were sitting down at that computer, use X2Go. Dr. Untch put together some instructions on how to install and configure X2Go to connect to ranger. You can use these instructions, but apply them to herschel. For generic installation instructions, see the X2Go Wiki. Note, BEFORE the first time that you login with X2Go, you need to login once with PuTTY or ssh. If you're running Mac OS X, then you'll need to install XQuartz first. Follow the instructions in the the following video: https://cs.mtsu.edu/~untch/share/Xquartz.mp4. Also, if you're using running Mac OS X 10.8 or newer, then version 4.0.5.1 will not work, but version 4.0.5.0 does work. If you get an error message like "x2goclient" can't be opened because it is from an unidentified developer, you need to go to Finder, then the Applications folder and right-click on the X2Go icon. Choose Open, then allow it to be opened. You should only have to do this once. If you're running Mac OS X 10.6 (Snow Leopard) or 10.7 (Lion), you'll need to use version 3.99 instead.
Once you have X2Go installed, you'll need to use the following values to connect:
Host: herschel.cs.mtsu.edu
Login: (Your CS / Pipeline Username)
Session Type: XFCE

Transferring Files to/from herschel using a Mac or Linux Machine

On of the easiest ways to transfer files to and from herschel is using scp. If you're using a Mac or a Linux system, open up the Terminal application. To do this on a Mac, either search for Terminal with Spotlight, or use the Finder application. In Finder, open up the Applications folder, then the Utilities folder. Double-click on the Terminal application in that folder. Then, in a terminal window type in something like:
scp  -r  lab2-lastname/  PIPELINE_ID@herschel:~/coms6100/labs/.
The -r flag specifies a recursive copy (meaning it will copy all specified files and directories and what's in those directories (and what's in those directories (and ...))). The syntax for the username and remote machine is just like it is for ssh with ":" after the hostname. Specify the directory that you want to transfer files to after the ":". The example above indicates to copy lab2-lastname/ on the local machine to the coms6100/labs/ directory, in PIPELINE_ID's home directory on herschel. The "~/" means the home directory. The "." at the end of the path tells scp to use the same filename/directory name (in this case, lab2-lastname).
If you want to transfer files from herschel to your local machine, reverse the syntax:
scp  -r  PIPELINE_ID@herschel:~/coms6100/labs/lab2-lastname  .

Transferring Files to/from herschel using a Windows Machine

If your local machine runs Windows, one free tool (of many) to transfer files to a remote machine is WinSCP. To create a session to connect to herschel, use herschel.cs.mtsu.edu as the host name. Additionally, use your personal CS credentials (your pipeline ID and your CS account password).

Using diff

diff is a command-line utility on UNIX-based machines to compare two files. Part of the grading process is automated by using diff. diff takes two filenames as arguments and displays the differences (if any) between the two files. It treats the first file as the original and compares the second file to the first file. Every time diff detects that one or more lines are different between the files, it will output the line number of the first file, a letter and the line number of the second file. The letter is one of the following: If diff detects that a line was changed, it will output the line from the first file, followed by a line with just "---", followed by the line from the second file. It appends "<" and ">" at the beginning of lines to indicate if the line is from the first or second file respectively.
As an example, let's assume that you have the following files:
diffExample1.txt   diffExample2.txt
aaa
bbb
ccc
ddd
eee
fff
ggg
 
aaa
bbb
ddd
e e	  
fff
ggg
hhh	
Executing
diff  diffExample1.txt  diffExample2.txt
yields the following results:
3d2
< ccc
5c4
< eee
---
> e e	  
7a7
> hhh
In this example, diff detected that line 3 in the first file, "ccc" is not present in the second file (at line 2). Additionally, line 5 in the first file is similar to line 4 in the second file ("5c4"). Finally, line 7 in the second file, "hhh", is not found in the first file. Again, if the two files are identical, diff outputs nothing.
Optionally, diff can take a --side-by-side flag to display the results lined up next to each other. Using the same files above and the --side-by-side flag yields the following results:
aaa		aaa
bbb		bbb
ccc	  <
ddd		ddd
eee	  |	e e	  
fff		fff
ggg		ggg
	  >	hhh	
Here, the first file is output on the left, then a column of either "<", "|", ">" or nothing and then the contents of the second file. The "<" and ">" symbols in the middle column have the same meaning as above. The "|" symbol in the middle column indicates that the two lines are similar, but not exact. If there's not a symbol in the middle column, then the line match perfectly. With the --side-by-side flag, longs lines are truncated. To prevent this, use the -W argument with a large number (e.g., -W 170).

Last Modified: