MCCE News


Montana Council for Computers and Technology in Education Newsletter

March 1999


Technology Facilitates Plagiarism by Vince Long
Building Interactive Web Pages - Part 2 by Vince Long
Getting the Most Out of Your Spreadsheet by Vince Long


Technology Facilitates Plagiarism
by Vince Long

You sit down and start through that stack of papers that your students just turned in for grading. You plow through the first stack and are halfway through the second when something familiar jumps out. Are you experiencing deja vu? Haven’t you already read this paper?

Being the diligent teacher that you are, you dig through the previously graded papers and find the one that has the same passages as the one you are currently reading. Ah-ha, you think, I have caught a case of copying. How silly these students are, thinking that you would not notice the similarity in their work. The only thing let to do is confront them at school the next day.

Just before that class starts you lay the duplicate papers on your desk and call the two students forward. You tell them that the papers are virtual twins and you want to know whose is the original and whose is the copy. A look of bewilderment comes across their faces. They look at each other without a hint of conspiracy. They look back at you with growing expressions of guilt. Well, you say, as an encouragement for the guilty party to speak up. Finally, one of them, starts to spit out the words. "I...I...I got mine off the Internet."

Instead of one plagiarizer, you now have two. Looking down at the stack of corrected papers that you were planning to return today, you begin to wonder how many others were obtained from the same source. What do these students know that you do not?

What they have discovered is the ease with which term papers, research papers, essays, college entrance essays, and other pieces of creative work can be obtained with a few mouse clicks. For a student short on time, ethics, and/or ambition, the temptation to copy a piece of work from the Internet is too great to avoid. What teachers need to become familiar with are the same resources that the students have access to, perhaps right from your own classrooms.

I conducted a very brief search of the World Wide Web for places that offer term papers for downloading and quickly came up with 16 sites that have papers for free and another 12 offering papers for a fee. Some of the latter sites also have writers who will produce customized works for a fee per page.

The quality of the work available from the free sources is variable, but the volume and range of topics is quite large. Some sites feature search engines that allow the user to locate suitable papers by keywords, phrases, or subjects. Of course, teachers holding suspicious papers can also use the same techniques to rout out the plagiarizers. Selecting a phrase from the paper in question and entering into the site’s search feature could return a match.

Is the educator’s ability to use the writing of a paper forever lost due to this technological advancement? Not really, but today’s teachers need to become as adept with the technology as their students. Some strategies for dealing with these issues include focusing the assessment of the assignment as much on the process of research and writing as the finished product, including an oral report as part of the project, requiring a research proposal at the beginning of the project and seeing that the final project matches the proposal, and submission of handwritten notes, photocopies, and copies of the computer data used to prepare the paper.

These and other techniques to discourage plagiarism are detailed in an excellent web site, "Plagiarism and Anti-Plagiarism," maintained at Rutgers University. The address is:

http://newark.rutgers.edu/~ehrlich/plagiarism598.html

This site has instructions for how to use search engines such as Yahoo and Metacrawler to locate suspected papers on the Web. It also contains links to other sites that deal with plagiarism and copyright considerations.

It is important to note that not all students are using these resources to avoid doing their course work. A student who appears mediocre when looking at the daily grades might be a closet Hemingway and care needs to be exercised before assuming that their paper has been purloined from the Internet. Mistakenly jumping to the conclusion that this student has pirated the assignment can destroy the student-teacher relationship and discourage the budding writerg from pursuing their ability.

Something else that I noticed on several of the sites were the ubiquitous banner ads. These sites seek to support themselves by selling advertising space to vendors who might be interested in targeting the type of person who would use these services. However, instead of the usual ads for more legitimate products and services, these ads were for sites that sell kits for making phony driver’s licenses or methods for beating urine drug tests.

Getting to Know What Some Students Know

The following is a list of sites which offer various papers for free. Some indicate the grade level for which they were previously used and the date that they were submitted. This is by no means an all inclusive listing of sites offering this type of service. Some sites try to assuage guilt by indicating that the papers are to be used for research purposes only.

Sites with Term Papers

http://www.schoolsucks.com/
http://www.bignerds.com/
http://www.chuckiii.com/
http://www.cyberessays.com/
http://www.csc.calpoly.edu/~ercarlso/search/urlsrch.html
http://www.geocities.com/CollegePark/Library/9044/main.html
http://members.aol.com/oohalooo/index.html
http://members.aol.com/pinko360/terms1.html
http://members.tripod.com/%7ETexasTwister/
http://members.xoom.com/essayman/index.htm
http://members.xoom.com/cowessays/
http://www.netessays.net/

