Vous êtes sur la page 1sur 12

Course Syllabus

Course Information
CSE 4381, Software Project Planning and Management, Spring 2007, Section 501

Professor Contact Information


Mr. David Russo
972-883-2296
David.Russo@utdallas.edu
ECS 3.406
Friday 3:00 PM until 6:00 PM

Course Pre-requisites, Co-requisites, and/or Other Restrictions


Prerequisite: CS/SE 3354. (3-0)

Course Description
This class is designed to provide the undergraduate Computer Science, Software Engineering, or
Computer Engineering student an introduction to the vital subtopic of Software Engineering,
Project Planning and Project Management. The class will discuss the tools and techniques that
are used to engage the unique challenges of this still emerging discipline and profession.

Planning and managing of software development projects. Software process models, ISO 9000,
SEI’s Capability Maturity Model, continuous process improvement. Planning, scheduling,
tracking, cost estimation, risk management, configuration management.

The student will leave the class with a clear understanding of the techniques, principles and
methods of Software Project Planning and Management. In addition the student will acquire
insight through practice and active participation into the challenges and opportunities associated
with the interaction of Development Process and its management. The successful student will be
able to analyze a requested software development in terms of costs, schedule, risk management
and properly apply the appropriate development processes and tools to the control and guidance
of the project.

Student Learning Objectives/Outcomes

Class learning objectives

Course Syllabus Page 1


Understand the genesis of project management and its importance to improving
the success of software development projects

Demonstrate knowledge of the project management knowledge areas and process groups
Demonstrate knowledge of the project life cycle
Demonstrate knowledge of project selection methods
Demonstrate knowledge of work breakdown structures

Demonstrate knowledge of network diagrams, critical path analysis, and critical chain scheduling
Demonstrate knowledge of cost estimates using COCOMO
Demonstrate knowledge of earned value management
Demonstrate knowledge of motivation theory and team building
Apply project management concepts by working on a several month duration project as team leader
or active team member

Use Microsoft Project and other software to help plan and manage a small project

Required Textbooks and Materials

The Mythical Man-Month; Frederick Brooks, Addison-Wesley, ISBN 0201835959


Project Management; The Managerial Process, Clifford Gray, Erik Larson ISBN 0-07-
297863-5 McGraw-Hill

Suggested Course Materials

Assignments & Academic Calendar

Assignments for CSE 4381, Spring 2007

Assignment One: Due January 10th

Write a program in Java that will count the lines of code (LOC) in a given Java source file. This
source file is provided on the class website.

Assignment Two: Due January 17th

Read the book "People Ware" by DeMarco, et al and write a two page critique on this text. Your
submittal must meet all applicable guidelines as established on the website.

Assignment Three: Due January 29th.

Course Syllabus Page 2


Read the first six chapters of the "Mythical Man Month" text. Write a two page critique of these
six chapters. Your submittal must meet all applicable guidelines as established on the website.

Assignment Four: Due January 31st.

Define the word "quality". Do not employ similes in your definition. Use as much space
written space as you need.

Assignment Five: Due February 14th.

Write a two page essay on Chapter 4 of the "Mythical Man Month" (Achieving Conceptual
Integrity). Your essay should be argue the merits of what Brooks' proposes in terms of
"Aristocracy, Democracy and System Design". You must take a position and not merely critique
Brooks' work.

Project Requirements

Each team shall develop, using the Java programming language, a working software program that
shall perform the following functions:

1) A main GUI in which the user can decide which function to perform (this may include options
for all or any combination of the following).

2) File selection in which the user shall decide a specific Java file for testing (single file at a time)

3) A LOC counter. This LOC counter shall count as an LOC any predicate statement (if, while,
for, do), shall count as an LOC any assignment statement, shall count as an LOC any invocation
statement, shall count as an LOC any calculation statement. Initiation and declaration
statements shall NOT count as an LOC.

4) A McCabe Cyclomatic Complexity analysis tool that shall calculate the complexity of any
function within the designated Java code. These complexity values shall be reported by module
name with the resulting complexity number (an integer value).

