copyright Steve J. Hodges

CIS 34

Course Information

Learning Outcomes

In this course you will learn to:

  1. Demonstrate good design practices for mobile applications.
  2. Develop a mobile application for running on an iOS platform.
  3. Develop a mobile application for running on a Google Android platform.


  1. Describe design considerations for applications in a mobile network.
  2. Code, document, and test Swift application code on an iOS platform that presents GUI elements.
  3. Code, document, and test Java code for the Android platform that presents GUI application elements.
  4. Compare and contrast the iOS and Android platforms.
  5. Perform research on technical topics and present results.
  6. Practice demonstrating programs in front of an audience.

Course Textbooks

The textbooks (available both as an ebook or a paper copy from our campus bookstore, the publisher , or Amazon and other merchants) for this course are:

Course Materials and Resources


You are responsible for the assigned reading, the self-scheduled lab hours, and what is discussed in each class meeting, including announcements, regardless of your attendance. If you are unable to make it to class, you should arrange to have someone else in the class take notes for you. Keeping up with the assigned reading and the course lectures is important for sucessful completion of the course programming assignments and exams. You should have the necessary materials to take notes during class. You are responsible for keeping backup copies of your class work.

Please do not contact me via email regarding the content of a class meeting that you missed.

This course requires active participation each day of class so it is important for you to attend every class session, arrive on time, and come prepared. Your participation not only enhances your own learning, it benefits other students in the class.

You are responsible for knowing how to calculate your grade (given your raw scores) in this class. I will review the calculation of weighted averages (at any of my office or lab hours) if you've forgotten how to do so.

Flexible Lab Hours

10% of your grade comes from the completion of your weekly self-scheduled lab hours. Sugested topics for your lab hours include the tools we will use in the class (Android Studio, XCode, Git(hub), Languages (Java, Swift), texbook exercises, research in to Android and iOS APIs, other topics related to mobile application programming and the working environment. If you run out of topics to investigate, I can help you to select specific exercises. In addition, I will occasionally suggest exercises in class. This lab timewill help you learn the course material, review important programming concepts, and prepare for your programming projects. All students are expected to meet this number of hours per week starting with the first week of the course, continuing each week except for spring break and final exam week. During the first week of class, we will discuss the procedures used to complete and track your required lab time (3 hours and 5 minutes per week.) Please let me know if you have any questions regarding the online lab portion of the class.


You may obtain a letter grade (A, B, C, D, or F), or you may choose instead to take the class for credit/no credit. The latter option means that your grade for this course will be credit if you score at least 70% overall and no credit if you don't. Please declare the option you want on your student information sheet. You may change your grading option until the official college deadline. If you do not specify a preference, you will recieve a letter grade. Those who earn 90.0% or more of the possible points will get an A, 80.0% B, 70.0% C, 60.0% D, and lower F.

Homework and Programming Assignments

80% of your grade will be based on your programming projects. There will be two programming projects for iOS and two for Andoid. For each platform there will be one individual "hello world" simple interactive project with specific assigned features, and one team (final) project including a preliminary design, draft testing version, and a class presentation of the final version. The final projects should feature one technology, feature, library etc. beyond what was discussed in class, and a portion of your presentation is to describe this. The individual projects are scored out of 100 points, and the final projects are worth 400 points in total.

Special note on this course

This course has been designed to be collaborative in nature. Specifically, you can (and are encouraged to) share your code with others in the class (including graded projects) for purposes of debugging/recieving help and/or to demonstrate nifty techniques etc. Students who actively seek help and/or offer help will score higher in the class discussion portion of the class.

Class Discussion

10% of your grade will come from active participation in class (discussion.)


There will be no exams in this course.

Consulting with me

If you need some extra help, or need to consult with me regarding any course-related matter, please feel welcome to contact me during my scheduled lab or office hours. My lab and office hours provide times that are specifically reserved for helping you outside of the lecture. Make an appointment if you cannot come during my scheduled lab or office hours. My lab and office hours are shown on my web page.

This is a difficult course. Almost everybody is going to get "stuck" at some point in the semester. When this happens please don't hesitate to get some help. A little bit of help can save you hours of pounding your head against the wall. I have regular office hours and lab hours or you can contact me via email. Email works good for "quick questions" and in-person visits are best for everything else!


The District is committed to equal opportunity in educational programs, employment, and all access to institutional programs and activities. The District, and each individual who represents the District, shall provide access to its services, classes, and programs without regard to national origin, religion, age, gender, gender identity, gender expression, race or ethnicity, color, medical condition, genetic information, ancestry, sexual orientation, marital status, physical or mental disability, pregnancy, or military and veteran status, or because he/she is perceived to have one or more of the foregoing characteristics, or based on association with a person or group with one or more of these actual or perceived characteristics.

Students needing accommodations should inform the instructor. As required by the Americans with Disabilities Act (ADA), accommodations are provided to insure equal access for students with verified disabilities. To determine if you qualify or if you need assistance with an accommodation, please contact the ACCESSIBILITY SUPPORT CENTER (Formerly DSPS), Room 1073 (upstairs in the Library), (831) 479-6379 or (831) 479-6370.

Support Services

Cabrillo College has many programs and services designed to help you during your academic journey. You can visit the website at for a complete listing of support services (under the Student Services tab). Please take advantage of the services provided to you by the college.

Financial Aid

Cabrillo College provides several financial aid opportunities for students. For tuition and/or book assistance information, go to

Student Rights and Responsibilities

You are expected to contribute to a positive learning environment. Your responsibilities as a student include