FALL QUARTER 2008
| Instructor: Dr. John Dalbey | Office: 14-203 |
| Phone: 756-2921 | Email: |
| CSc Dept: 756-2824 | Office Hours: M 1600, Tu 1200-1400, WTh 1000 |
COURSE GOALS
COURSE OVERVIEW
The course is structured as a lecture and a lab. In the lecture we will discuss general concepts and principles presented in the textbook. In addition the instructor will answer student questions about the readings, discuss sample problems and case studies, and lecture on supplemental material that is not in the textbook, and relevant current issues in software engineering. During the lab we will undertake a 20 week group software development project in order to apply the course concepts.
Software Engineering? Programming? Computer Science? What's the difference?
PREREQUISITES
The implementation language used in this course is Java. Java programming experience is not a prerequisite, because it is assumed that as a software professional you have the ability to learn new languages and tools quickly. If you aren't confident with your programming ability in Java, or you are hesitant about learning a new language this quarter, please seek the advice of the instructor.
REQUIRED COURSEWORK
READINGS
There will be assigned readings from the textbook and other sources.
The readings and homework are DUE on the
day shown on the calendar.
HOMEWORK
There will be individual homework assignments to practice specific
software development skills or techniques. Many (but not all) of these
will apply directly to your team project.
LAB NOTEBOOK
It is recommended that you keep a lab
notebook
for all your project work. A well done notebook will earn extra
credit points.
WRITTEN EXAMINATION
There will be written midterm and final examinations. The exams will contain an "written" portion and a "practical" portion. The written portion will assess your understanding of the principles and concepts from the lecture. The written portion contains a mixture of short answer and essay-style questions. The written is usually "closed book." The "practical" portion will require a technical solution to an analysis or design problem using methods learned during the course. The practical portion is usually "open book." Bring a large, blank blue-book and a pen for the essay portion. Bring a pencil and a Java reference book for the practical portion.
ORAL PRESENTATION
Each student is required to give a technical presentation to the class of 5 minutes in duration. The content may be anything related to the course or software engineering in general. Presentation of "lessons learned" from internships or other projects are particularly encouraged. There are a fixed number of time slots to speak for which you must sign up in advance (first come, first served). The talk is to be delivered in front of the class without notes. You may use a single overhead transparency if it is approved in advance. Here are some more talk ideas.
The presentation will be evaluated using this evaluation guide. You can make up a poor grade by giving another talk at another time (if slots are available). Reasons to earn an F on a talk include:
SELF-EVALUATION
This is a private communication to the instructor which summarizes what you have accomplished or contributed to the course project and what you have learned about software engineering. The due date is the final exam meeting. Here is the format that was used in previous quarters. The self-evaluation is required; you will not receive a grade unless you complete it.
TEAM PROJECT
The focus of the lab component of the course is to apply software
engineering
methods to carrying out a software development project. Students will
be
assigned to teams of 5-10 students. Each team will be assigned to
a produce a particular piece of software. The project will take two
quarters
to complete. During this quarter we will complete the
specification,
prototyping, and design. During CSc 309 we will do the
implementation,
testing, release, and maintenance. You are expected to
take CSC 309 next quarter with the same instructor so you can continue
with the same project and teammates.
Space
will be reserved for you in a section next quarter. The
instructor may withhold assigning you a course grade until you are
enrolled in the proper section for next quarter.
Here is a Team Project Overview to
get your oriented.
| Percent | Course Component |
| 10 | Homework and Quizzes (includes self-evaluation) |
| 15 | Midterm exam |
| 25 |
Final exam |
| 10 |
Oral Presentation |
| 20 |
Team Project - "individual" (product) |
| 20 |
Team Project - "individual" (process) |
| 100 | TOTAL |
The project is worth 40% of your total course grade. It has two
components;
a "product" component and a "process" component.
The product component includes the specific work products
you create, the tangible deliverables you produce, such as source code,
unit tests, javadocs, user manual, etc. Some deliverables are the
responsibility of specific persons and some are a group responsibility.
We use the term "milestone" to refer to the date on which a work
product
is due. If the team misses a milestone, the penalty is three
points
(i.e.,
three percent of your total grade) for each day late. Similarly,
if a deliverable fails to meet a satisfactory standard of quality it
will be returned for rework and the late penalty will apply.
You can arrange to get feedback on your work products by meeting with the instructor during lab or office hours. You may edit, refine, and improve any work product for a better grade until the deliverable date, which is when it will be evaluated for a final grade.
(Your team may propose an alternate system for assigning grades and penalties to deliverables. You must negotiate this with the instructor by the second week of classes).
The process component is your contribution to a successful and effective team. Coat-tail hanging or non-performance by an individual will result in a grade of F. You are required to participate fully in your team project. The instructor will make a holistic assessment of your project contributions. (Note: this score may be negative)EXTRA CREDIT
See the instructor to discuss extra credit project
possibilties.
ALTERNATE GRADING SCHEMES
If you feel the above grading scheme will not provide the best
assessment
of your learning in the course, you may negotiate with the instructor
for
an alternate scheme. For example, you may want to demonstrate
your
learning via Journal,
Portfolio,
or Quality
Challenge. You must agree to an alternate scheme before the end of
the second week of classes.
ADMINISTRATIVE POLICIES
ATTENDANCE
Full participation in the group project is essential to the team's success. Significant parts of the work will be done during lab so your attendance is mandatory. Similarly your attendance at team exercises and presentations in lecture is mandatory. Therefore, attendance will be a significant factor in your grade. For every two unexcused absences your grade drops one letter grade. Arriving late (after the official class starting time) constitutes a "tardy" and two tardies are considered as an absence. If you arrive late to lecture please enter quietly and take a seat in the row nearest the door.
Missed classes or quizzes can not be "made up." You may obtain permission to be excused from class for valid academic or medical reasons, but it is your responsibility to secure permission from the instructor BEFORE the date you well be absent. The instructor may request appropriate documentation of your excuse. (Note that job interviews are unexcused absences).
Similarly, if you anticipate you will be late to class for some reason, if you inform the instructor ahead of time, he will not record you as being tardy.
LATE HOMEWORK
A software engineering professional is expected to manage their time and meet their commitments. Late homework receives a penalty. Homework assignments, deliverables, etc., are due when class begins. "Late" means after the official class starting time. In general, electronic submission of assignments is not accepted.
Equally important to managing your time, is that professionals are expected to behave responsibly. You can demonstrate responsible behavior in the following manner: If you anticipate illness, other academic burdens, or other emergency will prevent you from submitting your assignment before the deadline, you may request an extension. Simply leave a message for me BEFORE class time asking for an extension of the due date. You may leave a message for me electronically, by voice mail, or in the department office. (Limit: 2 extensions).
ACADEMIC INTEGRITY
This course involves both individual work and collaborative work. It is your responsibility to understand the guidelines that apply to each kind of work, and to be clear about which assignments are individual assignments and which are collaborative.
Individual Assignments
Quizzes, exams, and homework problems are individual efforts. Individual work is to be carried out entirely and solely by an individual. You may not "work together" on individual assignments. The content of the assignment is not to be discussed or shared in any way with other students. There is to be no conversation about individual assignments except with the instructor. Assignments which appear to be the result of a "group effort", or which appear to have been copied from another student, will be considered plagiarized. Violations of this policy may result in being failed from the course. See the campus statement on Academic Dishonesty: Cheating and Plagiarism (C.A.M. 684)
Collaborative Assignments
Much of the work in the class is done in groups. The team project deliverables are collaborative assignments and students are expected to work cooperatively in all aspects of their creation an production. The names of all contributors must present on any work which is submitted that is a result of collaborative efforts. Where possible, reasonable attempts should be made to properly credit any portions of the work which are clearly the effort of any individual.
COMPUTER FACILITIESStudents enrolled in this course are entitled to a computer
account in the computer science department labs. All the labs
share a common file system, and your username, password, and home
directory is the same in all labs. From outside the lab you can
use secure shell to login to vogon.csc.calpoly.edu to access
your files. If you do not already have an account, see the instructor.
Do not share the password
or the account will be frozen and you will be failed from the
course. There
are
numerous software tools available on this system which you might find
helpful.
Occasionally the instructor will mail announcements to the entire class by using an alias which sends mail to your Cal Poly mail account. If you don't use Cal Poly mail regularly, you should setup your Cal Poly mail account to forward your mail to your regular email account.
Computer Science majors are expected to be proficient with tools of their trade such as e-mail and backups. Excuses such as "my email account was down" or "my hard drive crashed" are not likely to gain much sympathy.
The instructor will not read email whose "Sender" field is not an actual student name. Don't use nicknames in mail you send to the instructor or it will be returned to you unread.
Students are expected to learn and abide by the principles of ethical use of computers as determined by the ACM (Assoc. for Computing Machinery) Code of Ethics and Professional Conduct, the Campus computing and Communication Policies, Calif. state laws (see Penal Code Section 502), and federal laws.
PRIVACY POLICY
All files in computer accounts belonging to the instructor and students in this class should be considered private (regardless of the state of the file permissions). You may access only those files to which the instructor or account owner has specifically given you verbal or written authorization. You may access documents on the course web site only via hyperlinks. You are not authorized to view other documents that may exist but have no hyperlink to them.
CLASSROOM CLIMATE
It is a core value of academic
discourse to be tolerant of views different than our own and to treat
others with respect.
In addition, an atmosphere conducive to learning can be fostered by
minimizing distractions for others who are trying to
concentrate. Common courtesies include:
HOW TO ADDRESS THE INSTRUCTOR
Frequently I've heard students address me and other professors by
last name without
honorific. They do this
completely unselfconsciously even
when they aren't that comfortable with first name address. (e.g.
students will call me "Dalbey", not "Mr. Dalbey" or "Dr. Dalbey" when
they would never call me "John." ).
In "my generation", no-honorific last-name address is permitted only
between people of common age and gender, between close friends or
within a military or athletic context. Buddies in college would
call me "Dalbey", and fellow athletes would call me "Dalbey". But
that's it. Being addressed as
"Dalbey" by students feels rude to me. My preferred form of address
is "Mr. Dalbey."
CELL PHONES AND PAGERS
Cell phones present an annoying disruption in class and a distraction from course activities. The policy for Fall 2008 is that if a cell phone rings during class, that person is required to bring cookies for everyone at the next class meeting.RECORDING DEVICES
The use of audio-visual recording devices of any kind (camera, tape recorder, etc) are not allowed without the instructor's permission.
DROP/WITHDRAWAL POLICY
You may use CAPTURE to drop this course any time during the first two weeks of class. Please carefully evaluate your schedule and determine if you will remain in the class before the end of the add/drop period. After the drop date, the only way out of the course is called "withdrawing" from the course; this requires a "serious and compelling" reason, such as a medical emergency. You may not withdraw simply because you are earning a bad grade or you forgot to drop through CAPTURE. Withdrawal requires you to document that some desperate situation has arisen after the drop day that you could not have reasonably anticipated.