Logo       COMP 1601 A Winter 2018

COMP 1601 Introduction to Mobile Application Development


Lectures/Tutorials Tue,Thu 1:00-3:00 Canal Building room 2202

-same as lectures

Instructor Louis Nel
TA's see TA's, Office Hours section

Calendar Description:

Introduction to developing mobile applications using the Mac OS X platform. Topics include: the Objective-C programming language; development tools; framework API's; and the Quartz graphic system. Extensive practical experience with development for Apple mobile devices such as the iPhone.

Prerequisite(s): one of COMP 1405, COMP 1005, SYSC 1005, ECOR 1606.

Lecture/lab four hours a week.

Course Description:

Despite the current (out of date) calendar description, this course is 50/50 Android and IOS development. The course covers the introductory principles involved in the design and implementation of mobile applications typically on the Android platform (Java) and IOS platform (Swift). An important part of the course is getting comfortable with the primary programming languages Java (android) and Swift (ios) and the development environments in which they are used (Android Studio, XCode). You will also gain experience with the application frameworks and API's of Android and IOS applications. You will need this knowledge for the follow-on mobile development courses.


  • Java and Swift programming languages
  • Android Studio, XCode development environments
  • Object-Oriented programming
  • Android application architecture and API
  • iOS application architecture and API
  • XML and JSON data representation
  • User interface elements


This course will be taught as a lab style course where there will be short lecture introductions followed by lab exercises during each scheduled lecture time. Lab exercises will relate to the homework assignments.

