|Title:||Software Engineering Practices|
|Institution:||Metropolitan State University of Denver|
|Course ID:||CS 4260, §1 & §2|
|Meetings:||§1 Mondays & Wednesdays 2:00PM - 3:50PM
§2 Tuesdays & Thursdays 4:00PM - 5:50PM
|Prerequisites:||CS4250 with grade of "C" or better and Senior standing|
|Instructor:||Dr. Jody Paul (schedule & office hours)|
|E-mail:||jody @ computer . org|
|Office:||Science 1038 (x68435)|
|Campus Mail:||Campus Box 38|
Expected learning outcomes that students should be able to do upon completion:
Software Engineering Practices is the Computer Science capstone course and a continuation of CS 4250, Software Engineering Principles. Students will work in teams and apply the principles of software engineering to the development of real-world projects. Such projects may involve external stakeholders and progress will be evaluated in conjunction with those stakeholders. (Senior Experience)
This course provides students the opportunity to practice the principles of software engineering while developing a significant software application.Students will:
This Senior Experience course places significant demands on participant's time and schedule. To achieve competent/average (C) outcomes students should expect to spend no fewer than 12 hours per week engaged in collaborative activities. Additional time beyond this minimum is generally necessary to achieve good/better-than-average (B) or superior/excellent (A) outcomes. The final few weeks inevitably require extended hours.
The following references are recommended. In addition, since this course puts into practice the software engineering principles covered in CS4250, you are likely to want to use your CS4250 texts and notes as references.
The Five Dysfunctions of a Team
by P. M. Lencioni
Jossey-Bass (2002); ISBN 0787960756
Wiley (2008); ISBN 0470823380
The Deadline: A Novel About Project Management
by T. DeMarco
Dorset House (1997); ISBN 0932633390
Waltzing With Bears: Managing Risk on Software Projects
by T. DeMarco & T. Lister
Dorset House (2003); ISBN 0932633609
Mastering the Requirements Process: Getting Requirements Right (3rd Edition)
by J. Robertson & S. Robertson
Addison-Wesley (2012); ISBN 0201460462
by N. Karten
Dorset House (1994); ISBN 0932633277
The Secrets of Consulting
by G. M. Weinberg
Dorset House (1986); ISBN 0932633013
More Secrets of Consulting
by G. M. Weinberg
Dorset House (2002); ISBN 0932633528
Effective Unit Testing: A guide for Java developers
by L. Koskela
Manning Publications (2013); ISBN 1935182579
[The following is adapted from course information developed and published by Dr. Noel LeJeune, whose work in developing this text is gratefully acknowledged.]
Software Engineering is a dynamic field. For the most part, there are no "right" answers. (However, there can be "wrong" ones!) This is often difficult for scientifically and mathematically oriented people who expect that there is one correct answer. You are required to think, examine the context of the problem, reflect upon possible solutions, select the most suitable one(s), and support or justify your conclusions.
This course should help prepare you for the practice of real-world software engineering in which you are likely to perform software engineering for an employer or customer. Thus we will approach this in the same manner as a real-world software engineering environment.
Successful software engineering is rarely, if ever, a solitary endeavor. Teamwork is the norm. A significant part of your individual evaluation (see Grading) is based upon your team’s performance. You will be successful only if your team is successful. Just as in the work environment, individual performance may be recognized but the entire project team is judged by the team’s collective performance. The team is responsible as a whole. Help each other to make all successful.
This Senior Experience course is primarily concerned with work on a software development project and modeling real-world software engineering experiences.
In addition to the product, each team must maintain and deliver a Project Notebook. The project notebook is a collection of artifacts that record all important activities and decisions relevant to the project. The notebook is due prior to the date specified on the course support website. The project notebook must also include comprehensive final analyses (for example, it must include a set of well-documented metrics applied to the project and the product).
If you are not present, your team is missing a vital team member and your instructor is unable to assess your performance as a collaborative member of the team. The team remains accountable whether you are there or not so please plan to attend. In addition, failure to demonstrate such collaborative contribution will negatively impact your grade. Please feel free to contact me directly concerning special circumstances requiring my assistance.
Project teamwork will require meeting with your other team members at times in addition to class time. While class time will be available for teamwork, it will not be sufficient. You must be willing and able to dedicate significant additional time outside of class to be successful.
Special Note: Because group work represents a significant aspect of this course, if you think you will drop, do your classmates a favor and drop early. If you drop after you are part of a team, your fellow students are adversely impacted.
The relative importance of course activities and deliverables is as follows:
Contribution, Participation, Learning
Active development & delivery of at least four
Note that all members of a team may not receive the same grade for team activities and deliverables.
Peer team members and the instructor will evaluate each individual’s contribution with well-defined criteria. Note that this assessment will be within the overall context of the team’s efforts.
Projects will be assessed with respect to the following criteria:
You must actively maintain an individual Portfolio. The portfolio is a collection of key artifacts that document (a) your contributions to the project and (b) your learning during the semester. These artifacts may include copies of external deliverables, internal deliverables, intermediate products, products not ending up as part of the final deliverables, research findings, and documentation of ancillary learning activities. Each artifact must be accompanied by an annotation that consists of a title, a description, and a reflection. A subset of the artifacts in the collection should comprise a professional portfolio such as would be used to demonstrate credibility during job interviews or when bidding on contracts. The full collection of artifacts should document key learning experiences. The portfolio must be maintained during the semester and be continually available for review. The final version will be turned in prior to the end of the course and is the primary documentation used in assessment of individual contribution, participation, and learning.
The work will be done as teams. Teamwork will require additional effort to achieve success. Your success depends on active participation.
Team deliverables are expected to be a collective effort involving all team members. An overall assessment will be determined for each deliverable that reflects the quality of deliverable. An individual assessment for each team member will also be determined for project deliverables. This individual assessment will be a combination of instructor assessment and peer assessments. You will be expected to assess each team member's contribution (including your own).
A team may have the opportunity to release (remove from future team participation) any non-contributing member with instructor approval. Any released team member becomes a team-of-one and is solely responsible for the same products as any other team. However, a team-of-one will suffer a 30% grade reduction for all products completed as a team-of-one. The remaining team will be expected to produce the same level of quality and quantity of products as if the team was at its original size.
You are required to document your activities as well as your accomplishments. You are encouraged to actively maintain an individual Activity Log by using the vehicle provided on the course support website (examples provided) or within the project management tool adopted by your team. This provides documentation of effort and supports resource data collection for reporting and future estimation.
Status updates provide the vehicle to communicate your activiites, outcomes, and concerns. Information to be reported includes, but is not limited to, the following:
You may choose to augment these updates with brief meetings where you and your professor address the status of your current work and continuous improvement. You are responsible for scheduling such meetings which represent key opportunities to strategize together and to get advice, support, and motivation.
Reminder: While it is stated above, a restatement to stress the importance of Software Engineering in creating the product is in order:
Software Engineering is concerned with the processes and practices used to develop software systems. The underlying principle is that good processes and practices are more likely to produce a quality product within expected resource constraints than are poor ones. Therefore, a significant component of the grade assigned to a product is based on the processes and practices used to produce the product. Rarely, but occasionally, a good product is produced using poor processes and practices, usually due to heroics of individual team members. (A very poor practice!) The grade for this type of product will be negatively impacted regardless of the quantity and quality of the product itself.
Official policies applicable to all courses: http://cs.msudenver.edu/degrees/courses/policies
MSU Denver College Catalog: http://catalog.msudenver.edu
Official announcements, including Academic Policies and Procedures and Student Rights and Responsibilities
MSU Denver Academic Calendar: http://www.msudenver.edu/events/academic/
Additional official dates and deadlines, including the last dates to withdraw and receive NC and holidays
MSU Denver Student Handbook: http://www.msudenver.edu/handbook/
Important Metro State and Auraria campus policies and procedures for students