COURSES
KEY INFORMATION
- Prof. Ioannis Pavlidis (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Thu 3-4 pm @ TEAMS
- Fettah Kiran (fkiran[@]uh.edu) Office Hours: Mon 12-01 pm @ TEAMS
- Mert Saritac (mesaritac[@]uh.edu) Office Hours: Wed 12-01 pm @ TEAMS
- 7% Quizzes
- 14% 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 either individually or in pairs. Pairs need to be declared by the end of the second week of classes.
- Thursday, 4:00-7:00 pm @ 315-HBS1 and @ TEAMS
- Mac OS - 14.6.1 and higher
- XCode - 15.4.0 and higher
COURSE OUTLINE
Week 1 - 08/22
- ● Introduction to iOS and Swift
****Reading for the Week****
- ⇒ Overview of iOS
- ⇒ Overview of Xcode
- ⇒ UIKit
- ⇒ SwiftUI
- ⇒ SwiftUI vs. UIKit
- ⇒ A Swift Tour
- ⇒ Swift Playgrounds
- ⇒ https://swiftfiddle.com
Week 2 - 08/29
- ● Xcode, UIKit (text fields, buttons, labels), UIAlertController, SwiftUI
****Reading for the Week****
Week 3 - 09/05
- ● Protocol & Delegation, View Controllers, Segue, Navigation Controllers
****Reading for the Week****
Week 4 - 09/12
- ● Tab Bar Controller, UIStackView, and Auto Layout
****Reading for the Week****
Week 5 - 09/19
- ● In-Class App Development Exam 1
Week 6 - 09/26
- ● App Specification
Week 7 - 10/03
- ● Interacting with Web Services, UITableView, UserDefaults
****Reading for the Week****
Week 8 - 10/10
- ● Location, MapKit, Gesture Recognizer, Local Notifications
****Reading for the Week****
Week 9 - 10/17
- ● In-Class App Development Exam 2
Week 10 - 10/24
- ● Beta App
Week 11 - 10/31
- ● UIImagePicker, Camera, CoreImage - Filters, Apple Watch Programming
****Reading for the Week****
Week 12 - 11/07
- ● ML, Core ML, Models, NLP
****Reading for the Week****
Week 13 - 11/14
- ● In-Class App Development Exam 3
Week 14 - 11/21
- ● Project Presentation and Feedback
Week 15 - 12/05
- ● Production App Submission
WEEKLY GRADES AND STUDENT COMMENTS
Comments from students |
Comments from students |
I feel like we get totally different stuff compared to the practice exams and also teaching in mid exam is just crazy. confused |
The extra time on the next morning is greatly appreciated. :) This exam felt a bit more reasonably scoped than the last (and completable were it not for the ML hangup that halted everybody). |
I would suggest for the future assignments and future exams for this class. To have a detailed description about the question, also, the resources required to solve the problem. Because in three hours, you want to focus more on solving the problem rather than thinking of where is the end point for API. Overall, the exam wasn’t that difficult. But it became time consuming and confusing because the question wasn’t vague. |
I think the exam itself and what it covered wasn't insanely difficult especially if you attend class. I think the issues stem from Xcode itself, and how it functions with Swift and SwiftUI. I think there are many unintuitive errors which can cause roadblocks in the process since the exam itself was fine. |
Description could have been better if it said that we need to run the app on our macbook. |
Api and Model prediction part took very long to get data predicted and output on screen as intended. |
Comments from students |
Comments from students |
Comments from students |
It was a good day.
|
good
|
Great project presentations.
|
Received good comments from professor and TA about the Beta app and changes needed for final app.
|
good
|
Comments and suggestions from professor allowed me to understand what should be changed within our App.
|
Comments from students |
exam was doable in given time.
|
Comments from students |
★
★
★
★
★
Not really a comment about the class, rather an inquiry. Would it be possible to get more than 7 points back for fixing the design of our project app? Perhaps 50% if the proper changes are made? |
Comments from students |
★
★
★
★
★
Hi, I think it would have been nice if we were able to do presentations for our app specification / mockup / prototype before it was due so that we can receive feedback and improve upon it before then. It would also be cool if we have the opportunity to revise and resubmit our app specification based on the given feedback to ensure we are on the right track. Thanks. |
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. I hope to pass, so I can graduate this month, All the TAs were very helpful, I only struggled with the very first exam of the semester because of timing otherwise I am happy with the work load and environment of this class. Thank you for hopefully being my last class at UH it was a great experience to finish my last 4 years. |
★
★
★
★
★
One of the best CS classes at UH! |
★
★
★
★
★
Very interesting class ever. TA’s are really knowledgable 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. Perhaps I'm just bad at googling, but I never found the class website (or much info on the class in general) during my research on this class during registration. I think it would be beneficial for future students if it were easier to find the website. |
★
★
★
★
★
The class was a little weird on teaching UIKit vs SwiftUI. I think in the future you could add more resources for each since sometimes a in class exercise was only done on SwiftUI and other times it was only done on UIKit |
★
★
★
★
★
This class is one of the most enjoyable courses I have taken in Computer Science. For an introductory class, I learned a lot about app development and I feel pretty confident in my skills to develop an app all on my own now. |
★
★
★
★
★
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. I wanted to take a moment to express my sincere gratitude for the immense knowledge and insights I gained from these classes. Your teaching method is not only engaging but also deeply informative, and it has significantly enhanced my understanding of these complex subjects. I would also like to extend my thanks to Vitali and Fettah. Their dedication during TA hours, coupled with their thorough and insightful feedback on our coursework, has been incredibly helpful. Their support played a crucial role in my learning experience. Thank you once again for your invaluable instruction and for fostering such a stimulating and supportive learning environment. Your courses have been a highlight of my academic journey, and the lessons learned will undoubtedly aid me in my future endeavors. |
★
★
★
★
★
Thank you for the quality class Professor and TA's! |
★
★
★
★
★
The class was very straight forward, and all the assignments helped us learn how to develop an app. One of the more heavy hands on programming classes, but very much worth it. |
★
★
★
★
★
Very good course |
★
★
★
★
★
This is the highest quality, most practical, and most comprehensive class I've taken throughout my CS undergrad at UH. The professor and TAs were fantastic, and the coursework was full of practical concepts and interesting assignments. A few suggestions (to bring this amazing course from a 9.5/10 to a 10/10): Use GitHub for assignment submissions - even better if feedback from TAs can be structured as a PR review requesting changes, and partial credit given for fixes - this would be great practice for real-world app development. Cover unit testing - this is the only big topic that the curriculum missed, and would be an essential skill for any aspiring pro iOS developer. Cover/discuss project management and SDLC - in my opinion this (and Unit Testing) is far more relevant for app development than the Figma/Sketch design, user flow diagrams, and wireframing that was emphasized in the class project. UX and design is important and interesting, but I think testing and SDLC should have been prioritized over design, since these are more relevant topics for developers - and the term project would have been a perfect opportunity to incorporate those topics into the curriculum. Even without my suggestions implemented, this has been a FANTASTIC class that I would recommend to anyone, even those not interested in a career in iOS development. This class inspired me (a React web developer) to start applying to iOS jobs, because the class and app development experience was so enjoyable. Thanks to the professor and TAs for making this class such a good experience, I'm going to miss it! |
KEY INFORMATION
- Prof. Ioannis Pavlidis (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Thu 3-4 pm @ TEAMS
- Vitalii Zhukov (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Mon 12-1pm @ TEAMS
- Fettah Kiran (fkiran[@]uh.edu) Office Hours: Fri 11-12pm @ TEAMS
- 7% Quizzes
- 14% 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 either individually or in pairs. Pairs need to be declared by the end of the second week of classes.
- Thursday, 4:00-7:00 pm @ 315-HBS1 and @ TEAMS
- Mac OS - 13.3.1 and higher
- XCode - 14.3.1 and higher
COURSE OUTLINE
Week 1 - 08/24
●
Introduction to iOS and
Swift
****Reading for the Week****
⇒ Story Board vs. Swift UI Interface
⇒ Tracking code changes in a source control repository
Week 2 - 08/31
●
XCode,
UIKit (text fields, buttons, labels), UIAlertController, App Design
****Reading for the Week****
⇒ UIKit
Week 3 - 09/07
●
Protocol &
Delegation, View Controllers, Segue, Navigation Controllers
****Reading for the Week****
Week 4 - 09/14
●
Tab Bar Controller, UIStackView, and Auto Layout
****Reading for the Week****
⇒ iPhone screen resolutions and sizes
Week 5 - 09/21
●
In-Class App Development
Exam 1
Week 6 - 09/28
●
Interacting with Web
Services, UITableView, UserDefaults
****Reading for the Week****
Week 7 - 10/05
●
App
Specification
Week 8 - 10/12
●
Location, MapKit, Gesture Recognizer, Local Notifications
****Reading for the Week****
⇒ MapKit
⇒
App Design,
Icon Store,
Unsplash
Week 9 - 10/19
●
In-Class App
Development Exam 2
Week 10 - 10/26
●
imagepicker,
Camera, CoreImage - Filters, Apple Watch Programming
(optional)
****Reading for the Week****
Week 11 - 11/02
●
Beta App
Week 12 - 11/09
●
ML, Core ML, Models,
NLP
****Reading for the Week****
⇒
Core ML
Week 13 - 11/16
●
In-Class App
Development Exam 3
Week 14 - 11/30
●
Production
App
WEEKLY GRADES AND STUDENT COMMENTS
Comments from students |
★
★
★
★
★
MacinCloud would not allow me to run the simulator. I spent well over thirty minuets trying to get the simulator to run. I am not sure about what was submitted because of this and I know this will effect my grade. The amount of work in preparing for these exams are not shown due to the inconsistent behavior of MacinCloud. I do not believe MacinCloud should be recommended to students for Exams. |
★
★
★
★
★
Great exam, the topic was interesting (NLP, watchOS) and the difficulty was fair, since we were given multiple opportunities to practice on similar assignments (hw8 and last year's exam). In my opinion this was the best exam this semester! |
★
★
★
★
★
I think this was a good exam, but I would think that it might be better if next year you have a homework assignment dealing with applying image filters. |
★
★
★
★
★
The exam is good , cover a lot of useful technicals skill. |
Comments from students |
★
★
★
★
★
I appreciate the context Dr. Pavlidis gave on SwiftUI vs UIKit during the lecture. The main homework requirements were straightforward thanks to the similarity of the in-class assignment, but the bonuses were a huge step up in difficulty - there were some fun ideas there, but seemed too demanding to implement during this busy time of the semester. |
★
★
★
★
★
Interesting topics this week |
★
★
★
★
★
I disliked this week's class and in-class exercise. I think we wasted too much time on trivial stuff such as formatting. We should focussed more on syncService rather than keep that as an afterthought. |
Comments from students |
Fun class as always, these interactive presentations have been my favorite part of this class so far. Seeing what other students came up with and how their app design progresses is really interesting. It's also a practical opportunity for students to get live questions and critique, similar to what they might get in a pair programming session or QA / code review at an actual job.
|
Good week, and it seems like everyone did a much better job this week on the beta app
|
It was great seeing al the other apps. the class was overall a good presentation day.
|
Comments from students |
★
★
★
★
★
Fun topic and assignment, watchOS is pretty cool. |
★
★
★
★
★
I did not like this week's in-class app. I think we should've focused more on the development of the app for the Apple Watch instead of the iPhone app. Regardless, would appreciate if we could use SwiftUI more. |
Comments from students |
The difficulty level of this exam was good.
|
The sample really helped with the easier parts of this assignment while the filtering part was new but not impossible to tackle. I think it was a perfectly balanced test
|
The exam was fair especially since a review was given. I personally did not do the review and found the exam a little challenging.
|
I think that the exams would benefit from the colors and font sizes and such being all posted on the .pdf. This one was very nice because it had the font sizes posted I might be overestimating the importance of these things, it's possible they don't impact the grades really. But if they do impact the grade, I think it would be nice if the colors and such were provided as RGB or hex codes or whatever on the pdf. Otherwise it was a good exam, I thought it was fun and suited the amount of time we had.
|
Perfect difficulty! Manageable Within the given timeframe. Bonus dragged out the exam to the last second. exam two practice was very helpful and help keep the exam doable
|
It's an interesting exam
|
Much better!
|
Not too hard nor easy. Good
|
Much easier than the last exam.
|
This exam was much more manageable than the previous one. There was a lot of overlap with the homework assignments and the sample exam (thank you for providing this). I have come to dislike working with maps in iOS, since there are so many different ways to implement similar (but not quite the same) functionality (ex. MapPin, MapMarker, MapAnnotation, and MKPointAnnotation). But, maps are still an important concept, and I'm glad they were covered in-class. Overall, good exam and practical topics.
|
This exam was a lot more straightforward compared to the last exam. I would say it's on the easier side but it does test us on all the topics we have covered so far.
|
Not too easy, and not too hard. Bonus was a bit tricky, but that's just because I couldn't find permissions
|
Comments from students |
★
★
★
★
★
I think this week's exercise should have been done in SwiftUI. Regardless, the code should be provided in both, SwiftUI and UIKit. Would also appreciate if there could an explanation of the code in the weekly exercises. |
★
★
★
★
★
Considering most of the class uses swiftUI, a mapkit example in swiftUI would be nice. I'm really struggling on the homework because the apple documentation isn't very helpful for mapkit. Macincloud is also not updated to the most recent version of xcode so that is causing issues with the Map() function. Thank you guys! |
★
★
★
★
★
Everything is so far good, been a learning experience, just hope the exam I’ll be able to finish on time. |
★
★
★
★
★
An version of the exercise with swiftui would have been useful |
★
★
★
★
★
Everything was explained pretty well |
★
★
★
★
★
This week's homework was much more diffcult than previous assignments, because MapKit was only covered in UIKit in class. Since most students seem to prefer SwiftUI, I think it would be better to focus on SwiftUI for the in-class programming exercises. Aside from that, lecture and hw were good and topic (MapKit) was practical as usual. |
Comments from students |
Useful feedbacks recieved.
|
None
|
useful feedback
|
Thank you for your helpful feedback!
|
Just would like to know what to study for on the exam. So I’m prepared for it. Messaged TAs as well.
|
session was good
|
I was really impressed with a lot of the presentations, I wasn't expecting so many people to be incorporating APIs and databases into their apps, so I hope mine isn't too simple. The professor gave a lot of good feedback about colors, design, and user flow - I wish we had a refresher on these topics closer to the app specification submission, but I'm glad that we have a chance to get some points back by revising our work. Brainstorming with TAs in the Teams chat was fun as well, I always enjoy how interactive this course is. Looking forward to the Beta app presentations!
|
A rubric of qualified app specification expectations would be helpful. I was a bit surprised at all the critiques during class despite not having many guidelines. In addition, a better example of what was wanted would be more helpful, especially the userflow diagram. Overall, I feel like I am going to have to make a lot of changes in my app simply because I was unaware of expectations. It was definitely a fun learning experience to see the presentations.
|
What is expected of the user flow could have been defined more clearly prior to presentations
|
It was great! Got to see a lot of interesting ideas
|
Comments from students [show / hide] |
★
★
★
★
★
As the exercises get more complicated, I think it would be good if there were videos of the functions of the apps rather than just still images, as it is not always 100% clear what is desired. |
★
★
★
★
★
I'd appreciate it if Vitalii could go a little slower in the app development part of the class. |
★
★
★
★
★
The lecture and hw were great - super practical and important (fetching data)! The hw was very close to the example Vitalii covered in class, so it was pretty easy to complete. |
★
★
★
★
★
good lecture |
★
★
★
★
★
Everything is good till now |
★
★
★
★
★
I appreciated the review of auto layout. I am still struggling with how to make swift UI look good in landscape mode, that is what takes me the most time. |
Comments from students [show / hide] |
Tougher then weekly assignments! Seriously?!
|
I thought it was fair. Assignment 4 & 2 pretty much covered everything that was on the exam.
|
In 3 hours i am not able do all the parts
|
The exam was only difficult because of the time it took to finish everything. I unfortunately ran out of time, I got the main points down but I could’ve improved a lot of the functionality and layouts if I had time. Otherwise, it was alright. Thank you as always.
|
It was challenging but fair, the time limit was a bit restrictive though - I didn't have much time/energy to attempt the bonuses even as a more experienced developer, so I think less experienced students would struggle for time. Aside from that it was good :)
|
it was just a lot of features to implement in a short time slot, especially with the lack of experience we have with the language swift, because this is only the first exam.
|
Need more time
|
I was only able to complete about half of the exam due to the time limit. I feel like I have been keeping up with the class content well and I am a fairly fast programmer in general, so it was a bit defeating. Can this exam be curved?
|
The concept regarding the tic-tac-toe triads were hard to implement without having to hard-code the parameters. The UI portion of the exam was pretty do-able. Personally, I was restricted a little because having turned on my camera on the Teams meeting, my MacBook was pretty much frozen for about 15 to 20 minutes.
|
The amount of things to implement seemed daunting. Didnt allow for time to debug any issues which is a typical problem with programing. The time for the exam should start after instructions. This leads to a loss in time on the exam and hinders performance.
|
The amount of time to do most of the requirement is not enough. and logic was fairly difficult for the amount of time we had to implement it.
|
The exam wasn't difficult by itself, but the auto-layout part of the app development takes a lot of time. I'd appreciate if we could have more discussion on auto-layout in the class.
|
A lot more logic than last homeworks and took the most time. The layout of the elements was fine to implement. Really appreciated the font sizes of the buttons and title. Would be better if you gave the color hex codes in the description as well. To be honest, expected something easier than what it was cause we had only 3 hour to do it. Harder than HW for sure which also makes sense since it was an exam - but with only 3 hours to do it makes it even more difficult. Hw definitely helped a lot.
|
I feel like I wasn't tested on the content but how fast I could set up an app. I believe this Exam was harder than any of the homework's we had and we had far less time to do it. There are things I knew how to do but didn't do properly such as passing the data from one view to the other because I felt extremely rushed. I also couldn't figure out why the logic for my Win/Loss boolean wasn't working and spent a good chunk of time on that not realizing that wasting that time was a massive mistake. I'd also like to leave a comment about the homework's, I don't believe that having the homework's assigned on Thursday and due on Tuesday makes much sense. Having only two weekdays to work on them and then turning them in at 4pm on a Tuesday in which we don't even have class to go over them seems counterintuitive. I'd greatly appreciate if the homework's could be from Thursday-Thursday or at the very least due on Tuesday at midnight as I constantly feel stressed from the amount of time I have to work on in consideration with other homework's I need to do over the weekend or simply other plans I have. I wouldn't be shocked if other students feel the same way.
|
I personally need to play around with autolayout more so I don't get caught up in it and waste time.
|
The time is so rush for the exam. If it has more time, it will allow us to make a more complete application.
|
The timing of the test made it difficult, also there was a request to send an alert if the number you inputted had letters but we never learned how to do that so it left me scrambling a bit to find a way to do it. Other than that the test was tough but doable. Although I honestly don't see how someone could have done everything and the bonuses as well unless they're a super genius.
|
hefty but doable
|
I don't know exactly how the example app was designed but having to use a systemImage for the question mark icon made it difficult because the provided images had a border while the systemImage didn't. This meant having to size each one differently instead of just being able to use an image that was designed the same way as the crosses and circles. Also, the provided font size and family for the title didn't seem to match up with the pictures that were provided.
|
The exam was more so tedious then difficult which led to a lot of time being wasted on the smaller things. I think difficulty wise it was slightly too hard. I also with the exam pdf was more descriptive about stuff such as colors and icons used. I REALLY liked the switch to systemImages for some stuff, hope that can be continued. Finally, I just found out through another person in the class that the semester long app specification is due next week on thursday. Was hoping that we could get an extension. A lot of us didn’t even know the due date was coming up. An extension would go a long way here. Thank you!
|
Content was fair and straightforward, auto layout can be a struggle and will eat up your time if you do not move on.
|
My personal experience was that this exam was rather difficult. On top of that, I managed my time poorly and I wasted effort on aspects of the exam that I knew I could not solve. However, that is all due to the effort I have put into this class which admittedly has not been much. I am sure many of my other classmates did pretty well and it is a reflection of their efforts. I can't really say the exam was too difficult or anything along those lines. I imagine in actuality it was just right.
|
I initially expected the exam to be similar in difficulty to our assignments, especially considering the generous three-hour timeframe. However, I found the exam to be quite challenging to complete within this time constraint. I kindly request that you consider adjusting the difficulty level for future exams. Additionally, if possible, it would be greatly appreciated if bonus tasks could be provided to help compensate for the challenging nature of the exam. Thank you for your understanding and consideration.
|
Comments from students [show / hide] |
★
★
★
★
★
So far so good. |
★
★
★
★
★
absolutely love this course! It's a true 5-star gem that offers an incredible opportunity to learn and develop essential skills. The coursework is not only informative but also incredibly engaging, with assignments that leave room for your creativity and imagination to flourish. |
★
★
★
★
★
There's a lot of menu hopping in UIKit, which made it difficult to follow along. The material itself seems more tedious than challenging. |
★
★
★
★
★
I wonder if it might be better if the assignments were assigned thursday and then due on thursday. I feel like the work load might be better this way |
★
★
★
★
★
Great lecture and exercise this week! The HW was a little more complicated than previous weeks, but I enjoyed the challenge. The GoT theme was a fun twist! :D |
Comments from students [show / hide] |
★
★
★
★
★
Please make the quiz auto submit. Some of us tend to wait until last moment to submit and it results in wasted effort when we couldn't have the mental capacity time the clock. |
★
★
★
★
★
Great lecture/HW overall! The switch from SwiftUI (last week) to UIKit (this week) for Vitalii's walkthrough was a bit jarring, since I had to expand upon my SwiftUI-based HW from last week using concepts I learned in UIKit this week. It wasn't too hard to adapt, but I'd prefer if Vitalii's walkthrough had been in SwiftUI again :) |
★
★
★
★
★
Professor's generous refresher on classes and his conceptual explanation of protocols was a great primer for Vitalii's lecture on view controllers. I do not have prior experience protocols or view controllers, but I was able to follow along with some effort. |
★
★
★
★
★
Everything has been great. |
★
★
★
★
★
Everything was good this week. |
★
★
★
★
★
Everything good so far. |
Comments from students [show / hide] |
★
★
★
★
★
The homework is a straightforward continuation of the in-class exercise, the style is effective. But I wish we were given a real UI mockup (Figma, Sketch, etc.) for the homework, rather than screenshots, so we can inspect the font size, color codes, element size, etc. Being given a Figma design file would also be much more reflective of real-world development environments. Aside from that it was good :D |
★
★
★
★
★
Everything's good. |
★
★
★
★
★
Everything is understandable as of right now. |
Comments from students [show / hide] |
★
★
★
★
★
I am excited for what I will learn this semester. |
★
★
★
★
★
The code snippet was being erased a little too fast while I would still digest its use, other than that, great teaching style.. |
★
★
★
★
★
I enjoy the class |
★
★
★
★
★
Looking forward to it! |
★
★
★
★
★
No additional comments, class was straight forward and easy to follow for the first day. |
★
★
★
★
★
Informational but could have discussed more complex concepts, it was a bit slow. It also would have been nice to send out a notice that we need access to MacOS before the first class so we could have followed along from the start. Thanks! |
★
★
★
★
★
glad to see practical coding in class |
★
★
★
★
★
The class was normal for the first class of the semester |
★
★
★
★
★
I could not make it to class due to medical reasons but noticed there is a recording posted. Thank you. |
★
★
★
★
★
Good lecture |
★
★
★
★
★
Thank you so much for a great help to start with XCode. I have been primarily using VSCode. But thanks for your help, the transition is easier. |
★
★
★
★
★
Excited for what's coming |
★
★
★
★
★
As a beginner and new with mac interface, without having the macbook with me, The class seemed a bit difficult. |
★
★
★
★
★
Everything is good |
END OF SEMESTER COMMENTS
★ ★ ★ ★ ★ One of the best structured programming intensive courses taken at UofH. TA's were easy to reach for questions even outside of class hours and in class programming demos were very useful for homeworks and exams. I do wish that the very first specifications for the project and comments over the beta and alpha would have been clearer and more explicit. They caused some confusion over what exactly was wanted, and if our team did not demo the app for some of the deadlines, there was less descriptive comments and/or points for improvements. |
★ ★ ★ ★ ★ Overall very pleasant experience with the class. I feel as if I have learned many applicable skills to carry forward with me in my studies, as well as my career going forward. I am thankful for the professor's and TAs' assistance and time within the course. |
★ ★ ★ ★ ★ Gained a lot through this course. The professor and TA's are so good and friendly and are available and helpful throughout the semester. Will surely recommend other to take this course. Thank you professor, Vitalii and Fettah for this amazing semester. |
★ ★ ★ ★ ★ I appreciated the hard work of both the professor and the TAs in teaching us valuable and marketable knowledge about app development for Apple devices. |
★ ★ ★ ★ ★ The structure of the class in how material was taught helped me to learn a lot and apply it by myself when creatings apps. Way more classes in computer science should be taught like this |
★ ★ ★ ★ ★ Everyone was very helpful and I learned a lot! |
★ ★ ★ ★ ★ The course experience was really good. There were points where exams deviating slightly from the lectures proved to be more difficulty, which made for a fair challenge. It would help for future classes to ensure more essential features are learned in lectures when the reading material does not cover them in detail. Pretty good class |
★ ★ ★ ★ ★ I really enjoyed the style of this course. It felt like we were learning truly important things, as opposed to random theoretical lnowledge that we will end up forgetting immediately. It felt like the closest thing to actual software development that I've taken thus far, and I hope Professor Pavlidis continues to keep this hands on approach in the future. |
★ ★ ★ ★ ★ Well... that was a lot to be learned in a short period of time, every week except for the exams week I wished the classes never ended, they were entertaining, and challenging, the dynamic used to teach was great, I'm pretty sure 95% of the class knows how to build an app by now, the 5% are the ones that dropped if there were any drops, overall great class. The Professor, Vitalii, and Kiran helped us a lot, and I'm very thankful for them, I liked this class so much that I recommend it to some friends. I just wish we had more time to do the exams that was the only downfall, but overall W Class, W professor, W TAs definitely 100/100. |
★ ★ ★ ★ ★ This was an amazing experience. I thoroughly enjoyed this class. The TAs and the professor work very hard to make this course very interesting. I've learnt a great deal and I'm confident in developing something that I design. This felt like a full fledged software development class using important tools such as git for collaboration. Overall, this was the best course I've taken at UH. Thanks Dr. Pavlidis and team! |
KEY INFORMATION
- Prof. Ioannis Pavlidis (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Thu 3-4 pm @ TEAMS
- Vitalii Zhukov (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Mon 12-1pm @ TEAMS
- Fettah Kiran (fkiran[@]uh.edu) Office Hours: Thu 12-1pm @ TEAMS
- 7% Quizzes
- 14% Weekly app assignments
- 45% (3 x 15%) In-class app development exams
- 34% Semester-long app project
- Thursday, 4:00-7:00 pm @ 315-HBS1 and @ TEAMS
- Mac OS - 12.5.1 and higher
- XCode - 13.4.1 and higher
- Specification: 20%, Due 09/29/2022
- 4% Textual Description, 4% User Flow Diagram, 4% Mockup, 4% Wireframe, 4% Prototype
- Beta: 30%, Due 10/27/2022
- 10% robust functionality, 15% user interface, 5% coding excellence
- Final: 50%, Due 12/01/2022
- 30% robust functionality, 15% user interface, 5% coding excellence
-
The project can be done either individually or in pairs. Pairs need to be declared by the end of the second week of classes.
COURSE OUTLINE
-
Course Introduction, Intro to Swift, Playgrounds
- Swift Basics
- Swift Playground
- Swift Online REPL
- Swift 5 Video Tutorials (Watch videos 1-9, 13, and 16-17)
-
XCode, UIKit (text fields, buttons, labels), UIAlertController
-
Protocol & Delegation, View Controllers, Segue, Navigation Controllers
-
Tab bar controller, UIStackView, and Auto Layout
- Auto Layout, UIStackView, UITabBarController
- Stack View Tutorial, Auto Layout Tutorial, Tab Bar Controller Tutorial
- Bonus Material
- In-Class App Development Exam 1
- App Specification
-
Interacting with web services, UITableView, UserDefaults
-
Location, MapKit, Gesture Recognizer, Local Notifications (optional)
- MapKit, MKMapView, CoreLocation, CLLocationManager, UIGestureRecognizer, Local Notification
- Using CoreLocation and MapView, Map Annotations, Reverse Geocoding, Gesture Recognizer, Map with gesture recognizers
- Bonus Material
- In-Class App Development Exam 2
- Beta App
-
Imagepicker, Camera, CoreImage, Filters , Apple Watch
- In-Class App Development Exam 3
- Production App
WEEKLY GRADES AND STUDENT COMMENTS
Comments from students |
This is such an amazing class. It was so much fun, as well. I learnt a lot from Dr. Pavlidis and team. I could see my design improve after every submission. This was my favourite class this semester. I really hope I could take more of Dr. Pavlidis's classes. Vitalii is very helpful and overall the team is very friendly and accomodating. |
I enjoyed the presentations this week and the ones we had throughout the year! Overall the course was fantastic, I learned so much and felt the professor and TAs presented the course in a clear and concise way. I enjoyed the apps we built from the exams to the homeworks, everything was super fun. I also liked having the freedom of choosing an app idea for the project because it allowed me to do something that I am passionate about. I also really appreciated the feedback and the availability for help that was offered. I'm super glad I took this course, at first I was nervous that I wouldn't succeed but with how great the quality of this course was I shocked myself at how well I did in the end. So, thank you a million times over for this wonderful semester! |
Comments from students |
★
★
★
★
★
I love this class. I'm sad it's coming to an end. I wish Dr. Pavlidis and team took more courses. |
★
★
★
★
★
The landscape requirement required for the beta app was not mentioned in the specifications and we were not aware we were supposed to fix it. Please recomsider it as we lost marks for it. |
★
★
★
★
★
Found this class truely interestung and helpful. \nThankyou for your classes. It would have been even better if the app development exams are bit easy. Hoping it for the last one. |
★
★
★
★
★
In the beta app submission, I felt the requirement of the app working in the landscape mode was a bit too much. I feel beta app needs to show the functional part of the app well while the other elements like landscape, all devices, etc can be taken care of in the final app. |
Comments from students [show / hide] |
★
★
★
★
★
I really appreciate very much that the TAs / Vitali pushed for market-relevant skills to be taught this week. I also appreciate him pioneering the data transfer between UIKit and SwiftUI for the week's assignment. Being taught market-relevant skills is extremely critical to the value of the education we recieve at UH, so I thank the team for increasing our value as job-searchers. |
Comments from students [show / hide] |
This was such a knowledgeable session. It was great to know good design and app ideas and understand the bar that peers set. |
Appreciated the effort in making the critiques fun. |
A very good session. The feedback received from the faculty and students are very important in improving and enhancing the application. |
Moving forward, we should avoid doing app demos the week after exams. It affects app quality. WIth how tough exam 2 was, we also were hoping if you were open to grade replacements? i.e: we can replace our lowest exam with our highest one. same logic applies to any part of our project (i.e: swapping specification grade with demo, if demo was higher). |
Comments from students |
The exam got exponentially more difficult as it required to pass data from a view controller to a tab bar controller. Although this method can be done by using "detailed_view_viewControllers!.first", the methods taught in class overrode each other: - the prepare statement does not work as there is no segue between "tab bar" view controllers. - using "viewDidDisappear" makes it so that the back button becomes unusable, as previously mentioned: there is no segue, or specific identifier for the action to do both an "unwind segue" and a regular transition from one tab bar element to another. Covering selectors might have been more resourceful for the class. The theorical difficulty was alright, but these issues made it troublesome to display the data as the screenshots intended. |
Exam contained features that we had never practiced/mentioned during class lectures and weekly app assignments. The weekly apps do tend to be based off of the lectures, so I assumed that the exam would be similar to what we've covered. For instance, we never covered how to add titles to our table view sections, so, during the exam I had to look up how adding titles works, which definitely took a chunk of my time. Also, we never covered different embeded controllers, like a tab bar controller inside a navigation controller. This made it extremely difficult to transfer data between each controllers since we've never had to do this. If it wasn't for the hints that Vitalii provided, this exam would've been impossible to complete in 3 hours. \nIf you all do not want to change the structure for future exams to be similar to the lecture and weekly app assignments, then I'd suggest to provide a review of what would possibly be on the exam. This would help us prepare for things that might show up on the exam that were never covered during class lectures/weekly app assignments. |
It was very tough. It's hard to put together concepts from weeks ago as well. Nevertheless, I really liked the app |
I get that it was meant to be challenging, but it was still pretty difficult. Personally, the most difficult part that I wasn't able to get was applying the background color change to all of the buttons in the ViewController after a user presses one, and having that color change persist when the user is brought away from that page. |
I was used to transferring data one way from one VC to another, but updating the cell after is where I struggled. Definitely tough. Go easy on us with grading! This was hard, haha. |
I'm trully enjoying this class, but the exams are a whole different story, not every mac works great with xcode... but I guess it's useless to even argue because nothing will change, and I don't even see the use for these surveys at this point. |
Comments from students [show / hide] |
★
★
★
★
★
Another successful lecture written in the history books. Really enjoyed today's lecture, it was very well-paced, and the content and exercises were really interesting as well. |
★
★
★
★
★
Different kits in homework were not expanded on in class. Code was straightforward but the different kits and the actual workings of swift could have been expanded on more. Right now we're studying concepts on our own and looking at code in class but since concepts are more in depth and we can easily look at the class's github on our own, it could be better to switch it where we look at code on our own time and expand on the concepts more in class. |
Comments from students [show / hide] |
★
★
★
★
★
Cool and interesting homework assignment, as usual! |
★
★
★
★
★
Would like if he Vitalii explained more the way swift creates threads and the function for accessing the url and parsing through the json |
Comments from students [show / hide] |
I think this was my favorite class so far! It was cool get live peer-reviewed feedback on stuff we actually made. Hands on stuff like this makes me love coding (in the future though, we should set timers or increase # of people per project to 3. So that way we can at least get through half the groups) But thanks. This class is fun, and you are very appreciate. |
Comments from students [show / hide] |
The exam was not hard at all, but we needed more time, the first 30 minutes were spent explaining how the app works which we appreciated but it would be nice if those 30 minutes were given back by extending the exam till at least 7:30, overall it was a good exam, we just needed more time, maybe 4 hours for that app. |
I thought the exam was a fair assesment of the topics covered so far. One minor concern for virtual test takers, however, is that MS Teams slows down xCode significantly, so a lot of time was lost waiting for the simulator and build related issues. |
Personally, I felt the time was not sufficient for landscpae. |
It was a good exam, I applied a lot of the knowledge I learned in class to do it, but I made the mistake of not uploading my latest version solution. But it was still a good exam. thank you. |
This was an amazing test! I thoroughly enjoyed doing it. It was so much fun. Thanks Vitallii!! |
Comments from students [show / hide] |
★
★
★
★
★
Vitalii's lecture wasn't as fast this time. However, sometimes it is extremely difficult to see where the cursor is being pointed at and what is being clicked. Perhaps this has to do with the dark mode appearance in Xcode, or making the cursor larger (or a different color) could help. |
★
★
★
★
★
Great assignment! I'm so excited to get started on it. Makes this class more fun |
★
★
★
★
★
I wish the professor would give more time instead of the due date on Monday since I have a lot of other stuffs to do as well |
Comments from students [show / hide] |
★
★
★
★
★
So far everything is going well, I'm really enjoying the class, and no complaint besides the due date time for the assignments, I wish they were at 11:59 Pm, but I'm also okay with 7pm. |
★
★
★
★
★
informative |
★
★
★
★
★
Really clear instructions for the week 3 assignment. Thank you |
★
★
★
★
★
Lecture was very easy to follow and implement for homework exercise. |
★
★
★
★
★
Pros: ALL questions were answered in class, and both profs and TAs were available outside class to answer individual questions. I really appreciate this. It was also cool to see the class troubleshoot the naming issue in class together. Cons: After setting up the view controllers, it felt like Vitalli moved kinda fast with the coding. I wish we slowed down, but thankfully we have the Teams recording. |
Comments from students [show / hide] |
★
★
★
★
★
I like the teaching style for explaining how simple IOS UI works. |
★
★
★
★
★
None |
★
★
★
★
★
I just wish you guys specified better what to study for the quiz, I was reading everything I saw in the links on the syllabus, but overall great class this week as well. |
Comments from students [show / hide] |
★
★
★
★
★
A little bit too fast on the Swift Crash Course. Otherwise, everything else was good. |
★
★
★
★
★
A lot of concepts were covered at once in a single class. Could've been a bit slow. |
★
★
★
★
★
The presentation and pacing were great. Learning a new language is always exciting. The only issue I had was that the code font was small. |
★
★
★
★
★
it was well organized and good. |
★
★
★
★
★
Very useful coding snippets. |
★
★
★
★
★
The class model seems very interesting. The only issues would be that it's hard to hear from the corner of the roomand that the slides are very simplified (The slides themselves are good but some of them would be hard to understand for people who never used swift-style code. |
★
★
★
★
★
Although the information may have been too much for someone with relatively little experience with Swift, overall the examples taught in class were a great refresher for what's to come later in the semester. |
★
★
★
★
★
So far I have found the class to be very interesting, and the professor and TAs seem to have a lot of knowledge on the topic, so far I am very satisfied. |
★
★
★
★
★
I liked learning about Swift and iOS dev history, and also getting a realtime demo on xCode I do think the macBook distribution couldve been handled better. We got macbooks in hand way too late. With 20 students in class, shouldve had macbooks available to follow along with BEFORE the demo started. |
★
★
★
★
★
I like that the course has a demo part of coding and I hope to keep it going. In addition to this, I would also like the professor to continue to record lectures. |
★
★
★
★
★
maybe slow down a bit |
★
★
★
★
★
Presentation could have been more dynamic and lively and some of the things when making the application could have been smoother since there was times when we were just waiting around while the professor tried doing things, for example when making the logo. |
KEY INFORMATION
- Prof. Ioannis Pavlidis (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Thu 3-4 pm @ TEAMS
- Shaila Zaman (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Mon 3-5pm @ TEAMS
- Vitalii Zhukov (This email address is being protected from spambots. You need JavaScript enabled to view it.) Office Hours: Tue 3-5pm @ TEAMS
- 7% Quizzes
- 14% Weekly app assignments
- 45% (3 x 15%) In-class app development exams
- 34% Semester-long app project
- Thursday, 4:00-7:00 pm @ 315-HBS1 and @ TEAMS
- Mac OS - 11.5.2
- XCode - 12.5.1
- , Github
- Specification: 20%
- novelty-5%, completeness-10%, elegance-5%
- Software: 80%
- 40% robust functionality, 30% user interface, 10% coding excellence
-
The project can be done either individually or in pairs. Pairs need to be declared by the end of the second week of classes.
-
NOTE: 20% of the total project grade will be assessed on 09/30/2021, 30% on 10/28/2021, and 50% on 12/02/2021.
COURSE OUTLINE
-
Course Introduction, Intro to Swift, Playgrounds
- Swift Basics
- Swift Playground
- Swift Online REPL
- Swift 5 Video Tutorials (Watch videos 1-9, 13, and 16-17)
-
XCode, UIKit (text fields, buttons, labels), UIAlertController
-
Protocol & Delegation, View Controllers, Segue, Navigation Controllers
-
Tab bar controller, UIStackView, and Auto Layout
- In-Class App Development Exam 1
- App Specification
-
Interacting with web services, UITableView, UserDefaults
-
Location, MapKit, Gesture Recognizer, Local Notifications (optional)
- In-Class App Development Exam 2
- Beta App
-
Imagepicker, Camera, CoreImage - Filters (optional)
- In-Class App Development Exam 3
- Production App
WEEKLY GRADES AND STUDENT COMMENTS
Comments from students |
★
★
★
★
★
Informative class but not enough tool for me to build very fancy application |
★
★
★
★
★
The class was OK, and I did learn some stuff about IOS |
★
★
★
★
★
Everything is consistence |
★
★
★
★
★
It was a very interesting lecture. It was my first time working with anything ML related but it was simple and straightforward. |
★
★
★
★
★
The exercise wasn't very hard because it was exactly what we went over in class |
★
★
★
★
★
The class is alright. We get to learn about NaturalLanguage and Core ML Models. On the exercise, I added a part where the input text that is inputted is passed into the text to output and then is either tokenized, lemmatized, or receives an analyzed sentiment score. The hard part of the exercise was the constraints because I had to use them to fit the images on the pdf to the best of my ability. |
Comments from students |
★
★
★
★
★
good |
★
★
★
★
&e8e2e2;
Everything is consistence. |
★
★
★
★
★
I learned something |
★
★
★
★
★
Today's class is alright. I learned how to make an app about photos. However, for the quiz, there's the last question said the valid sources of image data for Core Images. I got that question wrong. I wonder if the valid sources are IOSurface, Matrix2D, CIImages, etc. |
Comments from students |
★
★
★
★
★
:( :( :( Please be lenient :( :( :( I just wanna finish my degree |
★
★
★
★
★
speechless |
★
★
★
★
★
Everything is consistent. |
★
★
★
★
★
The introduction of performing segueways with tab bars and having to validate json data made the exam very difficult. Due to the problems and bugs these caused it was easy to become stuck in the exam with no room to progress until it was fixed. |
★
★
★
★
★
The 3 hours was enough time for me to complete the exam. I did not feel rushed throughout the exam. It was appropriately difficult, as someone who did the exercises but did not heavily prepare. |
★
★
★
★
★
the only way to finish this completely is not running into any issues. if you run into any issues and have to troubleshoot something like you would in a job enviornment you dont finish. we either need more time or less work... |
★
★
★
★
★
We face many technical issues in between. Time is always a factor that blocks, So require one more extra hour for exams |
★
★
★
★
★
Please provide much time |
★
★
★
★
★
Only giving 3 hours to complete adds a lot of pressure which causes you to forget things you otherwise would be able to do easily. I spent most of my time having to re-look up how to do basic things because of this. I think having a larger window, like 12 hours, would make these exams feel much smoother and less stressful. Also I had an issue with my tab bar icons not showing up in the simulator which was driving me crazy and I wasn't able to fix it. |
★
★
★
★
★
The in-class programming assignment is alright. It's like exercises 3-5. However, the hard part of the programming assignment is the part where the code checks if the images and prep times exist. |
Comments from students |
★
★
★
★
★
I learned a lot in this lecture. I can utilize what I learned from Exercise 5 to do Exercise 6 although I need to implement the Map View. I hope the exam next week won't be hard |
★
★
★
★
★
Interesting class |
★
★
★
★
★
implementing maps is very useful. Worthwhile course. |
★
★
★
★
★
Very useful topic. I like that we started the in-class demo early and had time to work on it with the leftover time. |
★
★
★
★
★
There could have been more thorough explanations about what is being used and why it was being used. I understand that certain methods, functions, or attributes are used because they work for the particular demo, but it would be nice to know like, "hey, you would use this [other method] if you wanted to do [insert alternative goal]. But because we only want to [insert demo goal], we are using this method." |
★
★
★
★
★
none that I can tell |
★
★
★
★
★
Good exercise explanation! Appreciated the pointing out of where to find function data in the documentation. |
Comments from students |
★
★
★
★
★
all good this week |
★
★
★
★
★
The class in interesting and consistent. |
★
★
★
★
★
Well paced lecture that allowed for demo to be finished before the class ended which made room for further questions or assistance. |
★
★
★
★
★
Today's class is alright. However, the pdf could have a note that says that the project should be in made in XCode 12.5+ or 13+ since XCode received an update 2 weeks ago. Also, we could have seen examples of the UI on iPhone SE, iPhone 11, and iPhone 12 so that we can know how to make proper UI on them besides iPhone 8. |
★
★
★
★
★
The Class is so intresting |
★
★
★
★
★
Can you add some comments to list out the steps while doing the demo app so we can review the code easier and also benefit those who couldn't make it to class? Thank you so much |
★
★
★
★
★
Thank you so much for class today |
Comments from students |
★
★
★
★
★
Please try to increase the time for the test. Time is not sufficient to finish the exam in the prescribed time. Even though all the topics in the test are doable, it requires 2 more hours ie., total 5 five hours for the perfect completion of tasks mentioned in the test. Requesting you to decrease the percentage of inclass test and increase the weightage of weekly exercises and quizzes. |
★
★
★
★
★
There wasn't enough time to complete the assignment... I was in a huge rush so the quality of my code suffered as a result... |
★
★
★
★
★
I spent most of the time for UI and therefore didn't had enough time for completing all the requirements. The assignment has covered all the topics from our classes. |
★
★
★
★
★
The time is not at all sufficient and it was like if we does a single wrong the whole thing gets collapsed.Please try to keep a new assessment by considering the last one as practice assessment.It will help us all to give our best. Thank you |
★
★
★
★
★
Although all the requirements can be met and doable, I feel that the time is not at all sufficient for the questions. Some logics have to be implemented by own and takes time to think. Other features which are already shown requires multiple attempts in adjusting constraints. Overall, I think either the time should have been extended or the difficulty should have been trimmed down. |
★
★
★
★
★
The in-class programming assignment is okay except I find it difficult to finish it in 3 hours given that there are some errors and mistakes to fix that I end up having to fix. I also forget to set the view controllers as well until I found out how to do so. If possible, please give us enough time to work on the future in-class programming assignments so that we have enough time to fix some errors if possible. |
★
★
★
★
★
Everything is consisten. The lecture is enjoyable. |
★
★
★
★
★
I did not like the format of the Examination. Compared to how the class structure is with assignments, the exam is out of place. Giving us 3 hours to take the exam sounds good on paper (for most classes). But not for programming. In the real world, quality programming takes a lot of time. People are given weeks or even months. Although not applicable for exams, atleast give us 24 hours like all the given assignments. Proposal: Give exams 24 hours to finish. Many other COSC classes that give out programming exams made it so students were given 24 hours to do. It just makes sense for this class since the assignments were administered the same way. Also you do not have to sit there staring at us for 3 hours (waste of time). Even after the 3 hour exam, I doubt that TAs started to grade them right away (and would start grading them over the weekend). Based on that, it would make no difference transitioning from a 3 hour marathon to a 24 hour deadline. Please consider that many students did not have enough time to finish the exam - again the assignments gave us 24 hours to finish compared to 3 hours - unrealistic expectations. Thanks |
★
★
★
★
★
I just wish I could have more time to finish it. It would be great if the next in-class programming assignment can be given a day to finish b/c I felt that I could have finished it with extra time. It's hard b/c one mistake could take me 5-10 mins to debug and the time causes me to be overwhelmed and can't process what I need to do in a timely manner. It rushed me and therefore make me make dumb mistakes. So please take into consideration adding more time for us to program. Thanks! |
★
★
★
★
★
I wish I had more time. If you check my submission, I may need about 30 more mins to finish it. Many people have jobs before class like I do, and how are they supposed to finish a tense assignment in a very limited amount of time? Can we somehow increase the time? Thank you so much TA's and professor. |
★
★
★
★
★
I'm using macincloud, which is a little slow and hard to control, so I consider myself somewhat handicapped during a timed project. Besides that, I wasn't expecting to have to come up with a matching algorithm for a class about iOS app development. I lost about 30 minutes trying to figure out the logic for that. I think I would have been able to complete everything including the extra credit if it weren't for those two things. |
★
★
★
★
★
I feel as if the exam difficulty was appropriate and the time alloted was sufficient to complete the exam. I didn't do as much practice/reviewing as a I should have, but doing the exercises each week still gave me the skill/review material to complete the exam. |
★
★
★
★
★
The constraints were the hardest to do; everything else was straightforward. |
★
★
★
★
★
I feel the time provided is not sufficient to make a fully realized and working app such as the previous assignments. I do not believe our capability to create an app in 3 hours is a proper test of what we've learned. |
★
★
★
★
★
The difficulty was comparable to the homework's, but the time limit was not. I feel like some extra time might make it better for a lot of students. For me, an extra hour would've been the perfect amount of time. |
★
★
★
★
★
The assignment itself wasn't hard, but the time to code an app didn't make much sense. I think 3 hours timeframe was for those people with proficient knowledge of Swift as well as Xcode plus an "error-free" environment. It was irritating seeing errors pop up here and there which I had to stop to get errors fixed in order to continue. For the next exam, could you please make it longer? |
★
★
★
★
★
The main reason this exam was difficult was due to the time constraint. It would be better to have an exam which last 24hours since that is closer to real world application. As someone who has interned for a financial services company, no one is ever asked to create a functioning app in just 3 hours. Making next exam last 24 hours would represent a more accurate practical experience that could be applied in the workforce. |
Comments from students |
★
★
★
★
★
It is hard to follow along with the TA as she goes through the demo pretty fast. |
★
★
★
★
★
Awesome class! |
★
★
★
★
★
Everything was good |
★
★
★
★
★
Appreciated the lesson. Love the examples and justifications behind the color language. As for the exercise. Good pace for the most part, appreciate going over particular explanations of functions and whatnot. However, please slow down. Mostly consistent, but for instance... almost no one had the assets folder open. No one knew what you did to fix the right stack top constraint. You clicked around, fixed it, didn't say a single word, and just moved on. Please. Keeping up is enough of a chore |
★
★
★
★
★
Very interesting subject and useful classes by professor and the TAs. Please give the exam easy. |
★
★
★
★
★
The information was useful but a bit confusing to understand during the Demo. Seemed to be rushed during the end due to time. |
★
★
★
★
★
Please slightly slow down during TA explanation, mainly during the explanation when inputting text in boxes as it can be hard to follow. |
★
★
★
★
★
I like the consistent of the lessons. The class' pace is good. |
★
★
★
★
★
Please Increase the Homework Duration |
★
★
★
★
★
The lecture and exercise are good and useful. But, the hard part of the exercise is optimizing layout. |
★
★
★
★
★
the assignment was pretty confusing. The demo the TA did didn't work with other iphone versions. |
Comments from students |
★
★
★
★
★
The in class lecture and demos are very helpful to completing the exercises and learning how to use xcode. A lot of what we have to do would be confusing without them. |
★
★
★
★
★
Thanks for giving much hands-on experience But please provide much time for assignments atleast 2 days so that we can work on that |
★
★
★
★
★
I could see the screen much better this time around and it was easier to follow. However, I still got lost somewhere because of the speed the TA was going. Unfortunately, slowing down the lab example even more would just cause the class to go over the alloted class time. I was able to catch up using the recording. The exercise wasn't difficult but still time-consuming if I have to rewatch the lecture. This is unrelated to the lesson but it would be really helpful if the deadline is extended to 9 pm the following day instead of 7pm. After class, I get home around 8:30 and have to prepare and sleep early for work the next day. I don't get out of work until 5 pm and taking into account travel time around 6pm. In cases like week3 exercise where the lab example lasted the entire class time, we didn't have in-class time to work on the exercise, the window to complete the exercise was tight. Having the due time be at 8 or 9pm would help. 1 or 2 extra hours doesn't sound too outrageous. |
★
★
★
★
★
Everything is consistent. |
★
★
★
★
★
Slow down just a tad with the exercise, please. Read the room - multiple people frustrated, unable to follow at speed, several giving up. Happening to have a previous exercise project open and "just copy"ing the code over is unlikely as well. 100% energy devoted to barely keeping pace, 0% to actually digesting the information. However, quite well structured! Covered everything needed quite well, once I looked over it more slowly. Thanks! |
★
★
★
★
★
I thought week 3 was much better. The tutorials and demo were much easier to follow |
★
★
★
★
★
The speed of this class much better and easier to follow! |
★
★
★
★
★
The weekly exercises are helpful to understand the topics. Wish I had some more time to submit the last exercise. It was not difficult but more time taking to complete. |
★
★
★
★
★
For Shaila's demo, please do a recap of all the previous steps after every 10 min of instructions so that we can follow Shaila and not get left behind if we have an issue or bug. Also try to leave all the questions at the end of the demo, or answer them quickly instead of helping 1 student debug while the rest of the class waits. Frequently pausing during the demo should give us enough time to figure out our bugs ourselves as to minimize program bugs or issues. This will in turn reduce the number of times Shaila has to pause to help out one student. I am in this class' Discord and this is what I think should happen taken from personal experience and live discussions with other students during previous class sessions. |
★
★
★
★
★
I chose not to attend the TA's example and simply completed the assignment afterwards while following the recording. This is a much more effective way for me to learn since I can fastforward the video to get through it faster and rewind whenever I miss something. |
★
★
★
★
★
need more complexity in the building app section |
★
★
★
★
★
It is easy to lose my place or fall behind during the lecture. This does not help the fact that we only have 24 hours to complete the assignment. At the moment it is manageable but it could become very stressful with harder lectures. |
★
★
★
★
★
Class went smoothly. I still had trouble following along during lecture. But thanks to the lecture recording I was still successfully able to learn the material. |
★
★
★
★
★
I feel like the professors pace was much easier to follow this time. However the TAs pace seemed much faster and I had a harder time following her.. |
★
★
★
★
★
The class is helpful, but it admittedly took much longer than necessary to demonstrate and explain to us the demo and its code. So much so that we did not have any time to actually begin the excercise that we had been given during the third hour of class as we normally should have. It would be preferable for things to be accelerated such that we can have at least half an hour at the end of class to work on the assignment. |
★
★
★
★
★
Based on the difficulty of the weekly exercises, it would be great to have more time to finish them. At least until 11:59pm on Friday or better if it's due on Sunday at 11:59pm |
★
★
★
★
★
The class and exercise are alright and interesting. Also, the tutorial is lengthy but helpful. But, we could have some time after the tutorial to work on the exercises. |
Comments from students |
★
★
★
★
★
Great class! |
★
★
★
★
★
Professor was moving too fast to follow. Shaila went at a good pace (a little slow due to technical issues) and helped explained what many of the xcode buttons did. I felt a lot more confident after following along with Shaila. |
★
★
★
★
★
The class was very interesting however it was easy to fall behind or lose my place in what was being discussed |
★
★
★
★
★
I will suggest going slower in the demos and explaining the processes of the code and what the code does. |
★
★
★
★
★
Struggle to follow with Professor during coding examples. |
★
★
★
★
★
It is very hard to follow a live tutorial. I think it would be better if the tutorial/examples were pre recorded and the excersizes were posted at the beginning of class. That way once students watch the initial live lecture, we can move on to the tutorial and exercise while being able to ask questions in class if we need to. |
★
★
★
★
★
The lesson was easy to follow and the walk through was helpful for the follow-up assignment. |
★
★
★
★
★
I have to work at my internship on Fridays. So I think that I will find it be difficult to turn in the exercises the next day. I hope the future exersises will not be hard. If not, I would like to move the turn in day to be Saturday. |
★
★
★
★
★
It was real informative, I was a little confused after reading the material but the ta's presentation helped me out a lot! |
★
★
★
★
★
for questions 3, there where multiple answers since the exercise used Sets and printing out Sets results in randomly indexed arrays. so running the program more than once outputs an array that is ordered randomly. please consider marking this correct. |
★
★
★
★
★
Pacing is inconsistent. During lecture too much time is spent on easier steps while more difficult to follow parts of the exercise are sped through making it difficult to follow at times. |
★
★
★
★
★
TA example goes a bit too fast and it's hard to follow at times. Also, the font is very small on her editor. Hard to see on the projector in F2F class. |
★
★
★
★
★
The class was good but should have detailly explained all the functions. |
★
★
★
★
★
The first quiz is fair and alright but question 3 seems to have more than one correct answer or there seems to be a randomized correct answer. Please make the future quizzes have questions with no randomized correct answers. |
★
★
★
★
★
It's really hard to read code from the screen. If there are ways we could turn monitors in the lab, that would be great. appreciate all the hard works TA's doing |
★
★
★
★
★
The TAs segment is just fine. THe professor's segment was too fast. Will have to look back at the lecture to figure out everything at my own pace. I also noticed you guys did not go over constraints and alignment which are very important parts of storyboard |
★
★
★
★
★
It would be better if we could follow the instructions on our own and create the exercise by reading the directions. Once we have a finished app or project then we should watch the guided project to remove any confusion or bugs. |
★
★
★
★
★
can the professor slow down during his lecture, i can't follow him while trying it myself. |
★
★
★
★
★
It was fun. Since the mouse pointer is really small, it would be helpful if you could say where you're hovering your mouse before clicking. |
★
★
★
★
★
Quiz there was an error on Question 3. |
★
★
★
★
★
Class is Intresting |
★
★
★
★
★
It's hard to follow along in class with how quick the demos are built. Many of us got lost and were unable to keep up. |
★
★
★
★
★
great lecture and class. Thank you TA and professor |
★
★
★
★
★
IOS app development is exciting and learning the app developemnt for first time which is very useful. Thank you for the very good support to the professor and the TAs. |
★
★
★
★
★
Overall it was good, though it did feel pretty fast at times. On a side note, something I forgot to ask in class: I'm still not exactly sure why [1,2,9] was an incorrect answer for question 3 on this first quiz? |
★
★
★
★
★
nothing to complain so far |
★
★
★
★
★
so good so far |
★
★
★
★
★
I lost interest and focus when the TA started. The issue is that it seemed like (especially for the first 45min) everything the TA said and was doing was a repeat of what the professor had just done. Also, the quiz asked a question about outlet/action and then it was covered in class AFTER we were quizzed on it. I would imagine that a topic should be taught to students before it shows up on a quiz. |
★
★
★
★
★
Professor reviews material quite fast while TA is pretty slow. |
TAs are very helpful.