Version 2018-Spring-1.0-Final, Revised 15 January 2018
CS-348 01, 02 — Spring 2018
CS-348 Software Process Management
Credit and Contact Hours
Lecture: 3 hours/week
Catalog Course Description
Project management including planning, progress measurement, estimation, and risk assessment. Functional and non-functional requirements. Software licenses, contracts and intellectual property.
Dr. Karl R. Wurst
See http://cs.worcester.edu/kwurst/ for contact information and schedule.
Meeting Times and Locations
|01||TR 8:30-9:45am||ST 107|
|02||MW 12:30-1:45pm||ST 107|
It's in the Syllabus
|Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin
Prentice Hall, 2009
|Scrum: A Breathtakingly Brief and Agile Introduction
Chris Sims and Hillary Louise Johnson
Available as a $0.99 Kindle book
Read the whole text online here
Version Control by Example
In addition to the textbook, to successfully complete this course you will need:
- Laptop Computer: You will need a laptop computer that you can bring to class sessions and can use at home. The brand and operating system (Windows, Mac OS X, Linux) is unimportant – the software we will be using runs on all major operating systems and can be downloaded for free. It is expected that you will download and install required software as needed over the course of the semester.
- Internet Access: You will need Internet access for access to:
- Blackboard - All course materials will be posted on Blackboard.
- WSU Gmail – You must check your WSU Gmail account on a regular basis. Announcements will be sent here.
- Tutorials and articles – I will suggest, and you will research on your own, tutorials and articles for you to learn new technologies and techniques we need.
- Other tools and sites as needed...
Where Does This Course Lead?
- CS 443 Software Quality Assurance and Testing
- CS 448 Software Development Capstone
- Your professional career
Course Workload Expectations
This is a three-credit course. You should expect to spend, on average, 9 hours per week on this class.
You will spend 3 hours per week in class. In addition, you should expect to spend, on average, at least 6 hours per week during the semester outside of class. (See Definition of the Credit Hour)
Definition of the Credit Hour
Federal regulation defines a credit hour as an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutional established equivalence that reasonably approximates not less than –
- One hour of classroom or direct faculty instruction and a minimum of two hours of out of class student work each week for approximately fifteen weeks for one semester or trimester hour of credit, or ten to twelve weeks for one quarter hour of credit, or the equivalent amount of work over a different amount of time; or
- At least an equivalent amount of work as required in paragraph (1) of this definition for other academic activities as established by the institution including laboratory work, internships, practica, studio work, and other academic work leading to the award of credit hours.
---New England Association of Schools and Colleges, Commission on Institutions of Higher Education, Policy on Credits and Degrees
- CS 343 Software Construction, Design and Architecture
- CM 110 Public Speaking
- UR 230 Technology, Public Policy and Urban Society
This course has a prerequisite of CS 343 – Software Construction, Design and Architecture. We will be looking at the process of planning and developing a large software project in a team, and so I expect you to have experience in developing software and working with others. You will be bringing your experiences in these situations, both good and bad, to our discussions of software process management, and your experiences will lead you to a better understanding of why such processes are needed.
CS 343 required EN 252 – Technical Writing. You should be able to write professionally. You should be able to write professional-quality reports, memos and documentation.
This course has a prerequisite of CM 110 – Public Speaking. You should be able to structure and give a professional-quality presentation.
This course has a prerequisite of UR 230 – Technology, Public Policy and Urban Society. I expect that you understand the concept of intellectual property, including copyright and licensing. We will be reading and comparing software licenses, and determining what effect a software license has on how we can use third-party code, why it is important to license our own code and documentation, and what to consider when choosing a license for our own work.
If you are missing any of this background, you should not take this course.
Course-Level Student Learning Outcomes
Upon successful completion of this course, students will be able to:
- Elicit, organize, prioritize, and validate functional and non-functional requirements using a variety of techniques, and negotiate among different stakeholders in order to agree on a set of requirements
- Draft and evaluate basic software licenses, contracts, and intellectual property agreements, while recognizing the necessity of involving legal expertise
- Develop a comprehensive project plan, measure project progress and productivity, estimate costs, manage risk and change for a significant development effort
- Apply management techniques to projects that follow agile methodologies, as well as methodologies involve larger-scale iterations or releases
- Apply analysis techniques such as needs analysis, goal analysis, and use case analysis
LASC Student Learning Outcomes
This course does not fulfill any LASC Content Area requirements, but contributes to the following Overarching Outcomes of LASC:
- Demonstrate effective oral and written communication.
- Employ quantitative and qualitative reasoning.
- Apply skills in critical thinking.
- Apply skills in information literacy.
- Understand the roles of science and technology in our modern world.
- Understand how scholars in various disciplines approach problems and construct knowledge.
- Display socially responsible behavior and act as socially responsible agents in the world.
- Make connections across courses and disciplines.
Program-Level Student Learning Outcomes
This course addresses the following outcomes of the Computer Science Major:
Upon successful completion of the Major in Computer Science, students will be able to:
- Analyze a problem, develop/design multiple solutions and evaluate and document the solutions based on the requirements. (Emphasis)
- Communicate effectively both in written and oral form. (Emphasis)
- Identify professional and ethical considerations, and apply ethical reasoning to technological solutions to problems. (Emphasis)
- Demonstrate an understanding of and appreciation for the importance of negotiation, effective work habits, leadership, and good communication with teammates and stakeholders. (Emphasis)
- Learn new models, techniques, and technologies as they emerge and appreciate the necessity of such continuing professional development. (Emphasis)
- Version control
- Collaboration tools
- Project management
- Software process models
- Software testing
- Software licensing
- Documentation standards
- Software maintenance
- Team management
- Code review
I want everyone receiving a passing grade in this course to be, at least, minimally competent in the course learning outcomes and for that to be reflected in your course grade. Traditional grading schemes do a poor job of indicating competency.
As an example, imagine a course with two major learning outcomes: X and Y. It is widely considered that a course grade of C indicates that a student is minimally competent in achieving the course outcomes. However, if the student were to receive a grade of 100 for outcome X, and a grade of 40 for outcome Y, the student would still have a 70 (C-) average for the course. Yet the student is clearly not competent in outcome Y.
Therefore the grading in this course will be handled in a different manner:
- All assignments will be graded on a Meets Specification / Does Not Yet Meet Specification basis, based on whether the student work meets the instructor-supplied specification.
- A minimum collection of assignments, indicating competency in the course learning outcomes, must be completed in a Meets Specification manner to earn a passing course grade (D).
- Higher passing grades (A, B, C) can be earned by completing more assignments and/or assignments that show higher-level thinking and learning skills.
- All assignments in this course will be graded exclusively on a Meets Specification / Does Not Yet Meet Specification basis.
- For each assignment, you will be given a detailed specification explaining what is required for the work to be marked Meets Specification.
- Failing to meet any part of the specification will result in the work being marked Does Not Yet Meet Specification.
- There will be no partial credit given.
- If you are unclear on what the specification requires, it is your responsibility to ask me for clarification.
- It will be possible to revise and resubmit a limited number of assignments with Does Not Yet Meet Specification grades (see Revision and Resubmission of Work below).
Course Grade Determination
Your grade for the course will be determined by which assignments and/or how many assignments you complete in an Meets Specification manner.
|Assignment||Earn Base Grade
|Earn Base Grade
|Earn Base Grade
|Attendance and Participation (out of 27)||26||25||24||23|
(out of n assignments, where n ≈ 8)
— Base Assignment
— Intermediate "Add-On"
— Advanced "Add-On"
n - 1
|Exam Grade Average (3 exams)||> 50%||> 50%||> 50%||≤ 50%|
- Failing to meet the all the requirements for a particular letter grade will result in not earning that grade. For example, even if you complete all other requirements for a B grade, but fail to submit and Advanced Add-On that meets specification, you will earn a C grade.
- Failing to meet the all the requirements for earning a D grade will result in a failing grade for the course.
Plus or Minus Grade Modifiers
- You will have a minus modifier applied to your base grade if the average of your exam grades is lower than 60%.
- You will have a plus modifier applied to your base grade if the average of your exam grades is 85% or higher.
- Each unused token remaining at the end of the semester can be used to increase the exam average by 2 percentage points.
- WSU has no A+ grade.
Attendance and Participation
- For class sessions with a specific lab assignment, you are expected to work on the assigned laboratory material within your group. Every member of the group is expected to contribute. The group is expected to complete the lab assignment or make substantial progress toward the completion of the lab assignment. If you complete the assigned material before the end of class you must show the instructor before leaving.
- For class sessions with no specific lab assignment, you are expected to be paying attention, participating in the class discussion, and asking questions.
- Arriving late and leaving early (unless you have finished and shown your work to the instructor) will result in your work being considered "Does Not Yet Meet Specification" for that lab session.
- Working on things that are not part of the work for this class during class time will result in your work being considered "Does Not Yet Meet Specification" for that lab session.
The assignments will give you a chance to apply the material to larger tasks. The assignments will vary in what you will be asked to do - programming projects, written assignments, analysis, etc.
Every assignment will have a base assignment portion that must be completed for the assignment to be considered "Meets Specification". This will generally involve developing tests, determining suitable test inputs, and/or determining suitable test paths.
- Anyone working to earn a grade of C or higher must submit "Meets Specification" work for all Base Assignments.
- Anyone working to earn a grade of D or higher must submit "Meets Specification" work for all but one of the Base Assignments.
A more complete specification for an "Meets Specification" (passing) Base Assignment will be given during with each assignment.
Each assignment will also have an Intermediate Add-On portion can be completed for anyone working for a course grade of C or higher. This will involve more detailed analysis of the developed model, design, architecture, or code.
- Differing numbers of Intermediate "Add-Ons" are required for different passing grades of C or higher. See the table under Course Grade Determination.
A more complete specification for "Meets Specification" (passing) Intermediate "Add-Ons" will be given during with each assignment.
Each assignment will also have an Advanced Add-On portion can be completed for anyone working for a course grade of B or higher. This will involve even more detailed analysis of the developed model, design, architecture, or code.
- Differing numbers of Advanced "Add-Ons" are required for different passing grades of B or higher. See the table under Course Grade Determination.
A more complete specification for "Meets Specification" (passing) Advanced "Add-Ons" will be given during with each assignment.
There will be three exams, one of which will be a non-comprehensive final exam.
- Exam 1 is tentively scheduled to be given during class on the 14th or 15th of February 2018.
- Exam 2 is tentively scheduled to be given during class on the 4th or 5th of April 2018.
- Exam 3 will be given during the scheduled final exam period:
- Section 01 — 10 May 2018 — 8:30-11:30am
- Section 02 — 14 May 2018 — 12:30-3:30pm
All work will be submitted electronically through a variety of tools. The due date and time will be given on the assignment. The submission date and time will be determined by the submission timestamp of the tool used.
Please do not submit assignments to me via email. It is difficult for me to keep track of them and I often fail to remember that they are in my mailbox when it comes time to grade the assignment.
Late work will not be accepted. (See Tokens below.)
Revision and Resubmission of Work
Because your first attempt at producing acceptable work for a new category of assignment may be difficult due to being unfamiliar with the specification and not having had any feedback yet, you may revise and resubmit a single assignment in each of the following categories only:
- Base Assignment
- Intermediate Assignment "Add-On"
- Advanced Assignment "Add-On"
Each student will be able to earn up to 5 tokens over the course of the semeester. These tokens will be earned by completing simple set-up and housekeeping tasks for the course.
Each token can be used to:
- replace a single missed class session (up to a maximum of 3 missed class sessions)
- turn in an assignment late by 24 hours
- revise and resubmit an assignment (up to a maximum of 2) that was judged "Does Note Yet Meet Specification". Any work to be revised and resubmitted must have been submitted by the original due date.
- Unused tokens will be kept track of in the Blackboard My Grades area.
- Tokens will not be automatically applied. You must explicitly tell me by email when you want to use a token, and for which assignment..
If you are struggling with the material or a project please see me as soon as possible. Often a few minutes of individual attention is all that is needed to get you back on track.
By all means, try to work out the material on your own, but ask for help when you cannot do that in a reasonable amount of time. The longer you wait to ask for help, the harder it will be to catch up.
Asking for help or coming to see me during office hours is not bothering or annoying me. I am here to help you understand the material and be successful in the course.
You may contact me by email (Karl.Wurst@worcester.edu), telephone (+1-508-929-8728), or see me in my office. My office hours are listed on the schedule on my web page (http://cs.worcester.edu/kwurst/) or you may make an appointment for a mutually convenient time.
If you email me, please include “[CS-348]” in the subject line, so that my email program can correctly file your email and ensure that your message does not get buried in my general mailbox.
If you email me from an account other than your Worcester State email, please be sure that your name appears somewhere in the email, so that I know who I am communicating with.
You may expect that I will get back to you within 24 hours of your email or phone call (with the exception of weekends and holidays), although you will likely hear from me much sooner.
Code of Conduct/Classroom Civility
All students are expected to adhere to the policies as outlined in the University's Student Code of Conduct (http://www.worcester.edu/CodeofConduct/).
- Contribute to a class atmosphere conducive to learning for everyone by asking/answering questions, participating in class discussions. Don't just lurk!
- Seek help when necessary.
- Start assignments as soon as they are posted. Do not wait until the due date to seek help/to do the assignments.
- Make use of the academic success center (see below).
- Expect to spend at least 9 hours of work per week on classwork.
- Each student is responsible for the contents of the textbook readings, handouts, and homework assignments.
Worcester State University is committed to providing reasonable academic accommodations for all students with disabilities. If you have a disability and are concerned about the format or requirements of this course, please meet with me to discuss ways to ensure full participation. Students must be registered with Student Accessibility Services in order to receive academic accommodations. Student Accessibility Services is located in the Administration Building, Room 131, and can be reached by phone (508/929-8733 or email (email@example.com). Please notify me if you need this syllabus in an alternative format.
Tutoring Services/Academic Success Center
Tutoring Services are offered through the Academic Success Center (ASC). The ASC is located on the first floor of the Administration building, A-130. Tutoring services are provided to students FREE of charge. Students seeking academic assistance should visit the center as soon as possible or contact the Tutoring Coordinator at 508-929-8139
The Math Center
The Math Center provides free assistance to students in Mathematics. It is located on the first floor of the Sullivan Academic Building, S143.
The Writing Center
The writing center provides free assistance to students in the areas of research and writing. It is located on the third floor of the Sullivan Academic Building, S306. To schedule an appointment, please call 508-929-8112 or email the Center at firstname.lastname@example.org. To find out more information about the Writing Center including the Center's hours and the Center's Online Writing Lab, visit their website at http://www2.worcester.edu/WritingCenter/.
Worcester State Library
Worcester State Library has access to many articles through online databases including J-STOR. In addition many articles and book chapters are available to students through Inter-Library Loan (ILL). With a little planning, ILL expands your ability to get credible information sources about topics you pursue in your course work. Finally WSU students are free to use many of the library resources within the consortium. Given all of these resources it is extremely unlikely that you should have to pay for access to individual articles. Please work with the reference librarians to find the appropriate way to access materials you need. You have already paid for these resources through your fees—please make use of them.
Each student is responsible for the contents of the readings, discussions, class materials, textbook and handouts.
You should familiarize yourself with Worcester State College's Academic Honesty policy. The policy outlines what constitutes academic dishonesty, what sanctions may be imposed and the procedure for appealing a decision. The complete Academic Honesty Policy appears in: http://www.worcester.edu/CodeofConduct/
If you have a serious problem that prevents you from finishing an assignment on time, contact me and we'll come up with a solution.
This course is heavily influenced by ongoing discussions with Dr. Stoney Jackson of Western New England University beginning during the Fall 2014 semester (with 64 commuting hours in his car, lunches, attending his CS-390 class, and more.) It is also based on materials from the FOSS2Serve/Teaching Open Source/POSSE community.
Student Work Retention Policy
It is my policy to securely dispose of student work one calendar year after grades have been submitted for a course.
The following course schedule is subject to change.
|Week 1||15 January
MLK Jr. Day
|16 January||17 January||18 January|
|Week 2||22 January||23 January||24 January||25 January|
|Week 3||29 January||30 January||31 January||1 February|
|Week 4||5 February||6 February||7 February||8 February|
|Week 5||12 February||13 February||14 February
|Week 6||19 February
I will be at a conference.
I will be at a conference.
I will be at a conference.
|Week 7||26 February||27 February||28 February||1 March|
|Week 8||5 March||6 March||7 March||8 March|
|Week 9||12 March||13 March||14 March||15 March|
|Week 10||26 March||27 March||28 March||29 March|
|Week 11||2 April||3 April||4 April
|Week 12||9 April||10 April||11 April||12 April|
|Week 13||16 April
|17 April||18 April||19 April|
|Week 14||23 April||24 April||25 April||26 April|
|Week 15||30 April||1 May||2 May||3 May|
|Final Exams||14 May
Copyright and License
© 2018 Karl R. Wurst, Worcester State University
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA