Course Structure
- Lectures: Once a week, 1.5 hours each.
- Assignments: 5 homework assignments, and 1 team final project.
Grading
- Attendance and Participation: 10%
- Most of this grade will come from attendance, but we may also give participation points for in-class activities (graded on completion).
- Homework Assignments: 60%
- HW0: 20 points
- HW1-4: 100 points each
- Final Project: 30%
Attendance Policy
- You are allowed 2 free absences before deductions are made to your attendance and participation grade.
- If you are unable to attend class due to a health-related reason or family emergency, please let us know on Ed.
Late Policy
- You will be given 5 late days throughout the semester.
- A maximum of 2 can be used on a single assignment.
- Late days cannot be used on the final project (or any milestones thereof).
- Late days are automatically applied. You do not have to let us know beforehand.
- Any late submissions made outside this policy will receive a 0%, unless an exception applies.
- If you are unable to submit an assignment due to a health-related reason or family emergency, please let us know on Ed.
AI Policy
- You may use ChatGPT or other generative AI tools, but we advise against relying on them.
- AI-based tools are usually outdated on iOS development practices - oftentimes, ChatGPT will give you way more code (both in terms of quantity and complexity) than you actually need to implement.
- We suggest starting and writing up the code structure on your own, and then potentially using ChatGPT to fill in the blanks.
- Relying on AI from the start may lead to UI and logic bugs that are difficult to debug later down the line, and will prevent you from developing an in-depth understanding of the course material.
- At the very least, make sure to understand every line you write.
- We will expect at least a working understanding of your code if you attend office hours.
Topics Covered
For a weekly schedule, consult the schedule page.