Syllabus

General Information

You need to manually set unit to 2 on the Schedule Builder.

  • Title: ECS 198F 003 - Student-Led iOS Development with SwiftUI (Spring 2022)
  • Unit: 2
  • Grading: P/NP
  • Prerequisite:
    • Required: ECS 36B or ECS 32B
    • Recommended: ECS 150 and ECS 140 (not required)
InformationDetails
Lecture Time4:10 - 5 pm TR
Lecture LocationTeaching and Learning Complex 3210
Student InstructorYibo Yan
TutorsYifan Huang, Yiyang Huo
AdvisorProf. Nina Amenta
Yibo’s Office HoursWed 1-2 pm on Zoom
Yifan’s Tutor SessionsTue 10-11 am on Zoom
Yiyang’s Tutor SessionsThu 10-11 am on Zoom
CanvasExternal Link
Discussion BoardLinks are on Canvas’s syllabus section.

Contact Information

 NameEmail
Student InstructorYibo Yanybyan@ucdavis.edu
TutorYifan Huangyifhuang@ucdavis.edu
TutorYiyang Huohuo@ucdavis.edu
AdvisorProf. Nina Amentaamenta@cs.ucdavis.edu

Overview

Thanks to Prof. Nina Amenta for sponsoring and giving out valuable advice to this course. Also, thanks to Prof. Sam King for encouraging me to make this course happen.

This course will teach you how to develop iOS apps with SwiftUI and other new technologies offered in the latest iOS. We will focus on UI construction, animation, navigation, and wonderful Swift language features! Due to the limitation of the course unit, we will not overload you with full topics on iOS development. If you’re interested, more optional materials (pre-recorded videos or readings) might be provided to prepare you more for iOS development.

Email Correspondence

Please include [ECS 198F] in the email title when sending an email to us so it won’t get filtered out accidentally.

For any general question regarding syllabus, logistics, or assignment, please post it on Discord or GitHub Discussion.

For personal or sensitive matter, you can directly send emails to Yibo Yan.

For any code-related question that you didn’t get response promptly on discussion board, you can send emails to Yibo Yan and ‘cc all tutors, so you can get your response as quick as possible.

Please DO NOT directly email to Prof. Amenta regarding this course unless if it is really necessary. Prof. Amenta doesn’t directly lead this course. Therefore, she might not be able to help you.

Tutor Sessions and Office Hours

All tutor sessions and office hours will be hold online via Zoom. If the current timing of tutor sessions and office hours don’t work you, feel free to send the email to the student instructor and tutors.

Joining information can be found on Canvas’s Zoom tab.

Upon request, we can set up more tutor sessions and OHs if you need more!

The student instructor and tutors will be active on Discord. Therefore, we are more than happy to provide text help or just jump into voice channel to help!

Do I need ECS 150 (OS) and ECS 140 (Programming Language)?

This course will be different from the ECS 189E offered by Prof. Sam King, where OS is highly involved. This course will mainly focus on constructing the UI and animation with SwiftUI and some advanced language features in Swift. Hence, we will not heavily rely on ECS 150 here. However, the knowledge of OS will definitely help you understand course materials. Also, optional materials on advanced scheduling might be provided for your interests. Since you will learn Swift, a functional programming language, ECS 140 will definitely help you quickly pick up Swift in this course.

Grade Breakdown

ItemPercentDescription
Hello World Assignment5%A simple Hello World assignment to prepare the environment
Assignment 115%UI and layout challenges
Assignment 215%Animations and Transitions
Assignment 315%Data Flow and Essentials
Assignment 415%Network (RESTful API)
Final Project35%Pitch 5%, Code 15%, Demo/Presentation 10%, and Group Evaluation 5%

Course Outline

Course outline can be found in the sidebar, in Course Outline section.

Access CSIF Mac Devices

Currently, you haven’t been given the access to CSIF mac devices. An announcement will be posted when it’s done. You can find the instrution of accessing CSIF mac devices from here.

Regrade Policy

For any regrade request, please directly send email to the student instructor within 1 week of the initial grade release date.

Please use [ECS 198F 003] Assignment{NUMBER} Regrade Request as title (replace the {NUMBER} with actual assignment number), in case the email get filtered out accidentally. Please also include your roaster name and SID in your email.

Late Submission Policy

The late submission policy only applies to weekly assignments. No late submission will be granted for the group final project or introductory assignment. Please start your final project as soon as possible.

Normally, each assignment will be released on Thursday and due on next Thursday 11:59 pm. You will have one week for each assignment.

(Modified late policy) If you commit or push anything after the original deadline, you will be automatically considered for late submisson. No need for sending request anymore.

Late submission will be granted upon request. If you wish to use extension, please email instructor before the original deadline with title [ECS 198F 003] Assignment{NUMBER} Extension Request (replace the {NUMBER} with actual assignment number), just in case the email get filtered out. Please also include your roaster name and SID, so we can log the information correctly.

We will grant at most 3 days. For example, the last day to submit and push to your repository hosted on the GitHub is Sunday 11:59 pm if the original deadline is Thursday 11:59 pm. For late submission penalty, please see below.

Late Submission Penalty

The late submission penalty is calculated per assignment.

Late DaysGrade Penalty
<= 1 Day5%
1 ~ 2 Days10%
2 ~ 3 Days15%

We will checkout to your latest commit or the last commit before the last day of the late submission, whichever comes first. If you pushed anything to your repository on GitHub, you will be automatically considered for late submission. Therefore, please DO NOT commit or push anything after the deadline if you don’t want to use the late policy.