5) A scope reporter in which all variables within a Java file are listed and their relative scope
(class, module (including module name) and super class) will be reported.

This program shall be completed by April 27 at 2:00 PM.

Comments and Instructions for the Project

1) There will not be a Final Exam. The grade for the Final project will go against your homework
scores, your project scores and your team participation scores.

2) The algorithm suggested for the project (McCabe Complexity Analysis) is that you simply find
an “{“ (open brace) and then use that as a node in a n-ary tree. When you find another “{“
(without first finding a “}”) then that becomes a “leaf” to the current node.

Course Syllabus Page 3


Once all the input code has been parsed, you simply depth-first traverse your tree. While you are
traversing the tree you must draw the tree on the screen.
NOTE: The code sample is guaranteed to not have any incomplete scope structures – every open
brace will have a corresponding close brace.

Please make sure that you have a clear CAD (Class Association Diagram) annotating your design.
Your code MUST adhere to the design CAD. Failure to do so will affect your grade adversely.

Your design must NOT be driven by your “Goo” (GUI classes). Clear API’s and separation of
“goo” from processing must be respected. I do not want to see processing inside the goo classes.
I would suggest that you employ observer/observable if you need tight coupling between these
programmatic elements.

My approach would be to do all the processing first and then upon completion have your tree
drawn by the goo classes – perhaps the easiest way to guarantee decoupling. This is the way the
JVM works internally – two threads (at least) are present; one does any backend processing and
one is responsible for graphics. So you are in good company with this design approach.

(Topics, Reading Assignments, Due Dates, Exam Dates)

Grading Policy

Grading:

Grades will be comprised of two tests, multiple homework assignments, a project and class
participation. The presentation of the project shall take place during the final exam period.
Tests will represent 25% of the final grade (instructor graded).

Homework will represent 45% of the final grade (All homework are graded by the Instructor).
All homework are due on the assigned date. Failure to turn in a homework at the time of
instructor collection results in a ZERO grade for that homework. The only allowable
exceptions to this policy are listed in the introductory class currently available on the website.

ALL CODING ASSIGNMENTS MUST MEET THE SOFTWARE DEVELOPMENT


GUIDELINES (available on the website).

All critique assignments must meet the submittal guidelines available on the website.

The Projects will represent 15% of the final grade. There will be four (4) team development
projects of one-month duration. During each of these short cycle projects the student will have an
opportunity to learn the techniques of management, effective team participation and software
development life-cycle components.

Class Participation will represent 15% of the final grade (graded by Instructor).
TESTING POLICIES: THERE WILL BE NO EXCEPTIONS TO ANY ASPECT OF
THESE POLICIES.

Course Syllabus Page 4


To gain admission to the tests the student will have to sign-in and present a valid UTD
Identification (at least for the first test).

All seating during the test period is by instructor assignment only. On test day the students will
wait outside the classroom to be signed-in and assigned a seat.

No purses, backpacks, cell-phones, or other personal accoutrements of any type are allowed at the
student seat during the test. Such material may be deposited with the instructor for safekeeping
during the test.

Tests will take approximately one hour thereby allowing 15 minutes for sign-in and seating
assignment.

All tests, homework and the project shall be graded by the instructor and returned to the student
for review. UTD policy allows students to contest grades.

(including percentages for assignments, grade scale, etc.)

Course & Instructor Policies

Class participation requires that the student attend classes and contribute to the classes with
comments, insights, exceptions and/or other material pertinent to the subject matter at hand.
Continued and flagrant tardiness will impact the Class Participation Grade in a negative manner.

This class is taught in a highly interactive manner, which requires that the successful student
attend ALL classes and engage actively and professionally in class discussions. The
instructional technique requires this level of participation to allow the material to be most
effectively inculcated.

NB: NO PASSING GRADE WILL BE ASSIGNED ANY STUDENT UNLESS ALL


CODING HOMEWORK IS COMPLETED WITH A PASSING GRADE. THIS IS THE
OFFICIAL POLICY OF THE CSE DEPARTMENT. There will be NO exception to this
policy which is in effect for ALL CSE classes.

All coding homework will be graded by the instructor.

Nota Bene: There is a rather grim calculus associated with the grading policy. It is impossible to
make a grade higher than a B without active, professional class participation.

Grade A+: if (<= 98)


Grade A: if ((< 98) && (> 94))
Grade A-: if ((<=94) && (>=90))

Grade B+: if ((< 90) && (>=87))


Grade B: if ((<87) && (>=83))
Grade B-: if ((<83) && (>=80))

Grade C+: if ((<80) && (>=77))

Course Syllabus Page 5


Grade C: if ((<77) && (>=73))
Grade C-: if ((<73) && (>=70))

Grade D+: if ((<70) && (>=67))


Grade D: if ((<67) && (>=63))
Grade D- if ((<63) && (>=60))

Grade F: if (<= 59)

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
EVERY page. Submissions not meeting these minimum requirements shall be summarily
discarded by the instructor with the resulting grade of F assigned for that particular assignment.

Attempts to use “filler” strategies such as double line spacing, huge paragraphs spacers, et
cetera will result in an F grade assigned.

Coding assignments shall be submitted on a CD in a proper case or sleeve, with the student name,
assignment number, IDE and language affixed to a permanent label on the outside of the CD case
or sleeve. Submissions not meeting this requirement will be discarded by the instructor with the
resulting grade of F assigned for that particular assignment.

Students who submit Java language development shall appropriately structure their work so that
the grader (instructor) does not have to spend hours attempting to understand/duplicate your
particular package environment Nemesis Rule: No packages, no jar/tar/ear files accepted. All
Java assignments shall use Java 1.4.2 or 1.5.x for development.

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.
// David Russo

Course Syllabus Page 6


// 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);

char input[200]; //make this globally visible for subroutines


// this is holds the input records from windump

// PLEASE NOTE THE HEAVY LEVEL OF COMMENTS ON ALMOST


// EVERY LINE - THIS IS A REQUIREMENT, NOT A NICETY.
// UNCOMMENTED CODE WILL RECEIVE AN AUTOMATIC F GRADE.

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
};

