CSSE x570, Fall 2020

Software Project Management

Project management concepts, project metrics, project planning, risk analysis and management, project scheduling, project tracking, software quality assurance, software configuration management, communicating project information, critical paths, case studies, and term project. This course is cross-listed as CSSE 4570 and 5570. The only difference will be in project rubrics and the depth of achievement in course outcomes.

Basic Information

F2F Meeting Section 01: E223, TTh 2:00-3:15
Online Meeting Asynchronous, Blackboard
Instructor Benjamin VanderSloot, Assistant Professor
Instructor Email vanderba1@udmercy.edu
Instructor Phone 313-993-1943
Office Hours E321, TBD or by Appointment
Readings TBD
Credit Hours Section 01 and 02: 3
Prerequisites CSSE x150

Course Structure

I'd like to make clear that I understand that this is an exceptional semester. I hope that this course reflects that. No student should have to come to class if they feel unsafe. However, this class is not just about learning the technical aspects of software project management. It is also about thinking critically about why we use certain processes and how the things we build affect the world via discussion.

To provide the strongest discussion while still allowing everyone to feel safe, this course will be offered in two sections simultaneously. One is asynchronous and online and the other incorporates our face-to-face meetings. Both sections will interact frequently in online discussion and can collaborate.

If you have concerns or questions about this, please reach out to me. I'll be asking for feedback on this, since I'm learning what works and what doesn't in a hybrid course at the same time as you, and you will have a very different perspective.

Communication Channels

Please follow Blackboard TODO. This will be the primary form of ongoing communication from me to you about course logistics. We can also use email for more direct communication. Gitlab is also an important aspect of the course, as this will be where I expect projects to be maintained. At the beginning of the course I will request all students provide me with a GitLab username to associate with the course for this purpose.

Outcomes

By the end of this course, students should:

  1. Understand common software development practices
  2. Be proficient in the use of tools to improve code sustainability
  3. Be capable of integrating third-party software packages into their tools
  4. Improve in their ability to estimate costs of projects in labor, hardware, and maintainence
  5. Provide something useful for a community
  6. Work effectively in a group

Grading

Grades are assigned by the following proportions:

Discussion Participation 15%
Weekly Reflections 15%
Midterm Exam 10%
Final Exam 10%
Term Project 50%

Letter grades are assigned as follows. However, I reserve the right to lower point thresholds for all letter grade levels if I feel I graded too harshly through the semester. I will do my best to be transparent about this, to ensure as much fairness as possible.

Letter Grade Numeric Grade
A 93 - 100
A- 90 - 92.99
B+ 87 - 89.99
B 83 - 86.99
B- 80 - 82.99
C+ 77 - 79.99
C 73 - 76.99
C- 70 - 72.99
D 60 - 66.99
F 0 - 59.99

An important note: discussion participation is evaluated as online forum participation for online-only students and a combination of online and in-person discussions for students that meet face-to-face. Rubrics for discussion and reflection grading will be provided on Blackboard. Project grade rubrics are to be discussed in class.

Class Schedule

Class is structured in week-long blocks. Each block is guided by one or two topics with required readings. Below is the planned structure of the course.

Several weeks toward the end of the semester are marked as TBD. These will be shaped by the projects chosen, challenges faced, and general interests of the class.

Week Topic(s) Reading Assignment
Week 1, Aug 24 Introduction, Project Idea Discussion, & User Stories This Syllabus, Design Justice Principles, and Wikipedia on User Stories
Week 2, Aug 31 Process, Risk, Scheduling & Measurement Wikipedia on Software Development Process and [BZ13] Project Teams Due
Week 3, Sep 7 Databases Wikipedia on RDB and ACID and Document-stores
Week 4, Sep 14 Software for Communites [KKR19] and the SecureDrop FAQ Project Plan Due
Week 5, Sep 21 Data Costs, Git, GitLab, & Code Review TBD
Week 6, Sep 28 Surveillance The Perpetual Lineup, pg 1-17 and Exclusive: Feds Regularly Monitored Black Lives Matter Since Ferguson by Joseph
Week 7, Oct 5 Testing Frameworks, Regression Testing, Unit Testing, & CI Wikipedia on Software Testing
Week 8, Oct 12 Functional Testing & Test Case Quality Metrics Wikipedia on Code Coverage and Mutation testing
Week 9, Oct 19 Limitations of Software for Communites Skim Digital Defense Playbook and read When Tech Makes Food Insecurity Worse by Capps Midterm Exam
Week 10, Oct 26 Static Analysis & Data-flow Analysis [AHMPP08] and Wikipedia's Data-flow Analysis
Week 11, Nov 2 TBD
Week 12, Nov 9 TBD
Week 13, Nov 16 TBD
Week 14, Nov 23 In-class WIP Presentations
Week 15, Nov 30 TBD Project Due
Exam Week, Dec 7 Final Exam

