SPRING QUARTER 2015
Instructor: Dr. John Dalbey | Office: 14-203 |
Phone: 756-2921 SMS to email: (805) 776-3543 |
Email: |
CSc Dept: 756-2824 | Office
Hours |
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 and readings. 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 10 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 are out of practice
with Java you might want to solve this programming
problem from 103 as a refresher.
Percent | Course Component |
10 | Homework and Quizzes (includes self-evaluation) |
15 | Midterm exam |
25 |
Final exam |
0 |
Deliverables CR/NC (2% / day late
penalty) |
50 |
Team Project group product (15%) group process (15%) individual contribution (20%) |
100 |
TOTAL |
REQUIRED COURSEWORK
READINGS
Required textbooks:
Recommended textbook:
There will be specific reading assignments posted on the course
calendar. However, your job may require that you read other
sections of the book before they are assigned to the entire
class. Students are expected to apply the principles and
techniques from the books to their team projects.
In addition there will be a small number of assigned readings from other sources. These readings will be 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. The homework will be DUE on the day shown on
the calendar.
There will be written midterm and final examinations. The exams will assess your understanding of the principles and concepts from the lectures and homework. There will both short answer and essay-style questions as well as short technical problems to be solved. The exam is usually "closed book." You do not need a scantron form or a blue book. A pen is the preferred writing instrument. 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.
SELF-EVALUATIONThis 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 last class 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 the entire
quarter to complete.
The project consists of 11 deliverables. They are graded credit/no credit. If the team misses a due date, 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.
The graded part of the project is worth 50% of your total course
grade. It 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
results from peer and customer acceptance tests of the finished
product. There are specific quantitative elements to this
score, but ultimately it's a subjective judgement: Is the customer
happy?
The process score
assesses 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
techniques 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. The instructor will look for
evidence of productive team collaboration, such as: Are meetings
organized and efficient. Is the schedule accurate and
current? Are time logs accurate? Is work distributed
equitably (no reliance on heroes)? Is workload managed
effectively (no coding parties)? Are action items completed
on time? Is there a minimum of "thrashing" or wasted
effort? Do project tracking indicators reveal the true
project status?
It is recommended that you keep a lab
notebook for all your project work. A well done
notebook can contribute significantly to your individual project
score.
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. 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. For every two unexcused absences your grade
drops one letter grade.
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. (Limit to one excused absence.) (Note that job interviews are unexcused absences).
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 the door may be locked and you will have to wait until the instructor admits you. 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.
Missed classes or quizzes can not be "made up."
HOMEWORK SUBMISSION
A software engineering professional is expected to manage their time and meet their commitments. Late homework receives no credit. 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, unless specified in the assignment.
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:
FOLLOWING DIRECTIONS
The skill of following verbal and written directions is essential
for programmers. Computers are very precise, literal
machines, and any deviation from the required operating directions
usually results in failure. Also, programmers need to follow
directions provided by customers and other stakeholders regarding
the required project specifications. The instructor regards
the directions for assignments as a kind of "specification" and
expects students to follow them with the same precision and rigor
as they would when communicating with a computer. Failure to
follow any directions provided in the course (including this
syllabus) may result in penalties imposed at the discretion of the
instructor, up to and include no credit for the
assignment.
ACADEMIC INTEGRITY
Quizzes and exams are individual efforts to be carried out entirely and solely by an individual. Homework assignments are completed individually, but you are allowed to discuss your work with other students. The team project deliverables are collaborative assignments and students are expected to work cooperatively in all aspects of their creation and production.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: