Course Grade

The course grade consists of the following components and percentages:

Homework: 35%

Class participation: 15%

Course project: 50%

Homework grading

There will be 4 homework assignments with individual scores and a group homework assignment. The homework will be assigned in the first part of the course. To receive full credit, homework must be posted by 11:59 PM Pacific Time on the due date. The due date for homework is specified in the class syllabus. Two points will be deducted from homework received up to a week after its due date. No credit will be given for homework more than one week late (unless there is special permission from the instructors). The instructors will respond to the homework as a github issue. You will have one week from the posting of the instructor’s issue to revise your homework.

Note that we will not help you with your homework regrades unless we saw you in office hours before the due date. We will keep track. The regrade opportunity is to aid in your learning, not to procrastinate. PLEASE use us during office hours in a timely manner, before the homework is due.

Homework should be submitted using Github Classroom.

  1. Click the link for the homework on the syllabus page. This will create a repository for you.

  2. Clone the repository on your machine.

  3. Do the homework on your machine.

  4. git add new files that you create in your repo.

  5. git commit and git push to submit your homework. You may do many pushes as long as they are before the homework due date.

Class Participation

Class participation will be graded based on project related presentations, polling in class, and participation in the Ed Discussion.

We expect that everyone has presented part of their group’s presentation (tech review, practice presentation / summary, final presentation).

Course Project

Description of Class Project

Projects will be graded based on: (a) the final presentation, (b) documentation (especially function and design specifications), (c) the features implemented, and (d) code quality. (Details of the grading rubric can be found in the Projects tab.) Grades for the project will be assigned to the entire team, although there will be adjustments for significant discrepancies in the relative contributions of team members. The latter will be assessed by commit logs and by a survey students will submit at the end of the quarter.

Using AI Assists (Copilot, GPT, Cursor, …)

  • Please do not use AI assists for the homeworks. Education literature on this is still very new, but we would like you to learn the basic skills that are taught in the homeworks so that you are well prepared to utilize AI assists in the future. The reward of using AI assists can be negative as their output is effectively opaque to you, without requisite basic software design and programming skills that the homeworks gently provide. There are only a handful of homework assignments.
  • You are encouraged to investigate AI assists for your class project. AI assisted tooling is the future of building software and you should become comfortable with the best tools for the task at hand, once you are able to interpret and evaluate its output. We do ask that you share how you used the AI assists in your documentation and class stand ups so we can all learn about exciting new tools.
  • Ultimately, You are responsible for what you turn in/publish. If it contains errors as a result of using AI assists, you are still responsible for those errors. This is true in your career as well as your academics.