CS4980 (Section 2), iOS App Development

Fall 2017, The University of Iowa

Instructor:
Jim Cremer, 101P MLH, james-cremer@uiowa.edu, 319-321-1893
Office hours: 1:00-2:00TTh and by appointment

TA: TBA

Class meeting times/location:
11:00-12:15 TTh, W55 CB


Google Sites website for this course

A companion Google Sites website, uiiosf17 will be used for two things: 1) documenting group project work, and 2) a portal for the Google Groups discussion forum for the class.

Recent Announcements (last updated 10/5/17)


Prerequisites

CS2230 (CS II) or CS2110 (Programming for Informatics) but more advanced courses such as CS2820 (Obj. Oriented Software Development ) and CS3110 (Algorithms) strongly recommended

Course goals and structure

This will not be a regular lecture/homework course. I will give several weeks (6-7) of lecture classes and homework assignments to get everyone to a common point in basic iOS programming.

After that, most of the work will be team-based app design and development. Teams will be aspect where teams have to come up with a project idea, specify and design it, schedule, implement and present it. Most of the class will be spent working on the group projects; teams will have either two or three students (proposals for individual projects will be considered for special circumstances). There will be no tests - grades will be based on the basic homework assignments (from the first few weeks) plus the design, small progress reports, presentations and result of the group projects.

Again, there won't be a lot of regular lecture-style teaching - a bit at the beginning of the semester but much less as the course proceeds. I am not a true expert in iOS. I have developed or been part of several deployed apps but none of them have been super sophisticated.

People usually find the course fun and interesting, but it depends on the interest and willingness of people to do significant learning on their own or with their peers. Usually, students who put in a good effort enjoy it and learn valuable things - not just iOS development, but also things about design, working in teams, realistic goals and planning, etc.

The scheduled final exam time will be used for some groups' project presentations: Fri., Dec. 15, 10am-noon, W55 Chemistry Building.

Grading

Plus/Minus grading will be used for the course.
Approximately: Homework: 40%, project 60% (consisting of many smaller components - design, status updates, presentations, results, report, etc.) There will be no exams.

Lateness/make-up policy

Late homework submissions will accepted up until the due date of the subsequent assignment. Late assignment's will be awarded 50% of the score the submission would receive if submitted on time.

Textbook, online resources, recommended books

No textbook required.

Key strongly recommended online resources for this course:

Note: In the early lecture portion of the course, I will use Swift 4, iOS 10, and XCode 9. Some of the iOS 9 resources listed below can still be helpful but you need to be aware of the differences.
Other potentially helpful online resources:

Lecture Notes and Code from Class

Homework assignments

Computers (and iOS devices) available

You will need access to a Mac (or a "Hackintosh") for this course.

Documenting and submitting programs

For certain homework assignments, you must submit via the appropriate ICON. First, create a zip file of the folder containing your homework XCode project. Then, upload just that zip file to the ICON.

Scores and grades

Scores will be available on ICON only.

Other UI College of Liberal Arts and Sciences-required syllabus info is here