Syllabus – CSCI S-71


 

Agile Values

This course is aligned with values and principles of the Agile manifesto. In this course, we value

  • Individuals and interactions, so we encourage class participation, and we have group homework assignments and a group final project.
  • Working software, so we learn and practice Agile technical skills, and the final project is a real piece of working software.
  • Customer collaboration, so the final project is oriented around a real stakeholder.
  • Responding to change, so we’ll revise the course backlog, homework assignments, and final project to make sure we achieve the best learning outcomes. 

Reading Materials

There is no required reading for this course. Instead, there is a set of recommended reading materials. See the course backlog for details—each backlog item has its own recommended reading list. The recommended readings will enhance your knowledge of the course material. We trust that you are intrinsically motivated to learn, practice, and embody the course material, and that you’ll read as much as possible to maximize your learning.

Class Dates and Location

The summer semester is an on-campus face-to-face experience. We meet Monday-Thursday at 3:15-6:15 pm at 53 Church Street, room 203. Class dates are:

  • Week 1: June 25, 26, 27, 28
  • Week 2: July 2, 3, 5, 6 (July 4 is a holiday)
  • Week 3: July 9, 10, 11, 12

Communication

We want communication to be open and transparent, so most course communication takes place in our Slack group. To join the Slack group, ask Richard for an invitation.

Accessibility

The Summer School is committed to providing an accessible academic community. The Accessibility Office offers a variety of accommodations and services to students with documented disabilities. Please visit http://www.summer.harvard.edu/resources-policies/accessibility-services for more information.

Academic Integrity

You are responsible for understanding Harvard Summer School policies on academic integrity and how to use sources responsibly. Not knowing the rules, misunderstanding the rules, running out of time, submitting the wrong draft, or being overwhelmed with multiple demands are not acceptable excuses. To support your learning about academic citation rules, please visit the Resources to Support Academic Integrity where you will find links to the Harvard Guide to Using Sources and two free online 15-minute tutorials to test your knowledge of academic citation policy. The tutorials are anonymous open-learning tools.

Course Backlog

One way we align with Agile values is by using a course backlog—a learning backlog—rather than a traditional syllabus. Our course backlog is the list of topics we plan to cover throughout the semester. Each backlog item includes a short description, a list of activities, a suggested reading list, and the date on which we forecast we’ll cover the backlog item. The order of topics and dates may change—we’ll adjust the backlog throughout the semester to ensure we’re covering the right topics at the right time.

Click here to view the course backlog.

Homework & Grading

During the first half of the semester, we’ll learn enough about Agile to be able to apply it to real software product development. Homework assignments are short on-line quizzes and programming problems designed to guide your learning. 

During the second half of the semester, you’ll put your learning into practice. You’ll form Agile product development teams. Your team will design, implement, and deliver a real software product together. You’ll traverse all the steps of the Agile product development lifespan, from team formation and product inception all the way to iteratively delivering and improving working versions of your product. 

Your final grade for the semester will consist of:

  • Class participation: undergrad 20%, grad 10%
  • Homework: undergrad 50%, grad 50%
  • Final project: undergrad 30%, grad 40%

To view your grade, visit the course Canvas site. (Grades on Canvas are accurate for graduate students. Undergrads, you'll have to compute your grade based on these percentages.)

Class participation: For full credit, you’ll attend and actively participate in all online and on-campus class sessions. Active participation includes a video and audio presence during virtual sessions, contributing ideas during discussions, asking questions, and sharing what you know with students and course staff.

Homework: Homework assignments are due before the next class. To view and submit your homework assignments, visit the course Canvas site. For full credit, you’ll return your homework when it’s due. Your responses to written prompts will be complete and accurate. Your programming solutions will be well crafted source code and executable artifacts created using Pair or Mob Programming, Test Driven Development, and other Agile software development skills.

Final project: You’ll work in teams to design, implement, and deliver a full software product. For full credit, your team will show incremental progress throughout the semester, use all the Agile software development skills shared in class, and deliver the product and share it with students, course staff, and outside stakeholders on the final night of class.

All homework assignments and grades are available in Canvas.