CSc 317 - Mobile Application Programming

University of Arizona, Fall 2020

Course Description

Students will learn how to develop applications for mobile devices. The course will cover the necessary programming language(s), development environment, and a number of platform-specific APIs commonly used in mobile applications such as maps, location services, notifications, camera, and local storage. Other mobile-specific software development topics will be considered such as programming with limited computational and battery resources, client/server architecture, and cloud synchronization.

Location and Time

This class is scheduled M/W/F in Shantz room Spch & Hearing Sci, Rm 205 10-10:50am. However, the class will act as a live-online course for at least some, if not all, of the duration of the course. During these times, the course will meet live online via either zoom or discord. The other aspects of the course (grade breakdown, homeworks, quizzes, etc) will remain the same.

Prerequisites & Co-Requisites

CSc 210, or equivalent prior software development experience. Speak with the instructor or a computer science academic advisor to determine if your background will suffice.

Instructor & Teaching Staff

There will also be one or more TAs. See the class website for a full list.

Course Format and Teaching Methods

The course will meet for three 50 minute time slots per week. The in-class/live-online experience will consist of a combination of lecture, programming demonstrations, and activities. This course will use active learning, peer-teaching (if possible), and flipped-classroom teaching techniques.

By active learning, I mean that class time won’t be just 50 minutes of me talking. Instead, class meetings will include a number of in-class activities (ICAs) for you to work on individually and/or in a group. Thus, you can spend some time “actively” learn, rather than “passively” listen to the instructor.

By peer-teaching, I mean that you will have opportunities to learn from your classmates, and vice-versa. In many of the in-class activities, you will be able to work on groups and help each-other when necessary.

By flipped-classroom, I mean that you will often be assigned reading or other material to complete before attending each class meeting time. By doing this, you will come to class with (at least some) preparation. This will hopefully result in more class time allocated towards active learning!

Class Meeting Times

While the course is online, we will have online meetings as the designated course times via zoom or discord. If an when we are able to move to in-person meeting, we will meet in the classroom and stream the class online. Attendance is recommended, but not required.

Course Objectives & Learning Outcomes

A successful CSc 317 student will be able to:

Coursework and Grading Policies

The breakdown of grades in this course is as follows:

There will be a weekly quiz to be taken via gradescope. These quizzes will make up 10% of the student grade. The quizzes may cover topic(s) from a reading, class, or PAs. If you miss more than 2 quizzes, your final course grade will be docked by 10%.

There will be approximately 8-10 programming assignments throughout the course, worth 35% of the grade. Many, or perhaps all, will be individual projects.

There will be three exams throughout the course. The first two will be worth 10%, and the final 15%, for a total of 35%. These exams may cover material from class, the programming assignments, the final project, and the readings. Exams will be given in an online modality.

The final project will be worth 20% of the course grade. This will be a large-scale project requiring students to construct a mobile application, from idea to final product. Students will be expected to work on these in groups of 2-3 students, though exceptions may be made if a student has a strong desire to work on a project individually. Groups should be approved by the instructor.

The instructor and teaching staff will do their best to have grades back to students within 1 week. This includes, but is not limited to, grades for exams, projects, programming assignments, attendance, and quizzes. Once a grade has been entered for a particular item on the digital gradebook, students have at most 5 days to dispute the grade. This includes disputes related to excuses such as sickness, personal matters, dean’s excuses, etc. If 5 days pass and there has not been such a request, the grade is final.

The correspondence between percentage grade and numeric grade is as follows:

Late Days

In this class, you are given 3 late days for the semester. What this means is that you are allowed to submit up to three assignments within 24 hours after the due date throughout the semester, without penalty. You should not burn through all of these free late days on the first three assignments though! Consider saving some for later in the semester, when you might be in dire need :). You may only use late days for regular PAs. You cannot use them for quizzes, exams, or the final project. Any late work beyond the due date and or an available late day will result in a zero.

Final Exam