The following is a list of sites offering papers for a fee, usually charged by the page.

http://www.a1-termpaper.com/
http://www.academictermpapers.com/
http://www.ezwrite.com/
http://www.geniuspapers.com/
http://members.aol.com/poettes/prefab/
http://www.papers-online.com/
http://www.papers24-7.com/
http://www.papersinn.com/
http://www.superior-termpapers.com/
http://www.termpapers-on-file.com
http://www.termpapers911.com/
http://www.acceptedpapers.com/

And here is a list of site with information about how to combat plagiarism:

http://www.coastal.edu/library/easystep.htm
http://www.csbsju.edu/library/research/plagiarism.html
http://www.colby.edu/echo/News/plagiarism__2_27_97.html
http://english.unitecnology.ac.nz/resources/links/resource_query.html?type=Cross%20Curricula
http://alexia.lis.uiuc.edu/~janicke/plagiary.htm
http://www.plagiarism.org/
http://www.integriguard.com/
http://www.plagiarism.com/
http://www.uic.edu/~dobrie1/itl/academic_integrity.html
http://lib.nmsu.edu/ital/research.html





Building Interactive Web Pages - Part 2
by Vince Long

In the last issue of MCCE News (December 1999), we took a look at how, by using the features of CGI (Common Gateway Interface), we can build some interactivity into our web pages by collecting data from the user. In this part of a continuing series, we will look at the types of input we can accept through a web page and take a peek at the programming language, PERL, which handles most of the chores behind the scenes.

The web page example that we used in our previous issue http://senior.billings.k12.mt.us/mcce/cgi-series/namer.htm allowed the user to enter their first and last names into a text box. After submitting the page, a new page was returned to the browser that welcomed the user, by name, and showed off a bit by playing around with the characters in their name. The contents of that page are shown in the box to the upper right.

There are several other options that we can present to the user as a means to enter data into a form. We have already seen the Text Box which allows a single line of text to be entered.

The Text Area Box
If you want the user to be able to enter more than one line of text, you will use the TEXTAREA tag. A typical one looks like this:

<TEXTAREA name="mycomments" rows=4 cols=40>
</TEXTAREA>


This tag creates a text area that is 4 rows high and 40 columns wide. The attribute "name" defines that variable that will hold the information that is typed into the box when it is sent to the server for processing.

The Password Box
The next type of text input we have is the PASSWORD box. This is just like a single-line text box except that when the user types something into it, the text does not appear. Instead you will see asterisks on a Windows browser or bullets on a Macintosh browser. The tag for a PASSWORD box looks like:

<INPUT TYPE="password" name="mysecret" size=10>

Again, the 'name' attribute is the name of the variable that will contain the actual password. It should be noted that while the characters typed into this box do not appear on the browser, the password is not encrypted as it is sent to the server.

The Checkbox
If we want to give the user a list of items that they can select we accomplish this with checkboxes. The user can select as many check boxes as they wish. If we want our web page to ask the user to check what items they want on their pizza, the check boxes will look like those below on the left. The HTML appears below on the right.

Olives<INPUT TYPE="checkbox" NAME="olives" VALUE="yes">
Onions<INPUT TYPE="checkbox" NAME="onions" VALUE="yes">
Spinach<INPUT TYPE="checkbox" NAME="spinach" VALUE="yes">


When the form is submitted, if the box is checked, the value of the variable in the NAME attribute is set to "yes." If the box is not checked, the NAME attribute will have no value.

The Radio Buttons
While checkboxes work fine, it is sometimes necessary to limit the user to a single choice and this is where the radio buttons comes in. In this example the user can only select one type of crust for their pizza. The buttons are shown on the lower left as the would appear on the web page. The HTML that creates them is shown on the right.

Soft<INPUT TYPE="radio" NAME="buttons" VALUE="soft">Soft
Medium<INPUT TYPE="radio" NAME="buttons" VALUE="medium">Medium
Crispy<INPUT TYPE="radio" NAME="buttons" VALUE="crispy">Crispy

The Pop-Up Box
The Pop-Up Box works like a set of radio buttons in that the user can only make a single choice from a range of options. Whether you decide to use it or the radio buttons has more to do with how you might want your web page to look than the actual functionality of this type of input device. A simple example appears below.
<SELECT NAME="pizzasize" SIZE="1">
<OPTION SELECTED>small
<OPTION>Medium
<OPTION>Large
<OPTION>Extra Large
</SELECT>