Policies

The most important policy of this course is that respect is universal. If you do not feel that you are being respected by me, or anyone else at the University in regards to this course, please reach out to me, even anonymously if you prefer. In exchange, I ask that you treat everyone else in the course with respect.

Code of Conduct

I am committed to providing a safe, educational, and enjoyable class. I do not tolerate harassment in any form.

Harassment includes—but is not limited to—unwelcome conduct or offensive verbal comments related to gender, gender identity, gender expression, sexual orientation, age, disability, physical appearance, body size, race, national origin, or religion; deliberate intimidation, stalking, following, unwelcome or unauthorized photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Similarly, encouraging others to engage in such behavior is not permitted, nor are false accusations of harassment.

If you feel that you are being harassed, or observe someone harassing another student, I encourage you to request that the harasser stop if you feel safe to do so. They are expected to comply. Please notify me of any such incidents.

If I am made aware of any incidents, I will either investigate them myself or refer them to the Office of the Dean at the accuser's discretion. If the accusation falls under the scope of Title IX, I am required to report it to the Title IX coordinator and take no further action myself.

This Code of Conduct is adapted from the USENIX Organization.

Collaboration

Collaboration is an important part of computer science. However, an important part of education is evaluation so we can know what everyone has learned. To reflect this, I ask that students do not collaborate on exams. Collaboration on exams is considered any discussion of the course material during the exam. Finally, please don't help write drafts for Blackboard discussion posts. Mistakes and misunderstandings happen in discussions, and sorting these out (and seeing others do so) are important learning experiences.

Attendance

Students are requested to attend as frequently as they are comfortable with. If you miss a class section, you'll be asked to watch the lecture recording or participate in online discussion as alternate means of participation.

Title IX

Detroit Mercy encourages any student experiencing potential sexual harassment, sex or gender-based discrimination or sexual misconduct to contact Marjorie Lang, Title IX Coordinator, at 313-993-1802 or langma@udmercy.edu to obtain resource information and reporting options. Faculty are committed to supporting students and promoting a safe, respectful environment. Therefore, if a student shares information regarding potential sex or gender-based discrimination or misconduct with a faculty member, that faculty member will share this information with Title IX Coordinator Marjorie Lang, so that she can provide you with comprehensive information regarding your rights, options, and available resources. When sharing information with a faculty member or other employee of the University, you may choose to withhold identifying information until you have spoken to a confidential resource at the University. With the exception of the Wellness Center or School of Dentistry Office of Health & Wellness, all employees at the University are mandatory reporters. For additional information about policies, resources and reporting options, please visit udmercy.edu/titleix.

Title IX protections include assistance with pregnant and related parenting accommodations. Requests for such accommodations should be submitted with appropriate medical documentation to Laura Bagdady, Student Disability and Accessibility Support Services, bagdadlm@udmercy.edu. Questions or concerns regarding provision of medically necessary accommodations related to pregnancy or parenting may also be submitted to Marjorie Lang, Title IX Coordinator, at 313-993-1802 or langma@udmercy.edu.

Disability Support Services

If you require an accommodation due to a disability, pregnancy, emergency medical condition or need special arrangements in case of a building evacuation, please contact:

Laura Bagdady
Assistant Director
Disability & Accessibility Support Services
Student Success Center, Room 319
McNichols Campus Library
Email: bagdadlm@udmercy.edu
313-993-1158

It is very important for students to be proactive with regard to requesting their disability accommodations, every semester. While it is never required that you disclose your disability to your professors, all students at Detroit Mercy are encouraged to talk with their professors to discuss their needs and concerns. You must be registered with Disability & Accessibility Support Services and faculty must receive official notification from their office before they can make arrangements for your accommodations.

https://www.udmercy.edu/current-students/support-services/disability.php

Religious Observances

It is the policy of the University of Detroit Mercy to respect the faith and religious obligations of each student. Students with exams and classes that conflict with their religious observances should notify their instructor at the beginning of the semester in order to work out a mutually agreeable alternative. Please note that, regardless of whether an absence is "excused" or "unexcused," the student is responsible for all missed course content and activities.