Professional Documents
Culture Documents
Spring 2007
Computer Usage You can obtain a trial version of Rational Rose to run the program(s)
on your home PC from IBM web sites (Since the URL changes from time
to time, do an internet search). A student version is also available. If you
wish, you can use the facilities at UTD too (ES2.104 on the ground floor
in ECS). All PCs in the labs of UTD are installed with Rational
Rose. There are several open access labs:
http://www.utdallas.edu/ir/tcs/labs/locations.htm. You will need to get a
user ID for the lab, https://netid.utdallas.edu. Need help? 972-883-2911,
assist@utdallas.edu, http://www.utdallas.edu/ir/tcs
Project (1) There will be two small projects - a java calculator and a java clock
radio. You will also implement a java email interface that can retrieve
email from servers.
(2) Submit a hardcopy of the project. The hardcopy should be submitted
by the expected due date in the beginning of the class that day.
(3) Submit the report, the source code in a CD or on webCT.
Tests There will be two tests, one in the middle (test 1) and the other at the end
(test 2) of the course.
The class participation grade is based on your class attendance. Later more than 15
minutes for a class will be counted as missing the class.
Class Policies
• No Makeup exam. If you miss midterm exam, your final will be counted as 40%
instead of 20%. If you miss the final exam, you fail the course. Incomplete grades
will not be issued.
• Instructor/TA would not tell students how to do the assignment/project questions
before the due date. Instructor/TA would not be able to help students to debug
their program either.
• Regular class attendance and participation are expected. Students are responsible
for lectures and announcements if she/he misses the class.
Late work Any assigned work will have 10% points deducted for each day past the
deadline. Work later more than 2 days will not be accepted.
Cheating/Dishonesty:
The University of Texas System Policy on Academic Honesty (The Regents and
Regulations, Part One, Chapter VI, Section 3, Paragraph 3.22):
Percentage Grade
98-100 A+
92-97 A
90-91 A-
88-89 B+
82-87 B
80-81 B-
78-79 C+
72-77 C
70-71 C-
68-69 D+
62-67 D
60-61 D-
Below 60 F
General Notes applicable to all Homework Assignments:
All written homework e.g. designs shall be submitted on neatly printed 8.5" x 11" paper, properly
bound (stapled et cetera) and page numbered. The student name shall appear prominently on
COVER page. Submissions not meeting these requirements will be discarded by the instructor
with the resulting grade of F assigned for that particular assignment.
Coding assignments shall be submitted on CD or USB disk, with the student name, assignment
number, IDE and language affixed to a permanent label on the outside of the diskette.
Submissions not meeting this requirement will be discarded by the instructor with the resulting
grade of F assigned for that particular assignment.
All code submissions, regardless of language, shall adhere to the following coding standards:
There shall be a 'flower garden' preceding the main and each and every subroutine/method per
the following example; please version, date and sign your code per below.
// *******************************************************************//
// This program will examine a file output from windump with the -v
// option set (file name is capfile.txt and will parse and analyse the
// data in this file to determine if a port scan is taking place.
// The detection of the port scan is based on dual level analysis;
// signature wherein the port scan is detected by an attempt to connect
// to services not present as represented by ports in the well-known
// range who have no services e.g. ports 84, 34 etc.
// The second form of detection is statistical analysis where any detection
// of a SYN flag is logged and compared to further SYN detections over a
// one second time period. Any source IPs found to have sent more than two
// SYN within this time will be flagged as port scanners.
//
//
// The program works by converting a windump file (using windump -fv )
// to a parse file for analysis.
// Yuke Wang
// April 27, 2003
// version 3.0
//********************************************************************
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int moveToIP(int);
int pullOutIP(int);
char findFrameType(int); // determines if a synch frame
char findPacketType(int); // determines if arp or IP
void scanParse(void);
struct ipAnalysis // will hold the parse data for file writing
{
double time;
char asciiTime[10]; // ascii rep of time
char IP[21]; // the IP being contacted
char port[5]; // the port number
char pktType; // type of packet - ICMP, etc
char blank; // need a blank for parse
char frameType; // type of segment tcp or udp
char carriageReturn; // for end of line detection
};
void main(void)
{
fstream nameFile; // input file from windump
fstream outFile("parse.txt", ios::out | ios::binary);
/////////////////////////////////////////////////////////////////
// This subroutine will determine if the frame is a synch (S) or
// not synch frame
/////////////////////////////////////////////////////////////////
if (someCondition)
{ // not acceptable.
NEW BELOW:
On scope closure brackets please add a comment that maps that scope closure bracket to its opening
statement. For example:
If (someCondition)
{
for (some Time)
{
yadda yadda;
} // close on for some Time
} // close on if someCondition
Essential Classes
http://java.sun.com/docs/books/tutorial/essential/index.html
Glossary
http://java.sun.com/docs/glossary.html
Basic Java language
http://java.sun.com/docs/white/langenv/
Summary
http://java.sun.com/javase/6/docs/
http://java.sun.com/javase/6/docs/index.html--- listing all java packages,
http://java.sun.com/j2se/1.5.0/docs/api/index.html