Course Objectives

Important Note:

Since this course includes an experiential learning component that takes place off-campus, F-1 Visa holders must secure Curricular Practical Training authorization through the Office of International Student Affairs before the projects start.

Additionally, depending upon the project to which you are assigned, you may also need to consent to a background check as a volunteer working at that site.

Expectations

This course co-meets with CSC 324, and students in 326 are expected to work with a team on their project. This means that there will be some overlap between assignments for each level of the class.  At times, you might be asked to review material originally encountered in 324 (or 321/322), please embrace this opportunity to solidify your understanding and possibly coach other students.  This is what it means to be a leader in software development.

Most policies for 324 apply to 326, although assignments and schedule vary somewhat. Your main focus will be on the team project and on your individual paper on Agile software development and leadership. You do not need to do the 324 individual project or ethics paper. If in doubt about what you should be doing, just ask your instructor.

Specificially, students in 326 are expected to:

  1. Attend class for at least 3 hours per week. You should consult with your instructor (and your assigned team) to determine the best schedule. In the past, 326 students have attended ALL classes or attended one hour on Wednesday and two hours on Friday. Other options are possible, but you need to be consistent.  Establish a routine early in the semester and stick with it. Failure to attend classes will reduce your final grade.
  2. You should plan to spend 3 to 4 hours per week out of class, working on your paper on Agile leadership or working on the team project. Generally, after the third week of the course, you will meet with your team's community partner or your alumni mentor for an hour and then meet and work with your team on the project for up to 2 to 3 hours.
  3. If you have not previously learned Ruby on Rails (or have forgotten it over a gap between taking 324 and 326), you might consider completing all or part of the individual project for 324. If you do not know the language and framework, it is difficult to participate in your group, contribute to the team project, and provide leadership to the rest of your team.
  4. Work with your assigned team in a leadership role. In Agile, this tends to be either the Scrum Master or Product Owner roles. Serving as a leader to the team includes helping them with technical and logistical problems, suggesting options based on your coursework and prior experience, and helping other team members develop their technical and project management skills.
  5. Work with your team to develop your assigned team project.  This may include contributing code, refining the test suite, researching solutions to problems, or improving the documentation. You do not need to contribute an equal amount of the code etc. as the members of the team who are taking 324 since you are taking 2 credits compared to their 4 credits.
  6. Work with your team to create reports and conduct demonstrations.  Demonstrations are usually conducted on Fridays during class periods. Refer to the 324 schedule to be sure that team report due dates have not changed, but these due dates for 326 should be accurate.
  7. Complete a substantial reading about software development or software engineering.  A possible list of options is here. If you are interested in other articles or books, please check with your instructor.
  8. Complete a final paper of at least 10 pages, not including title page or bibliography. This assignment will be done in several stages, listed in PioneerWeb and linked below.  

Assignments

  1. Each sprint (other than sprint 0) will end with a demonstration to the class and a report uploaded into PioneerWeb. Work with your team to prepare these assignments. Attend and contribute to the demonstration presentations. Submit your team's sprint report in PioneerWeb. Yes, it will be a duplicate of what they upload in their class, but this will facilitate final grade calculation for you.
  2. Contribute to the final team report and upload a copy via PioneerWeb.
  3. Contribute to and participate in the final demonstrations (both technical and public).
  4. Submit a self and peer review at the end of the term, via PioneerWeb.
  5. Write a paper on leadership in Agile development. This paper will be done in several stages with opportunity for feedback and revision:
    1. Selection of reading(s) and approval by instructor
    2. Outline
    3. Rough Draft
    4. Final Copy
    5. CELEBRATE!