ipAnalysis frame; // the struct for a full parse frame

void main(void)
{
fstream nameFile; // input file from windump
fstream outFile("parse.txt", ios::out | ios::binary);

int j = 0; // used to increment through captured records

int k; // used to parse the input record


bool foundIP = false; // used to parse
bool foundName = false; // haven't found the packet type

// TYPICAL SUBROUTINE COMMENT NB: note use of indents in while/if structure


below.

Course Syllabus Page 7


/////////////////////////////////////////////////////////////////
// This subroutine will determine if the frame is a synch (S) or
// not synch frame
/////////////////////////////////////////////////////////////////

char findFrameType(int index)


{
bool foundType = false;
char frameType;

while (foundType == false) // while frame type not identified


{
if (input[index] == 'S') // syn segment?
{
foundType = true; // found a synch frame
frameType = 'S';
}
else if (input[index] == 'P')
{ // scope brackets follow line not accompany
foundType = true;
frameType = 'P'; // found a packet frame
}

MORE CODING STANDARDS;

1) SPECIFIC INDENTATION WILL BE USED PER THE ABOVE.


2) SCOPE BRACKETS SHALL FOLLOW THE CLAUSE, NOT ACCOMPANY IT PER
THE ABOVE.
3) SPACES SHALL BE USED NOT TABS.