In this example, SELECT indicates that this portion of our form will be a Pop-Up Box. NAME defines the name of the variable that will contain the value of the selection that the user makes. The OPTION tags list what will appear in the box and also what value will be passed to the variable in the NAME attribute. The OPTION SELECTED tag shows what value will appear in the box by default.

The Reset Button
This tag creates a button called "reset," or whatever you wish to call it, that will clear the contents of the form when it is clicked. The tag for this button is:

<INPUT TYPE="reset">

The Submit Button
When the user has finished filling out the form they can click on the SUBMIT button which sends the form contents to the server program that is defined in the FORM ACTION tag, covered in the previous issue. The tag for this button is:
<INPUT TYPE="submit">

Sending the Form to the Server

It is important to remember that each of these data input devices has two pieces of information associated with it. Each item, whether a Password Box or a Radio Button, has a name. The name is specified by the "name" attribute in the tag. When the form is submitted to the server, the information provided by the user is assigned to this name.

Assigning a value to the name attribute is much like setting X=3 in an algebraic equation. For example, if the user typed in "mutual" for their password, "mutual" would be assigned to the variable "mysecret." When the data is recieved by the CGI program on the server, it would look at the contents of the variable "mysecret" to see what the password is.

In our last article we sent a name to the server using a Text Box built with the following tag:

<INPUT NAME="yourname" TYPE="TEXT" SIZE="40" MAXLENGTH="60">

The users name was stored in variable "yourname" as it was sent to the server. The server passed the data to a CGI program that examined it, manipulated it, and returned a new web page to the user.

The CGI program was written in a language called PERL, which stands for Practical Extraction and Reporting Language. It is possible to use other languages to accomplish the CGI tasks on a web server such as Visual Basic and C++, but PERL is relatively easily to learn and easily handled by my server software.

It is not my intention to turn this series into a "how-to-do-PERL" tutorial. Rather, I want to expose the reader to what is going on behind the scenes as a form is processed on a web site. If the reader is insterested in pursuing the subject further, ther is a wealth of information on the World Wide Web and in print.

That said, let's take a look at the PERL program that was used to process the form used in the last issue. The name of the program is "echo.pl." Comments in the program are preceeded with the pound sign (#). My comments for the article are bold and right justified.


# echo.pl
# written by Vince Long
# for CGI-SERIES first published in the MCCE News
# starting in Decmeber 1998

This reads the data from
the web page as one long line of data


# Get the input
read(STDIN, $data, $ENV{‘CONTENT_LENGTH’});

This breaks the line of data back
into variable names and their values
# Split the name-value pairs
@pairs = split(/&/, $data);

This loop, sometimes referred to
as the "decoder ring" translates the data
into something readable by getting rid of
the embedded CGI code(it's neat but you don't
need to know this)


foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);

# Convert the HTML encoding
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!"(.|\n)*">//g;

# Convert HTML stuff as necessary.
$value =~ s/<([^>]|\n)*>//g;

$FORM{$name} = $value;
}

Here we separate the first and last names

($first, $last) = split(/ /, $FORM{yourname});

Now we determine the length of the name


$spaces = length($FORM{yourname});


Next we start to output the HTML
back to the user as a new web page


print <<EOF;

<HTML>
<HEAD>
<TITLE>CGI-SERIES Article 1</TITLE>
<meta name="author" content="Vince Long">
</HEAD>

<body bgcolor="#ffffff">
<CENTER>
<HR WIDTH=65%>
<BIG><B>Welcome, Notice how we refer to the user by the variable $FORM{yourname}
<FONT COLOR="#ff0000">$FORM{yourname}</FONT></B></BIG>
<HR WIDTH=65%>
<BR>
<TABLE BORDER=0 WIDTH=500><TR><TD>
As you can see, <FONT COLOR="#ff0000"><B>$FORM{yourname}</B></FONT>, we have been able to get the name that you <BR>
</TD></TR></TABLE>

The rest of the page removed for brevity

You can go to page that has the working copy of this program by clicking here.


A New Example

In this issue we looked at the various ways that we can provide for a user to enter data into a web page. If you would like to see have this works in the real world, point your browser to:

http://senior.billings.k12.mt.us/mcce/cgi-series/pizza.htm


Here you will be able to order a virtual pizza using all the examples of the user input devices covered in this article.

In the next issue we will look at how you can take advantage of these techniques without needing to mess around in the CGI world as we discuss the Forms and E-mail connection.



Getting the Most Out of Your Spreadsheet
by Vince Long

Most computer systems purchased today come pre-loaded with some type of office suite software that contains a word processor, a spreadsheet, and a database. Whether you have Microsoft Office, Microsoft Works, or Claris Works you will be doing yourself a favor when you go beyond the word processors and give the spreadsheet a try.

