WINTER QUARTER 2016
Instructor: Dr. John Dalbey | Office: 14-203 |
Phone: (805) 756-2921
SMS to email: (805) 776-3543 |
Email: |
CSc Dept: 756-2824 | Office Hours: MW 1500 Tu 1600 Th 1400 |
REQUIRED TEXTBOOKS
McConnell, Steve. Software
Project
Survival Guide. Used
Print or Ebook $19.99.
Print
copy
on
reserve
at Kennedy Library.
Lethbridge & Laganiere, Object-Oriented Software
Engineering, Mc-Graw Hill,
2005. Available at El Corral.
COURSE GOALS
COURSE OVERVIEW
This course will study the principles, methods, and tools for implementation, testing, release, maintenance, and documentation of large, complex software systems. Continuation of the software lifecycle. Project organization, planning, tracking, coordination, and communication.
This course is the second course in a two quarter sequence in which we study a collection of methods which embody an "engineering" approach to the development of computer software. The major work of the course is a group project. In the first quarter we did the analysis and design of a moderately large software project. This quarter we will undertake the implementation, testing, release, and maintenance of the project we began last quarter.
The course is officially structured as a lecture and a lab. In the lecture we will discuss concepts and principles, and in the lab we will practice specific techniques in the context of a group project. The class will be divided into groups of about five to ten students to carry out the course project.
This class is VERY time intensive. The group project
requires
a lot of out of class work.
PREREQUISITES
You must have passed CPE 308. This course demands both independent and cooperative work. Working independently requires that you have good time management skills and self-directed learning skills. There are no prerequisites for cooperative work other than a willingness to work and learn as part of a team.
REQUIRED COURSEWORK
READINGS
There will be required readings from the textbooks as well as
other resources. The
class calendar
will be updated
regularly with due dates for readings. You
are to have completed the
readings by 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. These
activities are listed in the class calendar.
You
may
cooperate
with
other
students
on
studying
the
training resources, but
the activities are individual exercises.
For each assignment, about half will be randomly selected to
receive
a numeric score, the remainder will be graded credit/no
credit.
QUIZZES
There will be frequent written quizzes in class. Some of these
will be announced in
advance, and some will be unannounced.
WRITTEN EXAMINATION
There will be written midterm and final examinations. In
general the exams will assess your
understanding of the readings, lectures, and homework. There
will
be objective questions and short answer questions as well as short
technical problems to be solved that involve implementation and
testing
problems in Java. You may need a scantron form. Exam
rules: Use a #2 pencil or pen, no
torn spiral
bound paper, no headsets,
no cell phones, no hoodies, no bathroom breaks. If your
cumulative score in the course before the
final exam is so low
that earning 100% on the final would not enable you to pass, you
are
not eligible to take the final.
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. 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 ultimate goal is for your team to deliver completed software
on
time and with no defects. The software must meet
objective criteria before being allowed to be released to the
customer.
Your product will then be subjected to customer acceptance
testing.
The project grade has two
components;
a "group" component and an "individual" component. Everyone
on
the team earns the same "group" score; "individual" scores are
awarded
separately to each student.
The group component has two parts: product
and process. The product
score assesses the delivered product from the customer
perspective.
The process score
assess
how well your team adopts, documents, and follows processes in the
creation on the work products. The team is expected to show
that
they have taken the principles and practices from the textbooks
and
applied them successfully in their project. The primary
evidence
of this will be the team's Trac/wiki site. In addition the
team
will write a retrospective document at the end of the quarter to
self-assess their successes and failures.
GRADING
Percent | Course Component |
15 |
Homework |
5 |
Quizzes |
10 |
Midterm exam |
25 |
Final exam |
45 |
Team Project group product (15%) group process (15%) individual contribution (15%) |
100 | TOTAL |
Letter grades are assigned on a straight percentage basis: A = 90-100%, B = 80% - 89%, C = 70% - 79%, D = 60% - 69%, F = < 60% . (The instructor may scale these ranges as appropriate). Borderline scores may receive a Plus/Minus grade.
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
Attendance at the class meetings is important since full participation in the group project is essential to the team's success. Significant parts of the work will be done in class so your attendance is mandatory (both lecture and lab). Important administrative and technical advice will be provided during lecture that would be burdensome for your teammates to have to regurgitate for you. Therefore, attendance will be a significant factor in your grade. You are allowed one unexcused absence without penalty. Subsequent absences are penalized 5% of your course grade. Arriving late constitutes a "tardy" and is penalized x% of your course grade according to the formula: 1 + n/2. Tardy more than twenty minutes is an absence. If you arrive late to lecture please enter quietly and take a seat in the row nearest the door.
Missed classes 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 will be absent. The instructor may request appropriate documentation of your excuse. (Note that job interviews are unexcused absences). There is a limit of two excused absences. Quizzes and examinations may only be taken during the scheduled exam period. Missed quizzes may not be made up.
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. If you have a last minute emergency you can send a text message to the instructor at the number shown at the top of the page.
WRITING REQUIREMENTS and GRADING SYMBOLS
Follow these guidelines for
written work.
HOMEWORK SUBMISSION
A software engineering professional is expected to manage their time and meet their commitments. Late work receives no credit. Each assignment may have a unique due date and time, so check the Calendar for each assignment. Some assignments will require electronic submission via PolyLearn or Web-CAT. Frequently you will be discussing your homework solutions with your peers during class so you will be physically submitting your work to the instructor at the end of the class period. However, it is still due at the start of class.
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).
Notes:
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
Homework assignments are individual efforts. You are permitted to ask your class mates for clarification of the assignment requirements (though the instructor is a better resource). You may verbally discuss your approach to solving the problem, but not the content of the solution. You may obtain technical assistance installing or operating a software tool. You must create your own solutions. 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. Similarly, you must explain your homework solutions using your own words, not copying the answers from the textbook. 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. Certain aspects
of
creating the team project deliverables requires collaborative
effort
and students are expected to work cooperatively to ensure an even
distribution of work and to facilitate the overall success of the
project.
PRINTED OUTPUT REQUIREMENTS
Don't use smaller than 12 point font without permission. Source
code
printouts must be monospaced.
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.
COMPUTER FACILITIES
Students 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 unix1.csc.calpoly.edu
to access
your files.
Do not share the password
or the account will be frozen and you will be failed from the
course.
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 not be read.
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.
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. It's very analagous to "du" address in German, or
second-person address in Latin languages. Being addressed as
"Dalbey" by students feels rude to me. My preferred form of
address
is "Mr. Dalbey."
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 PASS 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 PASS. Withdrawal requires you to document that some
desperate situation has arisen after the drop day that you could
not
have reasonably anticipated.