4) INDENTS WILL NOT BE MORE THAN ONE SPACE BEYOND CLAUSE PER THE
FOLLOWING:
if (someCondition)
{ // acceptable

if (someCondition)
{ // not acceptable.

if (someCondition) { // not acceptable.

Every scope closure bracket shall be accurately commented per the following:

If (someCondition)
{
for (yada; yada; yada)
{
statements;
statements;
} // close on for loop
} // close on if someCondition

Course Syllabus Page 8


ALL CODING STANDARDS ARE NON-NEGOTIABLE AND SHALL BE COMPLIED
WITH.

(make-up exams, extra credit, late work, special assignments, class attendance, classroom citizenship, etc.)

Field Trip Policies


Off-campus Instruction and Course Activities

Off-campus, out-of-state, and foreign instruction and activities are subject to state law and
University policies and procedures regarding travel and risk-related activities. Information
regarding these rules and regulations may be found at the website address
http://www.utdallas.edu/BusinessAffairs/Travel_Risk_Activities.htm. Additional information is
available from the office of the school dean. Below is a description of any travel and/or risk-
related activity associated with this course.

Student Conduct & Discipline

The University of Texas System and The University of Texas at Dallas have rules and regulations
for the orderly and efficient conduct of their business. It is the responsibility of each student and
each student organization to be knowledgeable about the rules and regulations which govern
student conduct and activities. General information on student conduct and discipline is contained
in the UTD publication, A to Z Guide, which is provided to all registered students each academic
year.

The University of Texas at Dallas administers student discipline within the procedures of
recognized and established due process. Procedures are defined and described in the Rules and
Regulations, Series 50000, Board of Regents, The University of Texas System, and in Title V,
Rules on Student Services and Activities of the university’s Handbook of Operating Procedures.
Copies of these rules and regulations are available to students in the Office of the Dean of
Students, where staff members are available to assist students in interpreting the rules and
regulations (SU 1.602, 972/883-6391).

A student at the university neither loses the rights nor escapes the responsibilities of citizenship.
He or she is expected to obey federal, state, and local laws as well as the Regents’ Rules,
university regulations, and administrative rules. Students are subject to discipline for violating the
standards of conduct whether such conduct takes place on or off campus, or whether civil or
criminal penalties are also imposed for such conduct.

Academic Integrity

The faculty expects from its students a high level of responsibility and academic honesty. Because
the value of an academic degree depends upon the absolute integrity of the work done by the
student for that degree, it is imperative that a student demonstrate a high standard of individual
honor in his or her scholastic work.

Course Syllabus Page 9


Scholastic dishonesty includes, but is not limited to, statements, acts or omissions related to
applications for enrollment or the award of a degree, and/or the submission as one’s own work or
material that is not one’s own. As a general rule, scholastic dishonesty involves one of the
following acts: cheating, plagiarism, collusion and/or falsifying academic records. Students
suspected of academic dishonesty are subject to disciplinary proceedings.

Plagiarism, especially from the web, from portions of papers for other classes, and from any other
source is unacceptable and will be dealt with under the university’s policy on plagiarism (see
general catalog for details). This course will use the resources of turnitin.com, which searches the
web for possible plagiarism and is over 90% effective.

Email Use

The University of Texas at Dallas recognizes the value and efficiency of communication between
faculty/staff and students through electronic mail. At the same time, email raises some issues
concerning security and the identity of each individual in an email exchange. The university
encourages all official student email correspondence be sent only to a student’s U.T. Dallas email
address and that faculty and staff consider email from students official only if it originates from a
UTD student account. This allows the university to maintain a high degree of confidence in the
identity of all individual corresponding and the security of the transmitted information. UTD
furnishes each student with a free email account that is to be used in all communication with
university personnel. The Department of Information Resources at U.T. Dallas provides a method
for students to have their U.T. Dallas mail forwarded to other accounts.

Withdrawal from Class

The administration of this institution has set deadlines for withdrawal of any college-level courses.
These dates and times are published in that semester's course catalog. Administration procedures
must be followed. It is the student's responsibility to handle withdrawal requirements from any
class. In other words, I cannot drop or withdraw any student. You must do the proper paperwork
to ensure that you will not receive a final grade of "F" in a course if you choose not to attend the
class once you are enrolled.

Student Grievance Procedures

Procedures for student grievances are found in Title V, Rules on Student Services and Activities,
of the university’s Handbook of Operating Procedures.

In attempting to resolve any student grievance regarding grades, evaluations, or other fulfillments
of academic responsibility, it is the obligation of the student first to make a serious effort to
resolve the matter with the instructor, supervisor, administrator, or committee with whom the
grievance originates (hereafter called “the respondent”). Individual faculty members retain
primary responsibility for assigning grades and evaluations. If the matter cannot be resolved at
that level, the grievance must be submitted in writing to the respondent with a copy of the
respondent’s School Dean. If the matter is not resolved by the written response provided by the
respondent, the student may submit a written appeal to the School Dean. If the grievance is not
resolved by the School Dean’s decision, the student may make a written appeal to the Dean of
Graduate or Undergraduate Education, and the deal will appoint and convene an Academic
Appeals Panel. The decision of the Academic Appeals Panel is final. The results of the academic
appeals process will be distributed to all involved parties.

Copies of these rules and regulations are available to students in the Office of the Dean of
Students, where staff members are available to assist students in interpreting the rules and
regulations.

Course Syllabus Page 10


Incomplete Grade Policy

As per university policy, incomplete grades will be granted only for work unavoidably missed at
the semester’s end and only if 70% of the course work has been completed. An incomplete grade
must be resolved within eight (8) weeks from the first day of the subsequent long semester. If the
required work to complete the course and to remove the incomplete grade is not submitted by the
specified deadline, the incomplete grade is changed automatically to a grade of F.

Disability Services

The goal of Disability Services is to provide students with disabilities educational opportunities
equal to those of their non-disabled peers. Disability Services is located in room 1.610 in the
Student Union. Office hours are Monday and Thursday, 8:30 a.m. to 6:30 p.m.; Tuesday and
Wednesday, 8:30 a.m. to 7:30 p.m.; and Friday, 8:30 a.m. to 5:30 p.m.

The contact information for the Office of Disability Services is:


The University of Texas at Dallas, SU 22
PO Box 830688
Richardson, Texas 75083-0688
(972) 883-2098 (voice or TTY)

Essentially, the law requires that colleges and universities make those reasonable adjustments
necessary to eliminate discrimination on the basis of disability. For example, it may be necessary
to remove classroom prohibitions against tape recorders or animals (in the case of dog guides) for
students who are blind. Occasionally an assignment requirement may be substituted (for example,
a research paper versus an oral presentation for a student who is hearing impaired). Classes
enrolled students with mobility impairments may have to be rescheduled in accessible facilities.
The college or university may need to provide special services such as registration, note-taking, or
mobility assistance.

It is the student’s responsibility to notify his or her professors of the need for such an
accommodation. Disability Services provides students with letters to present to faculty members
to verify that the student has a disability and needs accommodations. Individuals requiring special
accommodation should contact the professor after class or during office hours.

Religious Holy Days

The University of Texas at Dallas will excuse a student from class or other required activities for
the travel to and observance of a religious holy day for a religion whose places of worship are
exempt from property tax under Section 11.20, Tax Code, Texas Code Annotated.

The student is encouraged to notify the instructor or activity sponsor as soon as possible regarding
the absence, preferably in advance of the assignment. The student, so excused, will be allowed to
take the exam or complete the assignment within a reasonable time after the absence: a period
equal to the length of the absence, up to a maximum of one week. A student who notifies the
instructor and completes any missed exam or assignment may not be penalized for the absence. A
student who fails to complete the exam or assignment within the prescribed period may receive a
failing grade for that exam or assignment.

If a student or an instructor disagrees about the nature of the absence [i.e., for the purpose of
observing a religious holy day] or if there is similar disagreement about whether the student has
been given a reasonable time to complete any missed assignments or examinations, either the
student or the instructor may request a ruling from the chief executive officer of the institution, or
his or her designee. The chief executive officer or designee must take into account the legislative

Course Syllabus Page 11


intent of TEC 51.911(b), and the student and instructor will abide by the decision of the chief
executive officer or designee.

These descriptions and timelines are subject to change at the discretion of the Professor.

Course Syllabus Page 12

Vous aimerez peut-être aussi