A spreadsheet is a program that lets you manipulate data that is stored, or presented, in a column and row format. Generally used to deal with numerical data, a spreadsheet can also handle textual data. You can place data into individual cells and manipulate them by placing formulas in other cells.

For example, let’s say that you are preparing a budget that consists of ten items and that your total expenditures cannot exceed $100. You could enter the items into five cells in a column starting at the top and working down. The sixth cell would contain a formula that adds up the cells above it. If your budget exceeded $100, you could change the individual cells and automatically see the total readjusted.

The power of the spreadsheet is with its ability to play with "what-if" scenarios such as this.

The sample below shows how a small budget can be set up in a spreadsheet. Cell B13, which holds the total, actually contains a formula that references the other cells: =sum(B3:B12)



Using Your Spreadsheet as a Gradebook

For the classroom teacher, the spreadsheet makes a great replacement for the traditional, paper-based grade book. Students’ names can be listed in the first column. Assignments can be listed across the top. A column on the left can total what ever data is entered into the cells, without any addition errors.

The instructions which follow are for Microsoft Excel, but should work the same with MS Works or Claris Works spreadsheets.

Open your spreadsheet program.

In the first few columns on the left, I like to place the student name, their ID number, and their grade level. I don’t start in the first row, but skip down a few so that I can place other information in those rows later. You can enter decriptions for any of the columns in rows 1 through 3, as shown below.

In column A, row 4, I place the first of the last names. In the next column, B, I place the student’s first name. In the next column, C, I place their student identification number, and in the next, their grade level.

Go to the next row and repeat the process until you have all the students entered. Be sure to save your file. Your spreadsheet should now look like the one below.



Next, we enter the assignments. In the sample shown below, on the right I have entered the assignment name in the columns of row 2. My software, Microsoft Excel, lets me turn the text 90 degrees to the left, which saves space and makes the spreadsheet easier to read. Some spreadsheets do not have this capability.

Most spreadsheets also let you resize the height and width of the rows and columns by dragging their borders from the points indicated by the arrow in the example shown below.

In the next column on the right, the next unused one, J2, place the name "Total," just as you did with the assignment description names.



In the next row, under each assignment name, I enter the points possible for that assignment.



Okay, now we need to tell the software that we want to add up the total points for each student.

In row 3, under the cell that you just named "Total," this is cell J3, we will enter the formula that instructs the program to add up the points for all of the assignments. In our example you would enter: =sum(E3:I3)

The formula is telling the spreadsheet to place the sum of the cells from E3 through I3 in whatever cell we place this formula.

After typing in the formula, press Enter or Return, or click in another cell. The formula should disappear from the cell, leaving the total number of points for all of the assignments in its place. See the example below. The total points are shown under the Totals column while the formula appears in the formula bar, indicated by the arrow in the example below.



Now we need to put the same formula in each of the cells for each of the students. This could be laborious if spreadsheets did not offer a means to easily copy formulas across rows and columns. This is called a "fill" and most spreadsheets have the ability to fill down and to the right. Some will let you fill up and to the left as well. When the spreadsheet does the fill for you it changes the cell references in each cell as it copies the formula.

To copy our formula in the Totals column for each student row, click on the cell with the formula in it, cell J3 in our example. Then, while holding down the shift key, click on the last cell that you want to fill, in our example this is cell J8. All of the cells in column J from row 3 to 8 should now be selected.

To perform the fill, look in the Edit menu, find Fill and then click on "Fill Down." The new formulas are inserted in the cells leaving the sum of the student Totals, which at this time is zero.

It should look like the example shown below. Save your work.



Now, you can enter assignment scores for each student and the total will be reflected immediately in Totals column.

A completed grade book might look like the one shown below.



You can have the spreadsheet perform many other functions for you, including averages and percentages, by inserting the appropriate formulas in the desired cells.

You can download a copy of the sample spreadsheet, shown here, by selecting one of the links, below. The file is available in two formats: MS-Excel 4 for Windows format and a text format which can be opened with most any spreadsheet program.

Sample in MS-Excel 4 for Windows format

Sample in text format (can be opened by any spreadsheet)




The contents of my pages are Copyright © 1999, Vince Long and MCCE
Articles included in these pages are Copyright © by their writers.
Comments are Welcome:vlong@mcn.net




Go to the MCCE Page

Go to the Past, Present, and Future Page...




Handmade HTML  Made with Notepad

This page was hand coded by Vince Long

Copyright © 1999, Vince Long