Mobile App Development for iOS
Notes Topics Weekly Resources Graded work Professor Code examplesWelcome to DPS923 and MAP523, a cross-listed course in the School of SDDS. This post has information that helps you get started in the course.
In this course, you will learn to create native iOS applications with entry-level functionality, which can be deployed to devices that run iOS (including iPhone and iPad).
Through this process, you will learn foundational concepts, skills, and technologies that will enable you to create high-quality intermediate- and advanced-level iOS applications in the future. These foundations will include:
Coming into the course, you must have experience and success programming object-oriented software in C++. This means that you must have passed BTP305 in the BSD program, or OOP345 in the CPA program.
It will also be helpful to have passed the level 3 and/or 4 web programming courses, because those courses teach you a little about software design patterns, and object-based persistence (database) schemes. Knowing these concepts before you begin this course will be helpful.
In addition to the above, you need the ability to learn quickly and effectively. You will be expected to learn (through watching, listening, reading, doing, and helping others) a significant amount of material. This learning will be done incrementally, so you must keep involved during the course to be successful.
Learn how to use this course web site. It has general information, and course-specific information.
Course work is done on a Mac.
If you are not prepared to use a Mac, then drop the course.
The School of SDDS has a Mac computer-lab, in A2534. The room availability during the week is constrained, and we will work out a protocol that will enable you to use the room during other classes.
It will be helpful - but not required - for you to have your own iOS device (iPhone, iPad). The School of SDDS has a number of iPhone and iPad devices as well, and you can borrow one of those, at no cost (as long as you return it empty and in good working condition), during the course’s lifetime.
If you want to do course work on your own personal computer, it must be a Mac.
It must run a modern and current version of macOS (High Sierra, version 10.13 or later). In addition, the Xcode developer tool must be installed. (The computer-lab Macs and your professor will be using Xcode version 10.) If you have a Mac, both are available at no cost.
Please be aware of the following:
You are NOT required to use your own personal computer for DPS923 + MAP523 course work.
The College has many correctly-configured systems, ready to be used. You can save your work in the cloud, or on a USB flash drive.
If you have problems or difficulties using your own personal computer for course work, your professor will not be able to provide technical support. Maybe the student help desk (in the library) can help. In a problem scenario, you are still expected to complete your work on time. A problematic personal computer cannot be used as an excuse for delays in completing the course work.
Work habits if you do not have a Mac
Can you succeed in this course if you do not have your own Mac?
Yes. Just plan to do your weekly work on campus, during the time that the A2534 computer-lab room or the open lab is open/available.
Every class/session will have notes posted on this web site.
All notes will be linked from the “notes home page”.
Your professor plan to post the notes at least two days before the class/session begins. Before you come into a class, you are expected to read and process the topics covered in the notes.
The format and style of the notes pages will vary. Most often, they will be terse, with headings and keywords that are intended to guide the student through the topics. At other times, they will be more lengthy, with narrative that explains and supports the topics. Expect a full range of formats and styles between these extremes.
Class/sessions are important. This is not a distance education (online) course. The notes do not attempt to capture everything that must be communicated in the process of learning a topic.
Before a Thursday class, we expect you to prepare for the class. This means:
In other words, do not come into the classroom expecting somehow to soak up knowledge like a sponge. You need to prepare before class, so that you understand the topics and their context.
In the Thursday class, we expect you to be an engaged and actively-learning participant. This means:
Before the Monday class, we expect you to prepare for the class. This means:
In the Monday computer-lab-room class, we expect you to be an engaged and actively-learning participant. This means:
Also, during some Monday classes, there will be a test. The questions are based on the new topics that week, and on topics recently covered in the past.
Regarding the workload, it will simply not be possible to confine this course’s learning experience to the scheduled four periods per week. We expect you to spend some of the in-class time working on the assignments, but you must spend time out-of-class to complete the work.
That being said, you will encounter problems and delays. Please follow a general rule: If you cannot solve the problem within 20 to 30 minutes, then stop and set it aside. Seek help from your professor, or from a classmate who knows the solution to the problem. Do not thrash. Do not attempt to wrestle the problem to the ground. Others will not think any less of you when you ask for help. You’re here to learn, so take advantage of the course’s resources and delivery to help you learn.