Miscellaneous Information


Links:

Cornell Note-taking System

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

Submitting Assignments

Labs can be submitted at https://3240.cs.mtsu.edu/. When promoted, use your personal CS account credentials to gain access. The username for your personal CS account is the same as your pipeline ID (two to three letters, a single digit followed by a letter). If you don't have a CS account that matches your pipeline ID, request one at https://mgt.cs.mtsu.edu/aru/. For the password for http://3240.cs.mtsu.edu/, use your CS account password (and not your pipeline password).
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.
Finally, submissions over 1 MB are rejected. This usually happens by inadvertently including large files and/or directories.

Accessing ranger from a Mac or Linux Machine

One of the easiest ways to access ranger is using ssh. If you're using a Mac or a Linux system, in a terminal window type in something like:
ssh  PIPELINE_ID@ranger0.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 linux machine (for example, a Scite 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.

Accessing ranger from a Windows Machine

Two commons tools to access ranger from a Windows machine are the NX Client (instructions) and PuTTY.

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

One of the easiest ways to transfer files to and from ranger is using scp. If you're using a Mac or a Linux system, in a terminal window type in something like:
scp  -r  lab2-lastname/  PIPELINE_ID@ranger0.cs.mtsu.edu:~/csci3240/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 csci3240/labs/ directory, in PIPELINE_ID's home directory on ranger. 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 ranger to your local machine, reverse the syntax:
scp  -r  PIPELINE_ID@ranger0.cs.mtsu.edu:~/csci3240/labs/lab2-lastname  .
When you're tired of typing in your password every time, set-up ssh keys.

Transferring Files to/from ranger using a Windows Machine

If your local machine runs Windows, one free tool (of many) to transfer files to a remote machine is WinSCP. For File Protocol chose SCP. To create a session to connect to ranger, use ranger0.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: