C Sc 436 Syllabus: Software Engineering

advertisement
C Sc 436 Syllabus: Software Engineering
University of Arizona, Spring 2014
Catalog Description: This course introduces the fundamental software engineering techniques for
developing correct, efficient, reliable, maintainable and evolvable software for a large project. In
the highly dynamic and competitive software industry, the customers' needs may sometimes be
difficult to understand in advance or may change while the software is being developed. Therefore,
software products may need to evolve iteratively instead of being designed completely in advance.
The class project in this course will attempt to give you an experience in developing a high quality,
evolvable software product. Prerequisites: CSC 335, CSC 345, CSC 352
Schedule Common lectures on MWF 9:00-9:50 in Saguaro Hall, Rm 202. After 3-Feb, common
lectures will only be on Mondays with two three-hour Team Rooms replacing Wednesday and
Friday lectures. A Team room is defined as the entire team in one room working on the product for
a minimum of three hours. There must be two per week.



15-Jan through 3-Feb MWF Lecture Saguaro Hall, Rm 202 (8 straight lecture meetings)
3-Feb through 5-May:
o Lectures in 202 Saguaro on Mondays only
o Wed and Friday lectures replaced by two three-hour Team Rooms
See https://sites.google.com/site/436spring14/schedule
Rick's Office Hours 727 Gould Simpson: Open Door Policy, by appointment:
mercer@cs.arizona.edu, and/or as your ScrumMaster during Team Rooms and lectures
ScrumMasters Rick Mercermercer@cs.ar Reid Knightknight@ema Bahador Saketsaket@ema
Course WebSite https://sites.google.com/site/436spring14/ (or Google mercer cs)
Required Textbooks: There are no required texts. Some online readings will be assigned. More
importantly, you will be supplying the content by contributing to your team.
Letter Grades: Determined based on the following weighted average and cutoffs:
20% In-Class Activities
80% Capstone Project
A
B
C
D
E
>= 90%
80.0 to 89.9
70.0 to 79.9
60.0 to 70.9
< 60.0
Absence Policy Attend all 15 lectures to participate in in-class activities. Absence means you get
no credit for this 20% of your in-class activities, if you are absent. There are no makeups none will
be dropped except for University allowed excuses such as playing for a national championship or a
religious holiday. Attend all Team Rooms. Attendance will be taken. Participation will be a large
portion of our Capstone Project, which is 80% of your grade. In short, plan on attending all lectures
and Team rooms.
Accessibility and Accommodations It is the University’s goal that learning experiences be as
accessible as possible. If you anticipate or experience physical or academic barriers based on
disability, please let me know immediately so that we can discuss options. You are also welcome to
contact Disability Resources (520-621-3268) to establish reasonable accommodations. Please be
aware that the accessible table and chairs in this room should remain available for students who
find that standard classroom seating is not usable.
Classroom Behavior Things considered disruptive include talking with others during lectures, cell
phone use, game device use, laptop use for anything not course related (playing games, email, etc),
sleeping, eating, arriving late or departing early (without prior notification), and newspaper
reading. Such activities distract others and interfere with instructional activities. Again, students
should use class time to further their learning, through active engagement with the material. You
are also expected to treat others with respect. Disruptive behavior also includes:
 Dissing other students for not knowing what you know, intentionally or not
 Bragging about what a great programmer you are, intentionally or not
 Correcting others in a condescending manner
Academic Integrity and Penalties (a.k.a. Cheating) This course requires individual attention and
effort. Unless otherwise specified, all work is expected to be that of each team alone. Students are
responsible for understanding and complying with the University's Code of Academic Integrity.
The Code http://deanofstudents.arizona.edu/codeofacademicintegrity has the full text. Among other
provisions, the Code demands that the work you submit is your own, and that graded programs and
exams will not subsequently be tampered with. The Code demands that you do not turn in copied
code as if it were your own work. It is immaterial whether the copying is done electronically, by
retyping, or using solutions from the Internet, or any other means you may think of such as
downloading an open source project and claiming you did the work.
Required Software/Hardware You are expected to have a laptop at all Team rooms, a central
repository, and several other tools, all of which should be at no cost to you. You may have to
purchase sticky notes, pens, pins, deodorant, toothpaste, tape, thumb drives, a computer, food, or a
Dr. Pepper. You will also have to find a team room. We have four rooms in GS I can reserve,
library, meeting room at the student union, …
Q&A with Piazza This semester we will be using Piazza for class discussion. The system is highly
catered to getting you help fast and efficiently from classmates, Rick, Reid, and Bahador.
In-Class Activities We will done almost every lecture for a total of about 15. These will be graded
as follows for a maximum of 2 points each
0 Absent
1 Half hearted, lazy, or non-contributing
2 Gave it your best effort, contributed, interested
Four Big Things About this Course, in order of importance
1.
2.
3.
4.
Learning to work together on a self-organizing cross-functional team
Using the Scrum framework to help guide this process
Specify your own project or joining a team of your choosing. Making lots of decisions.
The actual product developed during the capstone project itself
The Capstone Project: This will be completed in teams of 71 over virtually the entire semester.
You may pick your own product, choose your target platforms, use whatever tools and languages
your team decides. However, you must use the Scrum framework to facilitate the process of
allowing a team to produce at top performance. Scrum encourages self-organizing cross-functional
teams, exposes bottlenecks, makes things predicable, and generates potentially shippable products
at the end of every sprint (iteration). You will have 4 three-week sprints. Each team will consist of
a Scrum Development Team, one Product Owner, and a shared ScrumMaster who will be Rick,
Reid, or Bahador. What you get done this semester is what you get done. This need not be
everything you specify that you want or dreamed of in the next week or two. Every sprint ends with
a potentially shippable project that has been tested, has value, and can be demonstrated. Therefore
at the end of the fourth iteration, you have your finished product, at least in terms of CSc 436.
Instead of a final exam, we will have project demos during our final exam time, which is Monday
12-May, 10:30-12:30 in Saguaro Hall 202.
Who Owns the Software? Your team does. The university has no right to the software you
develop during this course. You will be storing all code in an off-site repository or on your
personal machine. You may also obtain an open source license. After all grades are in and they can
no longer be changed without petition, Rick might ask a team for the software for use in future
courses, for extension, or as a tool to be used in my courses, with no intention of making any
money. Of course, if you obtain an open source license and make it available, then I don’t need to
ask. The team may and can certainly say no without any retribution or hard feelings. If I sense that
would be an issue, I wouldn't even ask.
Late Policies: No such thing in Scrum. Every three weeks you will deliver a potentially shippable
product that ends three weeks after your Sprint Planning meeting. You will lose points for nonparticipation, failing to maintain Scum components, and for not adhering to the values and
principles of Scrum. These points cannot be made up. However you may certainly inspect and
adapt to adhering the values and principles of Scrum in the future and get the future points.
Subject to Change Information contained in this course syllabus other than the grading and
absence policy is subject to change with reasonable notice, but only if it harms no one in any way.
Download