CSC 326 is a companion course to CSC 324, and so you should review the material on the CSC 324 syllabus. Most of it will apply to this course as well.
The major differences in the two classes relates to the expected work load and assignments. CSC 326 is a two-credit course that builds on your experience in CSC 324 (or possibly CSC321). It assumes that you have some proficiency with Ruby on Rails and a basic understanding of Agile software development practices and have worked on a project with a local community partner (or Grinnell College).
- This course primarily focuses on extending your experience with software development on a project that benefits local non-profit community partners.
- The course is designed to give you experience as a leader of an Agile development team. You will read material about leadership and management in an Agile environment, practice being a leader of a development team, and reflect upon how your theoretical reading informed your practice as a mentor and coach on the team project …. and what lessons you learned from that experience.
Since this course includes an experiential learning component that may take place place off-campus, F-1 Visa holders may need to secure Curricular Practical Training authorization through the Office of International Student Affairs before the projects start. You do not need CPT authorization if your project is designing software for a Grinnell College office or department, or if you are enrolled online from outside of the U.S.A. If you are uncertain, please contact your instructor or the OISA.
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.
Jeff Sutherland (2014) Scrum: The Art of Doing Twice the Work in Half the Time.
Hartl, Michael. (2020). Ruby on Rails Tutorial 6th Edition (Rails 6). The first few chapters of the ebook are available for free, but this may change at any moment. It is highly recommended that you purchase the book and create an account at railstutorial.org in order to access the most up-to-date information.
Other online readings are available. In particular, I recommend that you read one or more selections from the page: Leading Remote Agile Teams.
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 in the beginning of the course. Your main focus will be on the team project and developing your Agile software development and leadership skills. You do not need to do the 324 individual project. If in doubt about what you should be doing, just ask your instructor.
Specifically, students in 326 are expected to:
- Virtually attend classes or meet with your team for at least 6 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 have attended classes that focus on the team project (especially meetings and demonstrations). 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.
- You should plan to spend 3 to 4 hours per week out of class, reading about Agile leadership or working on the team project. Generally, after the first 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.
- 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.
- 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.
- 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.
- 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 326 schedule should be accurate.
- Complete a substantial reading about software development or software engineering (Sutherland’s book on Scrum).
- Weekly reading summary of your reading and a report about your experiences as a leader. These may be written or oral reports. Discuss options with your instructor.
- Depending upon when you took 324, you may need to apply for accounts and get set up for contributing to the team project. See the 324 Homework 0 assignment for details, although I will not specifically be grading you on the assignment.
- 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.
- Contribute to the final team report and upload a copy via PioneerWeb.
- Contribute to and participate in the final demonstrations (both technical and public).
- Submit a self and peer review at the end of the term, via PioneerWeb.
- Read Sutherland’s book on Scrum software development and report weekly on what you have read and how you have tried to apply it to your team project experience.
Grading will be done on a fixed scale:
|Letter Grade||down to % cutoff|
|F||anything < 63.0%|