CMPS 115 SYLLABUS

CMPS 115
Software Methodology
Winter 2008 Syllabus

Instructor Information:

Instructor: Linda Werner
Office: Engineering 2 building room 249
Office Hours: Tuesday 2-2:30pm, Thursday noon-1pm. Other days and time by appointment.
Class location, hours: Engineering 2 Building, room 192 Tuesday and Thursday 10am-noon
Textbook: Object-Oriented Software Engineering by Stephen R. Schach, 2008, McGraw-Hill.
Preparation for first class: read course description in online description and read all of textbook chapter 1.
Labs: BE 105 Wednesdays 11-noon and Thursdays 2-3pm
Email: linda at cse dot ucsc dot edu
Final: March 21, 8-11am. Special review session for final will be held on TBA. The review will be held in my office in E2 249.

TA's and labs:

We have no TA for this course.

Each student is required to enroll in and attend a weekly lab (the same one of these scheduled labs each week). You are required to complete one of the projects from the following list. The project system is required to run on the machines located in the class lab unless it is one of the SCORE contest projects.

  • The SCORE contest
  • The textbook's term project - Osric's Office Appliances and Decor
  • A game of your choice

    Team Project:

    Students are required to collaborate in teams of 4-5 people to undertake a significant software engineering project. The software project is structured as a collection of documentation and code deliverables. This project requires a substantial amount of work, and demands good teamwork. Here are links to information that will help you with your team project:
  • Teamwork Guide written by Ed Parrish (former student/TA/current professor at Cabrillo)
  • Groups That Work More on groups, with tips for how to identify and resolve group problems.

    End-of-chapter homework problems:

    Look in the syllabus for the list of problems and due dates.

    Evaluation:

    Work in CMPS115 is divided into two main components, each contributing 50% to the student's grade.

  • Individual work and
  • Team work: the deliverables for the team project.

    The individual work component consists of the following parts:

  • Class participation: 10%
  • Exams: 24%
  • Project milestone reflection essay: 6%
  • End-of-chapter problems: 10%

    A minimum of 50% on the two components is necessary but not sufficient to pass this class. This means, if you receive less than 50% on any one of the two components, you will not pass. Just because you receive at least 50% on each part does not imply that you will necessarily pass. You cannot pass this class if you do not do the project. The project is designed to be done by people working together. The in-class quizzes and final exam are to be done by each student, working alone. Students may work together to complete the end-of-chapter problems, however, copying another students' answers is not permitted. Any confirmed academic dishonesty including but not limited to copying another's homework, cheating on exams, and copying project work without giving credit to the author of the work products, will constitute a failure in that portion of this class and result in a no-pass or failing grade. Students are encouraged to read the academic integrity policy for the School of Engineering. See also campus policies regarding academic integrity.

    Project Deliverables

    Project deliverables are due on paper at the beginning of class. Documents are to be neat and clear, with proper English spelling and syntax thoughout. This part of each deliverable is worth 10% and is called presentation in each grading sheet. Each of the grading sheets itemizes the points given for each part of that deliverable.

    Each project deliverable must be accompanied by a group time recording log and group meeting notes. Include in these notes: agenda of meeting, members present, discussion summary, time of meeting, location of meeting, members' roles (moderator, notetaker, time keeper) during meeting, action items to be worked on for next time and people responsible for them. This is worth 10% of each deliverable.

    Late items receive no credit, however, one project deadline can be missed without penalty (one "get out of jail free" possibility) if it is turned in at the next class with a note at the beginning stating that you are using your "get out of jail free" card.

    Resubmission: To facilitate the project learning experience, any project deliverable can be re-submitted to recover up to half of the points lost on the original submission. The re-submission must be made within a week from when the original submission was returned, and must include (1) the original, graded submission, (2) the new submission, and (3) a detailed description of the differences between the two versions.

    Homework:

    All homework (project milestones, end-of-chapter problem sets, and textbook reading assignments) is listed in the syllabus. The due dates are given. Be prepared for pop quizes based on the homework. See the syllabus for details.

    Exams:

  • quiz 1 Jan 22
  • quiz 2 Feb 14
  • quiz 3 Mar 6
  • final exam Friday, Mar 21, 8am-11am. The final exam is to be taken by all students who do not achieve a good class performance. 'Good' class performance requires an average of 80% or better on in-class quizzes. The final exam grade constitutes half of your course exam score.

    FAQ's (Frequently Asked Questions): See if your question is here!

    Syllabus - dates and contents are under revision because of progress we make in class. Please check for updates regarding deliverables, reading, and end-of-chapter problem sets.

    Date Topic/Class Task Reading/Homework DUE
    1: Jan 8
  • Scope of Object-Oriented Software Engineering and Class Project
  • ad-hoc team meeting
  • class exercise
  • read in preparation for class:
  • online description
  • textbook chapter 1
  • 2: Jan 10
  • Software Life-Cycle Models
  • prepare presentation for next class
  • homework set worth 3 points
  • textbook chapter 1 problems: 1, 2, 3, 6, 7, 8,9, 11, 13, 15, 16
  • read textbook chapter 2 (read 2.1-2.9.4, skim 2.9.5-2.9.7, and read 2.1) (and chapter 1 if not read before first class)
  • textbook chapter 2 problems: 2,3,5,6,7,8,10,11,12,13,14,15,16
  • 3: Jan 15
  • The Software Process
  • The Requirements Workflow
  • 10 minute initial presentations
  • read textbook chapter 3.1-3.11, skim 3.12-3.15, READ 10.1-10.18 paying particular attention to 10.12-10.15
  • homework problems worth 1 point - textbook chapter 3 problems: 1,2,5,6
  • Deliverable: project selection
  • Deliverable information: project selection template
  • Deliverable: initial presentation
  • 4: Jan 17
  • Teams
  • work on requirements
  • REREAD textbook chapter 10. Pay attention to the MSG Foundation case study in sections 10.6 - 10.11. Read textbook chapter 11 sections 11.1-11.5 and 11.12-11.13. Also read 4.1-4.3.
  • homework problems worth 1 point - textbook chapter 4 problems: 1,2,3,4
  • Deliverable: First pass at scenarios
  • 5: Jan 22
  • In class review
  • Quiz
  • Review for quiz; topics include:
  • scope of software engineering
  • life-cycle models
  • software process
  • teams
  • the requirements workflow
  • the analysis workflow-in theory
  • 6: Jan 24
  • Tools of the trade
  • verify scenarios
  • read textbook chapter 5.1, skim 5.2-5.3, read 5.4-5.10
  • read textbook chapter 11.6-11.25
  • homework problems worth 2 points - textbook chapter 5 problems: 1,2,3,4,5,6,8,9,10,11
  • bring scenario deliverable to class: Scenarios
  • 7: Jan 29
  • Review of Analysis Workflow - chapter 11
  • Testing
  • review textbook chapter 11, MSG Foundation example. We'll review it at beginning of class
  • read textbook chapter 6.1-6.7, skimming section 6.5
  • Deliverable: Requirements specification
  • 8: Jan 31
  • The design workflow: from modules to objects
  • UML practice
  • read textbook chapter 7.1-7.9 with particular attention to section 7.7
  • read textbook chapter 12.1-12.11
  • 9: Feb 5
  • The design workflow continued
  • Catch up with reading. You are responsible for the material in the following chapters: 1,2,3,4,5,6,7,10,11,12
  • Deliverable: Design
  • 10: Feb 7
  • Design presentations
  • The implementation workflow
  • read textbook chapter 13
  • Deliverable: Risk Analysis
  • Deliverable: Design presentation
  • 11: Feb 12 The implementation workflow continued
  • homework problems worth 3 points - textbook chapter 13 problems: 3,7,8,9 (use the Twenty-one pickup problem from Java by Dissection by Pohl and McDowell), 10 ( use this code),21
  • 12: Feb 14
  • In class review
  • Quiz
  • Review for quiz; topics include:
  • tools of the trade
  • design workflow
  • from modules to objects
  • implementation
  • 13: Feb 19
  • Inspection video
  • reread textbook section 6.2
  • 14: Feb 21
  • Postdelivery maintenance
  • verify user manuals, design, and implementation using inspections
  • read textbook chapter 14
  • Deliverable: Software inspections
  • 15: Feb 26
  • postpone Reusability and portability
  • more on UML instead
  • verify user manuals, design, and implementation using inspections
  • submit text corrections for up to 1/3 of lost points
  • read textbook chapter 8
  • Deliverable: User manual
  • Deliverable: Software inspections
  • 16: Feb 28
  • Reusability and Portability
  • More on UML
  • work on final deliverables
  • read textbook chapter 15
  • 17: Mar 4
  • Reusability and Portability-chapter 8
  • review
  • verify unit tests
  • read textbook chapter 8
  • Deliverable: Unit test
  • 18: Mar 6
  • In class review
  • Quiz
  • extra credit worth 3 points homework problems, chapter 14: 1,2,3,6,7,8,9; chapter 15: 1,2,3,4,5,6; chapter 8: 1,2,3,4,5,6
  • Review for quiz; topics include:
    • inspections
    • UML
    • post delivery maintenance
    • reusability
    • portability
  • 19: Mar 11
  • Acceptance tests in BE105
  • Ethics in computing
  • optional presentations regarding ethics
  • Deliverable: Acceptance test
  • Read and comment on one paper from this site
  • Loren Godfrey's presentation on Computer Waste
  • 20: Mar 13
  • Acceptance tests in BE105
  • Josep Valls' presentation on Spain's Brain Drain
  • Deliverable: Acceptance test
  • Deliverable: Final notebook
  • Deliverable: Project reflection
  • Mar 21, 8am-11am
  • Final
  • prepare for final exam

    Other Instructional Materials:

  • Considered to be the 'father' of analysis of algorithms and a Professor Emiritus at Stanford University, Donald Ervin Knuth writes about Literate Programming or check it out on Wikipedia
  • online book - a complete guide to svn in a number of formats
  • First class movie about subversion
  • First class movie about Dforge
  • journal paper reference for prototype test - "Prototyping for Tiny Fingers" by Marc Rettig, Communications of the ACM, April 1994, Vol. 37, number 4. - search on Marc Rettig's writings' web page available from campus IPs
  • Borland's UML tutorial
  • OMG's UML resource page
  • Teamwork Guide written by Ed Parrish (former UCSC student/cmps115 TA/current professor at Cabrillo)
  • Groups That Work More on groups, with tips for how to identify and resolve group problems.
  • Project-Based Software Engineering: An Object-Oriented Approach, 1/e by Evelyn Stiller and Cathie LeBlanc , Addison Wesley, 2002
  • Introduction to the Personal Software Process. Watts S. Humphrey, Addison-Wesley, 1997.
  • UML Distilled -Applying the Standard Object Modeling Language. Martin Fowler with Kendall Scott, Addison-Wesley, 1997.
  • The Mythical Man-Month . Frederick P. Brooks, Jr., Addison-Wesley, 1995.
  • Java by Dissection . Ira Pohl and Charlie McDowell, 2000.
  • Association for Computing Machinery ACM Technews
  • Cetus' UML tutorials
  • Software Engineering Code of Ethics
  • Ethics in Computing site map
  • ACM Code of Ethics
  • Using the Code of Ethics
  • Computer Professionals for Social Responsibility
  • Walkthrough instructions from textbook instructor manual
  • Test Plan instructions from textbook instructor manual
  • Decision Tables
  • PERT Practice
  • Software Risk Management:Principles and Practices (1991). Boehm,B.W., volume 8, issue 1, pp. 32-41. Accessible from points within UCSC.
  • Risk Exposure Example
  • Software Cost Estimation including table of software activity variations containing percentages of staff effort by activity on page 4.
  • Software Configuration Management


    Material for this website and lectures has been taken from cmps115 websites of Cormac Flanagan, Alex Aiken, George Necula, Eri Brewer, and Jim Whitehead. Thanks!!