KEY INFORMATION
- Prof. Ioannis Pavlidis — ipavlidis[@]uh.edu — Office Hours: Thu 3–4 pm @ TEAMS
- Mert Saritac — mesaritac[@]uh.edu — Office Hours: Wed 12–1 pm @ TEAMS
- Hanife Sen — hsen[@]cougarnet.uh.edu — Office Hours: Mon 11–12 pm @ TEAMS
- 21% — Weekly app assignments
- 45% — In-class app development exams
- 34% — Semester-long app project
Grade thresholds: A ≥ 93, A− ≥ 90, B+ ≥ 85, B ≥ 80, B− ≥ 75, C+ ≥ 70, C ≥ 65, F < 65.
The project can be done in pairs. Pairs need to be declared by the end of the second week of classes.
- App Specification: 20% of project grade
- Beta App: 30% of project grade
- Production App: 50% of project grade
- Thursday, 4:00–7:00 pm @ 315 Health and Biomedical Sciences Building 1 and @ TEAMS
- Mac OS 15.6 or higher
- Xcode 16.4 or higher
COURSE OUTLINE
Week 1 — 08/28
- Introduction to Xcode, iOS, and SwiftUI
Materials for the Week
- Overview of iOS
- Overview of Xcode
- Hello SwiftUI
- Introduction to iOS App Development with SwiftUI
- Swift Playgrounds
- swiftfiddle.com
Week 2 — 09/04
- Views, Structures, and Properties/Layout and Style
Materials for the Week
Week 3 – 09/11
- Buttons and State/Lists and Text Fields
Materials for the Week
Week 4 – 09/18
- Navigating Apps/Presenting Content
Materials for the Week
Week 5 – 09/25
- In-Class App Development Exam 1
Week 6 – 10/02
- App Specification (Submit Spec by 10/01)
Materials for the Week
Week 7 – 10/09
- Retrieving Content from a Server/Responding to User Input
Materials for the Week
Week 8 – 10/16
- Capturing and Displaying Photos
Materials for the Week
Week 9 – 10/23
- In-Class App Development Exam 2
Week 10 – 10/30
- Beta App (Submit Beta App by 10/29)
Week 11 – 11/06
- WatchOS
Materials for the Week
Week 12 – 11/13
- Machine Learning
Materials for the Week
Week 13 – 11/20
- In-Class App Development Exam 3
Week 14 – 11/27
- Thanksgiving Week! ?
Week 15 – 12/04
- Production App Presentation (Submit Production App by 12/02)
GRADES AND STUDENT COMMENTS
END OF SEMESTER COMMENTS
★★★☆☆
I enjoyed this semester very much. This was my last class ever at university as I am a graduating senior, and I am very satisfied to know that I learned a lot in this class.
★★★★★
One of the best CS classes at UH!
★★★★★
Very interesting class ever. TAs are really knowledgeable and very helpful in clarifying doubts. Thank you for your patience.
★★★★☆
This was a challenging but rewarding course. The professor and the TAs were a great pleasure to work with.
★★★☆☆
The class was a little weird on teaching UIKit vs SwiftUI. I think in the future you could add more resources for each.
★★★★☆
This class is one of the most enjoyable courses I have taken in Computer Science.
★★★☆☆
Great thought put into the assignments. Glad to see common patterns shown and hands-on development during the lesson.
★★★★★
I have had the privilege of being a part of both your Statistical Methods in Research course and the Ubiquitous Computing course this semester. Thank you for fostering such a stimulating and supportive learning environment.
★★★★★
Thank you for the quality class Professor and TAs!
★★★★☆
The class was very straightforward, and all the assignments helped us learn how to develop an app.
★★★★☆
Very good course.
★★★★★
This is the highest quality, most practical, and most comprehensive class I’ve taken throughout my CS undergrad at UH.
Weekly Grades and Student Comments
![]() |
Comments from students
I want to say that I am glad I took this course. It’s true when professor said at the beginning that he wants us to end the course good enough that we are able to create mid-level apps. I really enjoyed the lectures thoroughly. Professor went into a lot of detail and took the time to explain and answer our questions. The class had a positive learning environment. I want to mention that when my exam 2 didn’t go well, the professor was really kind to encourage me. I have to mention both the TAs for their amazing support. Their feedback on my project was helpful. Wishing Prof and the TAs a very good life.
Everything was great!
Great class.
![]() |
![]() |
Comments from students
MacInCloud :(((( Why…
It was honestly a fair exam, I was just having lots of technical troubles with simulator not being consistent with preview.
My Mac in the cloud was super slow, and kept kicking me out, so I struggled to work normally, with slow refresh speeds and logging back in.
The exam went well. Reviewing lecture before exam and understanding every aspect of WatchOS thoroughly helped me. Glad to have my hard work pay off.
![]() |
![]() |
![]() |
Comments from students
★★★★★
It was an excellent lecture. Professor took the time to introduce Machine Learning all the way from the basics and explained how training, validation, and testing work. Insightful.
![]() |
![]() |
![]() |
Comments from students
★★★★★
I really enjoyed the lecture today on watchOS. The professor went over the content efficiently and in a well-organized manner.
★★★★★
Wonderful lecture. We were getting introduced to a new topic, watchOS, and the professor did an amazing job transitioning into it smoothly.
![]() |
![]() |
Comments from students
★☆☆☆☆
This wasn’t even a presentation; the professor just decided to go through projects and ask questions about them. The class structure keeps getting poorer each week.
★★☆☆☆
“All the navigations are needed. No app functionality required” was very vague and led to confusion on the students’ end.
![]() |
![]() |
Comments from students
Understanding the API and how to turn the JSON to the proper struct requires a lot of time. Especially since each index of the JSON dictionary has between 5–20+ keys.
This class started off good and suddenly everything is going downhill and it’s frustrating to be a part of it. We had HW4 and HW5 due back to back and then two days later we had the exam due.
I’m very unhappy. I know I did very poorly because I couldn’t get the API to work until the very end. I’ve never worked with APIs before this class.
It was a fair assignment but I didn’t have enough time to finish. I had trouble trying to use the API.
![]() |
![]() |
![]() |
Comments from students
★★★★☆
It was a good lecture. As professor teaches very well, although the professor was absent, Mert did very well to fill in the professor’s absence. He worked really hard to ensure that we understood the material well.
★★★★☆
N/A
![]() |
![]() |
![]() |
Comments from students
★☆☆☆☆
For these harder homeworks, I really think releasing them Thursday evening and making them due Tuesday is difficult. I have other classes with homework, I work weekends, and I am graduating, so I am actively job hunting.
★★★★★
Not related to this week only, but the grading seems a bit unfair. I have double checked with some classmates and a lot of them feel the same way.
★★★☆☆
It was interesting to know more about API and how it is implemented in mobile apps. The assignment feels tough.
![]() |
Comments from students
Good feedback
Not bad, didn’t present though.
N/A
I really appreciated all of the feedback the professor gave us. Even though he shared his own perspectives, he took the time to listen to our reasoning and understand our thought process.
The class is interesting because the professor spent time on group presentations and provided feedback so that students could have better preparation for the next project.
I feel like we should have had a clear direction on what to present before the meeting.
It was good presenting in front of class because this way the professor was able to view the project and share valuable insights on it and how we could improve upon. Good class, helping us improve.
No comment
![]() |
![]() |
Comments from students
I am not sure if I did everything right since the last homework was not graded before this exam. I hope next homeworks can be graded beforehand or at least we can see the solution before the exam.
I do not recommend using MacInCloud for the exam. 50% of the exam was spent waiting for the VM to complete its tasks.
The assignment was straightforward, but MacInCloud made it very unfun.
It would have been quite difficult to do in the allotted time if it wasn’t based on the homework.
It was very similar to the homework so the exam wasn’t difficult if one kept up with the homeworks.
Overall, it was ok. There were a couple of parts that were tricky.
![]() |
![]() |
![]() |
Comments from students
★★★☆☆
Your microphone on Teams is not the greatest quality.
★★★★☆
The code comments describing what each line specifically does personally helped me a lot!
★★★☆☆
Great class!
★★★★☆
The class was good, as the professor walked us through new concepts and showed the code working along with explanation. Thank you.
![]() |
![]() |
![]() |
Comments from students
★★★☆☆
I feel like I’m learning too much too fast. I worry how I will perform on the exam.
★★★★☆
It was easy to follow along, and it was nice learning about Figma.
★★★★☆
Great class.
★★★★☆
A lot of new learnings. It was a good lecture.
★★★★★
I love Swift!
![]() |
![]() |
![]() |
Comments from students
★★★☆☆
I think it would be helpful to allow us to be more creative when discovering how to code with Swift and Xcode.
★★★☆☆
NA
★★★★☆
Everything went well. A lot more subject matter was covered and I enjoyed the class.
★★★★☆
I wish the code for the first of the two demo apps had been posted as well.
![]() |
![]() |
Comments from students
★★☆☆☆
It is difficult to understand you sometimes. I also disagree on your opinion as to why we should be locked into Apple’s ecosystem for this class.
★★☆☆☆
The online section wasn’t able to actually view the lecture live this past week.
★★★★☆
Class flowed smoothly and for the online section it was still very understandable.
★★☆☆☆
Involving the online section to ask questions would be nice.
★★★☆☆
I wish professor could speak louder so I can listen to him clearly.
★★★★☆
I am enjoying Swift, but groups should at least be a minimum of 3 people.
★★★★☆
No comments. Looking forward to learning more about app development in SwiftUI.
★★★☆☆
I would recommend taking more breaks during class to strengthen our attention spans.
★★★☆☆
Some of the code files were confusing to access through Teams.
★★★★☆
As a beginner to Swift, I appreciated how Professor Pavlidis took his time to explain all the components of the demo app during class.
★★★★★
It was a wonderful beginning to the class. Much better than expected. I see that the professor has a genuine care for students and wants us to excel in life.
★★★★☆
N/A

