The final exam will be on Friday, 12/11, 10:30am-12:30pm. There will be no make-up opportunities for the final exam.

See also Final Exam Regulations,, and Final Exam Schedule,


There will be a group project towards the end of the semester. There also might be other groups project(s) during the semester.


Though there will be many required readings (see the class schedule), there is not a textbook that you are required to purchase.

Equipment and Software

For this class you will need daily access to a computer running Windows, MacOS, or Linux. You will also need regular access to reliable internet signal.

You should have a computer, or have regular access to a computer, that can support the Java runtime, Android studio, Android virtual device runner, and other software. There will be instructions for how to install Android Studio in the textbook. If you have a personal computer, you should download and install these software on your machine.

As a CSc 317 student, you will also have access to the computer science lab, located in Gould Simpson room 228. This room is equipped with a number of computers that you may use to work on your programs. You will need to swipe your CatCard in order to enter the lab.

Getting Help

Likely, some (or many) of you will want some help at one or more times throughout the course. The instructor and teaching staff provide a number of opportunities to receive help when you are stuck.

The instructor (Ben) will have several office hours each week. The TA(s) will also have office hours.

If you are unable to make office or lab hours, you can also get help online. You can ask your question(s) on Piazza, and you are welcome to post questions and get help from the TAs, other students, or the instructor. However, you may not publicly post any of your code or solutions to problems. If you are making a public post (visible to the entire class) make sure you do not include this. If you would like to include this, post to the instructors only.

If you are ever stuck, ask for help!


Unless otherwise specified, you may not work in groups on any coursework. This includes quizzes, exams, programming drills, programming assignments, etc. You may not share code, copy/paste code, or look at each-others code. The instructor will be using software to help detect cheating (similar code).

If cheating is detected on your work, penalties may include (but are not limited to):

Course Schedule

See the schedule page on the class website for the topic and reading schedule.

Department of Computer Science Code of Conduct

The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.

Classroom Behavior Policy

To foster a positive learning environment, students and instructors have a shared responsibility. We want a welcoming environment where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.).Students are asked to refrain from disruptive conversations with people sitting around them during lecture. Students observed engaging in disruptive activity will be asked to cease this behavior. Those who continue to disrupt the class will be asked to leave lecture or discussion and may be reported to the Dean of Students.

Threatening Behavior Policy

The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including to oneself. See

Accessibility and Accommodations

At the University of Arizona we strive to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability or pregnancy, you are welcome to let me know so that we can discuss options. You are also encouraged to contact Disability Resources (520-621-3268) to explore reasonable accommodation. Please be aware that the accessible table and chairs in this room should remain available for students who find that standard classroom seating is not usable.

Code of Academic Integrity

Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work/exercises must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See

The University Libraries have some excellent tips for avoiding plagiarism, available at

Selling class notes and/or other course materials to other students or to a third party for resale is not permitted without the instructor’s express written consent.

Violations to this and other course rules are subject to the Code of Academic Integrity and may result in course sanctions. Additionally, students who use D2L or UA e-mail to sell or buy these copyrighted materials are subject to Code of Conduct Violations for misuse of student e-mail addresses. This conduct may also constitute copyright infringement.

UA Nondiscrimination and Anti-harassment Policy


Additional Resources for Students

UA Academic policies and procedures are available at Student Assistance and Advocacy information is available at

Subject to Change Statement

Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.

CSC COVID 19 Policy:

All Fall 2020 CSC courses, whether In-Person, In-Person Flex, or Live Online, will provide recorded lectures for students along with office hour accommodations via Zoom. Additionally, In-Person and In-Person Flex courses will accommodate students who cannot attend class to take midterm exams and attendance will not be factored into final grades.

Absence and Class Participation Policy

The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is available at:

The UA policy regarding absences for any sincerely held religious belief, observance or practice will be accommodated where reasonable:

Absences pre-approved by the UA Dean of Students (or dean’s designee) will be honored. See