Mobile Application Development (Winter 2022) Course Outline

From Soma-notes

Course Information

  • Course Number: COMP 1601A
  • Term: Winter 2022
  • Title: Introduction to Mobile Application Development
  • Institution: Carleton University, School of Computer Science
  • Instructor: Anil Somayaji (anilsomayaji at cunet.carleton.ca): Mon. 14:00-15:00 via Zoom
  • Teaching Assistants:
    • Zaqing Zhu (yaqingzhu at cmail.carleton.ca): Tuesdays 15:30-17:30 via Teams
  • Class: Wed. and Fri. 11:35-13:25 (Jan. 12 to Apr. 8) via Zoom (see Brightspace for link)
  • Course Website: https://homeostasis.scs.carleton.ca/wiki/index.php/Mobile_Application_Development_(Winter_2022)

Official Course 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. Includes: Experiential Learning Activity

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

Learning Outcomes

Through this course you will learn to create basic iOS and Android applications. You will also learn the architecture of mobile applications and how they differ from conventional desktop and server applications, including differences in execution, persistent storage, I/O, resource management, and security.

Grading

The marking scheme for this course are:

  • 5% for class participation & attendance
  • 20% for tutorials
  • 20% for assignments
  • 25% for the Midterm, March 4th during class
  • 30% for the Final Exam (during the final exam period)

I also calculate grades using alternative marking schemes at the end of the semester, assigning the highest grade for each student from any of the marking schemes. Thus your final grade may be higher than might be suggested by strict following of the above scheme.

Communication and Lectures

The course website page listed above is the canonical source of information on this course. Please refer to it for updates. When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.

Assignments should be submitted via Brightspace, and all your grades will appear there. Course discussions will be on Microsoft Teams. You should have received a code that will let you join the right team via Brightspace when you log in using your MyCarletonOne credentials.

Class will take place via Zoom. Connection information will be posted to cuLearn and Teams. The class participation grade is based on interactions during class, such as questions asked and participation in online polls. You do not need to participate in every class to get full marks for this; the grade is based on the quality and quantity of your interactions.

Collaboration

Collaboration on all work is allowed except for the midterm and final. Collaboration, however, should be clearly acknowledged. See below for further details.

The midterm and final exams will be open book, open note, open Internet, because they will not be actively proctored. Those outside resources will not be of much use, however, if you have not prepared by completing the tutorials and assignments. Your answers should be your own and you are not allowed to collaborate during the exams.

Random and selected exams will be chosen for 10-15 minute interviews. You may also volunteer to be interviewed. These interviews are to verify grading quality and to make sure that the work is your own. The Dean will be contacted if during an interview it becomes clear that a student is not the sole author of any exam.

For assignments, while you may get help from others and even collaboratively solve technical problems, the code and answers submitted should all be your own work. For example, you may not divide an assignment into parts, give a part to another student or anyone else to solve, and then submit that work as your own. You have to have participated in the creation of every part of your submitted work. An easy way to make sure this happens is never share files regarding coursework or copy and paste answers into email. Instead, meet together (virtually) to work on an assignment and then separate to write up your solutions.

Similarity between submitted assignments and projects that has not been appropriately documented will be treated as plagiarism - the same as copying on a midterm or a final - and will be submitted to the Dean for disciplinary action.

Course Notes/Multimedia

Video from lecture portion of class will be available via the class pages on the main course website within a day after lectures are delivered. These same pages will also contain code and notes given in class.

Do not rely upon the lectures and notes to cover all material related to this class. Mastery of the tutorial material is essential for doing well on the assignments and exams. Outside readings should be used as supplements to help you understand concepts covered in lecture and tutorial.

Required Textbooks

There is no required textbook. Instead, we will make use of a number of online resources that will be linked to in Lectures, Tutorials, and Assignments.

This course focuses much more on reading code rather than writing code. Thus, John Aycock's book, Reading and Modifying Code, is worth reading to better understand how reading code differs from writing code.

Course Software

In this course we will be using Apple's Xcode (v13.2.1) and Android Studio (v2020.3.1.26) for development. You will need access to a machine running MacOS (Big Sur or Mojave) as Xcode is only available for such systems. You should be able to complete this course by renting time on remote Macintosh systems.

While we will discuss how to deploy apps to devices, you do not need devices running iOS or Android to complete this course (simulators will be sufficient).

Undergraduate Academic Advisor

The Undergraduate Advisor for the School of Computer Science is available in Room 5302C HP; or by email at scs.ug.advisor@cunet.carleton.ca. The undergraduate advisors can assist with information about prerequisites and preclusions, course substitutions/equivalencies, understanding your academic audit and the remaining requirements for graduation. The undergraduate advisors will also refer students to appropriate resources such as the Science Student Success Centre, Learning Support Services and Writing Tutorial Services.

University Policies & Resources

For information about Carleton's academic year, including registration and withdrawal dates, see Carleton's The Academic Year.

Pregnancy, Religious, or other Obligation

For pregnancy, religious, or other equity-related obligations please contact your instructor with 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 Equity Services.

Academic Accommodations for Students with Disabilities

Academic Accommodations for Students with Disabilities If you have a documented disability requiring academic accommodations in this course, please contact the Paul Menton Centre for Students with Disabilities (PMC) at 613-520-6608 or pmc@carleton.ca for a formal evaluation or contact your PMC coordinator to send your instructor your Letter of Accommodation at the beginning of the term. You must also contact the PMC no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with your instructor as soon as possible to ensure accommodation arrangements are made. For more details, visit the Paul Menton Centre website.

Survivors of Sexual Violence

As a community, Carleton University is committed to maintaining a positive learning, working and living environment where sexual violence will not be tolerated, and is survivors are supported through academic accommodations as per Carleton's Sexual Violence Policy. For more information about the services available at the university and to obtain information about sexual violence and/or support, visit Sexual Assault Support Services.

Accommodation for Student Activities

Accommodation for Student Activities. Carleton University recognizes the substantial benefits, both to the individual student and for the university, that result from a student participating in activities beyond the classroom experience. Reasonable accommodation must be provided to students who compete or perform at the national or international level. Please contact your instructor with 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, see the policy.

Student Academic Integrity Policy

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. Examples of punishable offences include: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found here.

Plagiarism

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. Standard pentaly guidelines can be found here.

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 see above for the specific collaboration policy for this course.