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 71 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.