DPS923 & MAP523

Mobile App Development for iOS

Notes Topics Weekly Resources Graded work Professor Code examples


Welcome to DPS923 and MAP523, a cross-listed course in the School of ICT. This post has information that helps you get started in the course.

Course introduction

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 about model-view-controller, 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.

How can you get started?

Learn how to use this course web site. It has general information, and course-specific information.

Course work is done on a Mac, and deployed to an iOS device

Course work is done on a Mac.

If you are not prepared to use a Mac, then drop the course.

The School of ICT has a Mac computer-lab, in T3078. The room has reasonable availability during the week (especially on Tuesdays), so there’s plenty of time to do your weekly assignment work.

The College has hundreds of Macs elsewhere, located in computer-lab rooms, and in the library. However, not all of them will be equipped with the software we need to do course work. Nonetheless, you can use those Macs to improve your macOS and Unix skills.

It will be helpful – but not required – for you to have your own iOS device (iPhone, iPad). The School of ICT 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.

Using your own personal computer

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 (Sierra, version 10.12 or later). In addition, the Xcode developer tool must be installed. 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 T3078 computer-lab room is open/available.

How to use these course notes

Every class/session will have notes posted on this web site.

All notes will be linked from the “notes home page”.

We will follow the chapter sequence in the course textbook (iOS Apprentice v6.0) closely, and plan to cover most of it during the course.

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.

What do we expect from you?

Before a Monday 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.

Also, at the beginning of some Monday classes, beginning in a few weeks, there will be a test at the beginning of the timeslot. The questions are based on the new topics this week, and on topics recently covered in the past.

In the Monday class, we expect you to be an engaged and actively-learning participant. This means:

Before the Wednesday computer-lab-room class, we expect you to prepare for the class. This means:

In the Wednesday computer-lab-room class, we expect you to be an engaged and actively-learning participant. This means:

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.