This is a "bring your own device" course where students are REQUIRED to come with a (laptop) computer capable of running the course software (typically a Macbook with up-to-date Mac OS (High Sierra).

Android-based exercises will require an up-to-date Android Studio IDE and Java 1.8 JDK (which runs on all platfroms: Windows, Mac, Linux). IOS based exercises will require Apple's XCode IDE and use the Swift programming language. This will require a Mac with latest OS.

Although both environments implement simulators for running apps, and they've gotten better in recent years, you will enjoy things more if you do some testing on a real device (android phone/tablet, iphone/ipad).

Textbook and Notes:

The resources section of the course website will list recommended texts and online resources for various topics. These texts are not mandatory but references will be made to their contents. The recommended books are available in electronic form. We suggest you get the recommended texts if you don't find online resources sufficient.

Online resources will be posted with individual lecture/tutorial material as well. It is expected that the resources will be updated and modified as the course progresses. You are encouraged to contribute to the list of helpful resources.

Course Material Copyright Notice:

We remind you that lectures and course materials, including power point presentations, outlines, code examples, assignments, tutoirals and similar materials, are protected by copyright. The professor is typically the exclusive owner of copyright and intellectual property of the course materials unless otherwise noted. You may take notes and make copies of course materials for your own private (educational) use. You may not and may not allow others to reproduce or distribute lecture notes and course materials publicly for commercial, or other, purposes without my express written consent of the author(s).

About sample code:
We often post sample code on the course web site to accompany lecture content or to use as a starting point for exercises and assignments. Often the sample code is intentionally taken from a recommended text, or online source, so that you can be referred to that source for further explanation. Because of this you need to respect the copyright of those sources as explained below.

You are free to use whatever sample code we post on the course web site as the starting point for your own work intended for submission as course assignments. Assignment submission uploaded to culearn are considered private and not published to the world at large. You may NOT however publish the sample code to the world at large. For example, using sample code from a copyrighted source in a public GITHub repository IS a copyright violation. If you are going to post any code to a public repository like GITHub make sure it is all your own work. GitHub as become a defacto repository used in much software development, however its free accounts do not allow private repositories at this time. Therefore anything placed in a free account is published to the world at large and should NEVER contain content that could represent a copyright violation.


Lectures/tutorials are compulsory and your participation will count for a large part of your mark. There will be weekly programming exercises to be completed and demonstrated in class. You must ensure you demonstrate your work to the TA or Prof. before you leave the session to get credit for your work.


We will be using electronic submission of assignments using culearn. Electronic submission enforces strict deadlines. Only assignments submitted through culearn will be accepted for marking. No assignments will be accepted late or directly by email or in other forms. TA's are instructed not to accept assignments directly.

Teaching Assistants:

Since the TA's will be there at every lecture/tutorial they will not hold other office hours. Some assignments might require demos to the TA's which will be scheduled as needed.

Marking Scheme:

deliverable value comment
Tutorial class exercisers 30%

We will drop the worst 4 marks of the class exercises. (i.e. count about 80% of the exercises)

Your results of the in class excerise must be demonstrated to the TA or Prof. before the end of the lecture section.

Your exercise will be given a mark of 0,1 or 2 as follows.

0 for no show or no progress.
1 mark for some progress during the exercise period.
2 marks for completion or significant progress.

A student who gets a 1 can upgrade their mark by showing the completed exercise at the start of the following class.

Assignments 30%

4 (or possibly 5) assignments equally weighted
All assignments count towards you final mark.

Midterm 10% In class (date TBA). (If your final exam mark is better than the midterm mark, the midterm mark will be replaced by the final exam mark)
Final Exam 30% Formally scheduled exam during exam period


Missed assignments or tests will score 0 unless it is for a medical, or similar, reasons and is accompanied by official medical documentation. You will be excused from an assignment for medical reasons if accompanied by proper documentation. There are no assignment extensions.Documentation must be provided within two weeks of the assignment due date

IMPORTANT: If you wish to appeal a mark (assignment, tutorial, or midterm) you must make the appeal within two weeks of the mark being posted on culearn. After this we will not be obliged to entertain appeals or change marks.

Collaboration is encouraged but cheating, or copying, is not allowed. You may work together and consult but any work you hand in must be your own and judged to be unique. Any two assignments judged to be too similar will both receive a grade of 0, and will be handled as a formal academic offence -see calendar for details.

Course Web Page:

As well as being announced in class, all important information, such as course news, assignments, TA hours, instructor office hours, will be available on the course web page at http://www.scs.carleton.ca/~ldnel/1601winter2018. This course website is password protected. If you are registered in the course you can find your userid/password by logging into your culearn account. It is your responsibility to check this web page frequently for new information and announcements. Paper copies of outlines and assignments will not be provided.


Student Academic Integrity Policy

Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar, Section 14, Page 59.


As defined by Senate, "plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one's own". Such reported offences will be reviewed by the office of the Dean of Science.

Unauthorized Co-operation or Collaboration

Senate policy states that "to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis". Please refer to the course outline statement or the instructor concerning this issue.

Academic Accommodation

You may need special arrangements to meet your academic obligations during the term because of disability, pregnancy or religious obligations. Please review the course outline promptly and write to your instructor concerning any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. It takes time to review and consider each request individually, and to arrange for accommodations where appropriate. Please make sure you respect these timelines particularly for in-class tests, midterms and final exams, as well as any change in due dates for papers. You can visit the Equity Services website to view the policies and to obtain more detailed information on academic accommodation at http://carleton.ca/equity/accommodation

Students with Disabilities Requiring Academic Accommodations Register with the Paul Menton Centre for Students with Disabilities (PMC) for a formal evaluation of disability-related needs. Documented disabilities could include but are not limited to mobility/physical impairments, specific Learning Disabilities (LD), psychiatric/psychological disabilities, sensory disabilities, Attention Deficit Hyperactivity Disorder (ADHD), and chronic medical conditions. Registered PMC students are required to contact the PMC, 613-520-6608, every term to ensure that I receive your Letter of Accommodation, no later than two weeks before the first assignment is due or the first in-class test/midterm requiring accommodations. If you only require accommodations for your formally scheduled exam(s) in this course, please submit your request for accommodations to PMC by the deadlines published on the PMC website: http://www2.carleton.ca/pmc/new-and-current-students/dates-and-deadlines/

Religious Obligation

Write to your instructor concerning any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website http://www.carleton.ca/equity/accommodation/student_guide.htm

Pregnancy Obligation

Write to your instructor concerning any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website http://www.carleton.ca/equity/accommodation/student_guide.htm

Medical Certificate

The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to http://www2.carleton.ca/registrar/forms/