CS222 Fall 2022

IMPORTANT: LATE ADD/DROP INFORMATION

If you (or any of your teammates) make any changes to your registration after teams are assigned, it's important that you let us know ASAP. In this case (or any other team formation issues), please send an email to Aydan Pirani (apirani2@illinois.edu), so that we can resolve the situation quickly.

Team Signup Form: https://forms.gle/6iY9jQM1JVLWr9cH6

Course Description

Design and implementation of novel software solutions. Problem identification and definition; idea generation and evaluation; and software implementation, testing, and deployment. Emphasizes software development best practices including framework selection, code review, documentation, appropriate library usage, project management, continuous integration and testing, and teamwork.

Students will work in teams on projects mutually agreed upon with the guidance of a course staff member.  Students will draw up a plan for their project individually to compare to those of their fellow team members.  Teams will conduct code reviews and peer evaluations.

End of semester project presentation.

Office Hours

Monday TBD
Tuesday TBD
Wednesday TBD
Thursday TBD
Friday TBD
Saturday TBD

Office hours schedule is pending, please check back during the second week of the course.

Calendar

Date
Week
Focus
8/26 1

Course Expectations and Team Formation

9/2 2

First Mentor Meetings and Initial Project Discussions

9/9 3

Draft Project Plan

9/16 4

Final Project Plan

9/23 5 Weekly Review
9/30 6 Weekly Review
10/7 7

Weekly Review

10/14 8 Weekly Review: code review guided by staff
10/21 9 Progress Check-in:  Timeline and Teamwork Review

 

10/28 10

Code Review #2 (Peer to Peer)

11/4 11

Documentation Review

11/1` 12

Code Review #3 (peer-to-peer) and internal progress evaluation

11/18 13

 

11/25 14

 

  15

Final Project Presentations and Fair

Calendar Notes

  1. Course Expectations and Team Formation

    1. Team formation based on self-reported skill level, language preferences, and other constraints

    2. Mentors choose times based on the same information used for team formation

  2. First Mentor Meetings and Initial Project Discussions

    1. Teams should leave this meeting prepared to present a draft project plan one week later

    2. Initial exploratory development work should begin at this point

  3. Draft Project Plan

    1. Presented to mentor and one or two other teams for feedback

  4. Final Project Plan

    1. Presented to mentor and several other course staff for assessment

  5. Project Pitches

    1. Presented to several other teams for assessment and feedback

    2. While the project plan is an inward-facing document, the pitch is for external consumption

  6. Environment Review

    1. Mentors assess how well each group has set up a development environment that will support their project goals

  7. Framework Review

    1. Mentors assess each group’s choice of frameworks and external libraries and how well they support the project

  8. Design Review

    1. Mentors assess each group’s design and discuss their plans for transforming it into working code

  9. Code Review #1

    1. Mentors examine each group’s codebase and discuss testing tools and test coverage

  10. Timeline and Teamwork Review

    1. Mentors discuss progress toward project milestones and any adjustments that need to be made to ensure a successful finish

    2. Mentors also discuss how each team is working together, including how well they are using source code version control to collaborate

  11. Code Review #2 (Peer to Peer)

    1. Mentors and one other group examine each group’s codebase and discuss structural and organizational choices

  12. Documentation Review

    1. Mentors examine each group’s internal and external documentation and establish expectations for the final project assessment

  13. Code Review #3

    1. Mentors discuss high-level design decisions with each group

    2. Mentors also review testing coverage and discuss any gaps with the team

  14. Peer-to-Peer Review

    1. Group’s present and demo their projects to one or two other group’s for feedback before the final project presentations

  15. Final Project Presentations and Fair

    1. Each group presents their final project to a group of course staff. All aspects of the project are under review, including design, planning, execution, documentation, code quality, test coverage, and teamwork.

    2. Final project presentations are open to the public

    3. Students are also expected to present their work at a final project fair

 

Grading Policy

 

The intent of this section is to raise student and instructor awareness of the ongoing threat of bias and racism and of the need to take personal responsibility in creating an inclusive learning environment.

The Grainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender and gender identity, sexuality, disability status, class, age, or religious beliefs. The College recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.

The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director if you feel comfortable. You can also report these behaviors to the Bias Assessment and Response Team (BART) (https://bart.illinois.edu/). Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.

All members of the Illinois Computer Science department - faculty, staff, and students - are expected to adhere to the CS Values and Code of Conduct. The CS CARES Committee is available to serve as a resource to help people who are concerned about or experience a potential violation of the Code. If you experience such issues, please contact the CS CARES Committee. The Instructors of this course are also available for issues related to this class.

Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional well-being. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University's resources provided below. Getting help is a smart and courageous thing to do -- for yourself and for those who care about you.

Counseling Center: 217-333-3704, 610 East John Street Champaign, IL 61820

McKinley Health Center:217-333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801

University wellness center: https://wellness.illinois.edu/