KEY INFORMATION
- Prof. Ioannis Pavlidis (ipavlidis[@]uh.edu) Office Hours: Thu 3-4 pm @ TEAMS
- Mert Saritac (mesaritac[@]uh.edu) Office Hours: Wed 12-01 pm @ TEAMS
- Hanife Sen (hsen[@]cougarnet.uh.edu) Office Hours: Mon 11-12 pm @ TEAMS
- 21% (7 x 3%) Weekly app assignments
- 45% (3 x 15%) 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
- App Specification: 20% of the total project grade
- 10% description, 30% user flow, 20% wireframes, 20% mockups, 20% prototype
- Beta App: 30% of the total project grade
- 50% robust functionality, 30% user interface, 20% coding excellence
- Production App: 50% of the total project grade
- 50% robust functionality, 30% user interface, 20% coding excellence
The project can be done in pairs. Pairs
need to be
declared by the end of the second week of classes.
- Thursday, 4:00-7:00 pm @ 315-Health and Biomedical Sciences Building 1 and @ TEAMS
- Mac OS - 15.6 and higher
- XCode - 16.4 and 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
- ⇒ https://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)
WEEKLY GRADES AND STUDENT COMMENTS
|
| Comments from students |
| I want to say that I am glad I took this course. Its true when professor said at the begining that he wants us to end the course good enough that we are able to create mid level apps. I really enjoyed the lectures throughly. Professor went into alot of detail and took the time to explain and answer our questions. The class had a positive learning enviornment. I want to mention that when my exam 2 didnt go well, the professor was really kind to encourage me. I have to mention both the TA's for there 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, throughly helped me. Glad to have my hardwork pay off |
|
|
|
| Comments from students |
|
★
★
★
★
★
It was an excellent lecture. Professor took the time to introduce Machine Learning from all the way to basics and explaining how the training, validating and testing works. 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 that was WatchOS and the professor did an amazing work to transition into it smoothly. He elaborated every part of the inclass code throughly and ensured we understood. I enjoyed the lecture very much. |
|
|
| Comments from students |
|
★
★
★
★
★
This wasnt even a presentation, the Prof just decided to go through projects and ask questions about it. -50 for no show and -25 for failing to answer questions is absurd. And its absurd because only a chosen amount of students are forced in this situation, while the others can get away with it. This class structure keeps getting poorer each week. Everything has been downhill since Exam 2 week. i used to give 5 stars before it. |
|
★
★
★
★
★
“All the navigations are needed. No app functionality required” is *very* vague and led to a lot of confusion on the students’ end. Did it just mean no backend and we still had to hand the data processing on the app’s side or did it mean we just had to do the visuals properly? Would placeholder images work in place of actual data/models or did we have to create mockups to use or did we have to make fully-functional models? It was not clear, and when people don’t understand what the assignment is asking from them you will get varied results. |
|
|
| 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. Additionally, the documentation provides little help. Very likely
the only people able to do well on this exam were the online students using the internet
and AI to help them or the in person students who left early to work on the test outside
the testing environment.
|
|
This class started off good and suddenly everything is going
downhill and it’s just frustrating to be a part of it. We had hw4 and 5 due back to back
and then 2 days later we had the exam due. Professor needs to understand that there are
other classes as well and this workload is not helping in learning at all. There’s also
the project due that many haven’t started on because we aren’t catching a break. Please
consider dropping the remaining homeworks or stop at hw6.
|
|
I'm very unhappy. I know I did very poorly because I couldnt
get the api to work until the very end. I've never worked with any api's before this
class and because of how exam 1 was I assumed if I jumped super hard into the weather
api I would be fine. I was at the class where I guess mert said we should look at the
canine code but I must've missed that one sentence. I found the way the canine app
approached its api extremely confusing in the moment when the professor went through it,
but then the weather one was really straight forward (still took me days to figure out
just the meteo api but using it once I figured it out was fine) and the hw assignments
never gave me a reason to revisit the canine code. If I had known I definitely would
have at the very least rewritten the canine app myself because the way its written right
now makes my head spin. I was getting returns from the cat api that I'd never seen
formatted that way before. And sure I couldve probably figured it out in a language I'm
super familiar with but simple stuff I know how to do in something like python like data
dump to a file or string parsing is just not something I can do off the top of my head
in swift (no one learns a coding language to proficiency in a semester...we just learn
pattern matching enough to do the homeworks and its personal projects afterwards where
at least I actually master languages). I dont even know what my feedback is honestly. I
would've super appreciated a formal announcement to set expectations at least (like
happened for exam 1). I just felt really helpless because none of my normal tools to
learn about something thats not behaving like anything I've seen before (documentation
and googling and talking with peers) is unavailable to me. And my expectations of the
recent homework being directly useful as effectively lookup references in place of other
resources was super misaligned. Big thanks to mert for trying to help me though. I could
go on and on but this is too long and im emotional right now.
|
|
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 prof's absence. He worked really hard to ensure that we understood the material well. |
|
★
★
★
★
★
N/A |
|
|
|
| Comments from students |
|
★
★
★
★
★
For these harder hw's I really really think releasing them thursday evening and making them due tuesday is absurd. I have other classes with hw, I work weekends, and I graduating so I'm actively job hunting. I cant afford to just stop everything to bang out an app from scratch. I personally feel like a week for something like the weather now app assignment is the minimum thats appropriate. We all have a lot of other stuff thats competing for our attention and cant be just put off. |
|
★
★
★
★
★
Not related to this week only but the grading seems a bit unfair. I have double checked with Some of my classmates and a lot of them feel the same way. People are losing points for small icons or grids Not being uniform. It Feels like point deduction is being forced because students are losing points for unreasonable things. How does one lose points for File organization, or code quality. My quality is similar to what is being shown in Class. The professor needs to discuss greeting leniency with TAs. I love This class and really enjoy it, but the grading is a little frustrating because you’re losing points for things that don’t make sense. |
|
★
★
★
★
★
It was interesting to know more about API and how its implemented in mobile apps. The assignment feels tough. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|