Fall 2009 - Spring 2010
Fall 2009 Syllabus
CS4310Software Engineering I
http://courses.utep.edu/cs4311ss
Instructors: Dr. Steve Roach
Office: Computer Science 224
Phone: 747-5727
email: sroach@utep.edu
Office Hours: By appointment
Class Time: 11:30-12:30 MWF CS 308
TA: Evelyn Torres (etorres8@miners.utep.edu)
Prerequisites: CS 3331. You should be in your last two
semesters as an undergraduate
Text Book: Shari Pfleeger, Joanne
Atlee, Software Engineering: Theory and
Practice, 3rd Edition, Prentice Hall Pearson, 2006, ISBN:
0-13-146913-4
Course
Objectives: This course will provide students with
the fundamentals of the design and implementation of software systems,
emphasizing the principles and methods used to develop and verify software systems.
On completion of CS4311, students should be able to discuss and demonstrate
approaches, techniques, or methods for creating high-level and detailed
designs, hierarchical factoring of object systems, develop verification plans,
be familiar with IEEE standards, and have experience in planning and
implementing a large project.
Teams:
We believe that the ability to work with other software developers is
essential. Therefore, students will be required to work effectively in teams throughout
the semester. Students will be assigned to lead teams for particular
assignments. The lead is responsible for: coordinating meetings and completing
the meeting records; assigning tasks and recording task assignments; collecting
documentation of individual work, including rough drafts; ensuring the team
meets the deadlines; organizing the team notebook; maintaining back-up copies
of work; and binding deliverables. When possible, students will be assigned to
the same teams they were assigned to in 4310. You will be assessed on the
contributions that you make toward you team’s deliverables. You will be asked
to maintain an engineering logbook of your work, and it will be turned in.
Examinations:
Examinations are assumed to be closed book, closed notes, and in-class, unless
otherwise specified. I do not give make-up examinations. If you miss an
examination for a legitimate reason (such as illness, death in the family,
participation in a college sponsored activity), then your (comprehensive) final
examination will be counted extra to compensate for the missed exam. If you
miss an examination with out a legitimate reason, a grade of 0 will be recorded
for that examination. If you know you will be missing an exam date due to a
college sponsored activity, you must arrange to take the exam in advance.
Grading
Summary: Final grades
in this course will be determined by combining grades for two components: exams
and projects/homework. The sequence described below will be used to determine
your final grade.
1.
The exam average will be computed by
summing 30% of midterm 1, 30% of midterm 2, and 40% of the comprehensive final.
A student with an exam average below 60 will receive an F for the course, and
no further grade computation will be made. A student with an exam average
between 60 and 65% will receive a D for the course.
2.
The project grade will be computed by
combining the grades for the Ethics, Class, Responsibility, Collaboration,
Hierarchy, High-level Design, Protocols, Prototype, Subsystem design, Test
Plan, Configuration Management Plan, Implementation, Testing Report, and Final
Presentation. Project grades may be strongly influenced by the Guidance Team’s
assessment of a student’s contribution to his/her team. A student with a
project grade below 60 will receive an F for the course and no further grade
computation will be made. A student with a project grade between 60 and 65%
will receive a D for the course, unless the student has already received a
grade of F for the exams.
3.
For each student whose grades for the
project and for the exams are both greater than a D, a final score will be
computed by summing 50% of the exam grade and 50% of the project grade. The
final grade in the course will nominally be assigned according to the scale A:
90-100 B: 80-89 C: 70-79
D: 60-69.
General policies:
Time: This course requires a
great deal of time. You must start assignments early and work steadily to be
successful.
Grading errors: You have
one week after graded material is returned to the class to rectify any grading
errors or to argue for additional credit. After the week has passed, no changes
in grades will be made.
Class Attendance and Participation:
As a college student, you have the freedom to choose whether or not to attend
class. However, this course will be taught using cooperative techniques, which
can only work if students attend regularly and on time. Therefore, I will take
attendance. Your final grade will be lowered by one point for each unexcused
absence above three. For the purposes of this class, you will be counted as
absent if you are not present when I take attendance.
Office hours: I expect
you to meet with me outside of class time to discuss the course material. To
this end, I will require each software team to schedule a weekly appointment
with me. At other times, my hours are by appointment. You may reach me by phone
(leave a message) or by email to arrange a time. I will make every reasonable
effort to accommodate you. My office
policy is an "open door" policy: if the office door is open, you are
welcome to come in and discuss problems. If my office door is closed, you
should assume that I am not available.
Let me make
one more point here. I am available to assist
you in solving problems, not to think or
do work for you. My office hours are for helping you by clarifying material
that you observe and for assisting you with problems you are encountering. You
should come to my office prepared. The harder you work at it, the harder I’ll
work to help you.
Incomplete: Students
receive a grade of Incomplete only under extraordinary circumstances: when they
have substantially completed the course work with a passing grade, but cannot
finish the course for a legitimate reason. Legitimate reasons include severe
illnesses and debilitating accidents. Class or workloads that are too demanding
are NOT legitimate reasons.
Extra
Credit: I occassionally offer small extra
credit assignments to encourage students to participate in educational
activities outside the bounds of the course. However, with respect to grades,
this credit at most may help a student whose grade is on the border between two
grade levels both of which are C and higher. I do not offer extra credit to
students as a mechanism to help them pass the course. That is to say that extra
credit will not help a student bordering between a C and a D to achieve a C. In
accordance with the accreditation policies of the ABET, in order to pass this
course, you must convince me that you have adequately mastered the material
presented in the course.
Lecture material: You are
expected to preview lecture material BEFORE coming to class, including reading
the assigned material from the text book. Some lecture topics are covered in
the text. You are expected to read the parts of the text corresponding to the
lecture, even if it is not mentioned in class. Some material may not be in the
text: references will be provided, but you are responsible for the content.
Academic dishonesty: Cheating
is defined as submitting work under your name that was not done entirely by you
for individual assignments or by your team for team assignments. (This includes
taking programs from the web or cutting text from web pages and pasting them
into documents, even if the source is cited). Cheating will not be
tolerated--those caught cheating will be reported to the Dean of Students. You
should be aware of the Standards of Conduct posted at
http://www.utep.edu/vpfa/student_affairs/student/studindex/htm.
HELP! Please confer with me
if you experience difficulty with any aspect of the course -- I am here to help
you to learn. If you request help via email, make sure to write HELP in the
subject line. Call me. Send me mail. Ask me questions.