iOS Development

Course No. 10-152-139

Course Syllabus

Description

The purpose of this course is to prepare students for advanced coursework in development of applications in Apple’s iOS environment (e.g. iPhone/iPad/iPod devices). Students will be introduced to basic syntax, debugging, pointers, functions, and file I/O processing using the C programming language.

Further course topics will be taught using Objective-C, the native development language for iOS application development. These include classes, objects & methods, properties, and message sending.

Towards the end of the course students will be taught how to create simple iPhone applications which will prepare them for the Advanced iOS Development course.

Prerequisites

  • Completion of Intro to Programming with JavaScript, Course No. 10152119
  • OR Permission of instructor based on documented and successful completion of a college-level programming course.

Course Objectives

  • Acquire knowledge of the C programming language, its basic syntax and usage.
  • Acquire knowledge of the Objective-C programming language, its basic syntax, and its use in iOS app development.
  • Use a Macintosh computer with Mac OS 10.9.1 or greater with the Xcode development environment, to create applications C and Objective-C programs.
  • Understand Object-Oriented programming concepts
  • Create an Objective-C application using object-oriented programming concepts
  • Utilize variables, constants, and arithmetic operators in an application
  • Utilize selection structure, repetition structure and case selection in C and Objective-C applications.
  • Create and utilize Objective-C methods.
  • Utilize C arrays and the NSArray class.
  • Read and write information to a sequential access file.
  • Create an iOS application.

Textbooks and Materials

Course Software

We will be using the following software for the course.

  • Mac OS X 10.9.1+
  • Xcode 5.0.2+

Attendance

The format of this class is lecture/lab, with lectures and demonstrations as well as time to work in the lab. Lab time is not optional, and is used to work on and demonstrate to your instructor the result of classroom exercises. Regular attendance is crucial for benefiting from the course. If you cannot attend a class, it is your responsibility to obtain the material missed; lectures will not be repeated to individual students.

The standard school policy on attendance is in effect for this course. Students absent for 16 consecutive calendar days, or who miss 25% of the total class periods, may be withdrawn and will not be readmitted without the mutual consent of the Dean of the Business and Applied Arts Division and the instructor. If you decide to withdraw from the course, please notify your instructor.

ADA (Americans with Disabilities Act)

If you require special accommodations or services in order to participate in this course, please contact the instructor or a counselor in Student Services.

College Catalog and Student Handbook

Many important Madison College policies and procedures are found in the Madison College Catalog, available from the Student Services Office. Students are expected to be familiar with such policies and procedures, and are encouraged to retain a copy of the Handbook for reference as needed during their attendance at Madison College.

Madison College Counseling Service

The Madison College Counseling Service is available to provide aid and advice. Experienced counselors will try to help or put you in touch with others who can. Make appointments in Room 159. Madison College Counseling Service Web Site

Academic Conduct

Plagiarism and cheating are serious offenses and may be punished by failure on a project, test or assignment, failure in the course, and or expulsion from the college. For more information refer to the “Student Code of Conduct” policy in the student catalog.

Personal Space

This course uses a strong “hands-on” approach to learning programming. We will be working at the classroom computers a large amount of each class period. The instructor will be checking labs and projects during class every session. The instructor will need to look at the monitor of students’ workstations to answer questions and to provide assistance. Sometimes the instructor will need to sit at student workstations while the student looks on for instruction. If this closeness to your personal space is troublesome and causes you stress, you need to contact the instructor outside of class to discuss the issue. Sometimes accommodations will be possible, but, due to the fundamental nature of the course, accommodations will not be possible. You will need to discuss options with the instructor if this is the case.

Pair Programming

We will be learning and using the common professional coding practice known as ‘Pair Programming’ during class sessions. Students will be randomly paired with another classmate for in-class coding. New random pairs will be generated for different labs. This is a required part of the course.

Class assignments

There will be weekly assignments that will be due at the beginning of the first class the following week. Each assignment will be worth 10 points. There will be 14 assignments during the semester, but the total points will be 130. This means that you can miss one assignment with no penalty.

The instructor reserves the right to alter assignment specifications verbally in class, through email, or any other means. The new specifications will be the required work. Lack of attendance is not an acceptable excuse for not completing the new specifications.

Assignment Submission Policy

Assignments must be submitted in class and in person to be accepted. The assignments for each week will be printed out on paper and stapled together. The top page must be labelled with the week. Eg.: “Week 1”. Assignments might also be submitted electronically to your instructor, details will be provided in class.

Late work will not be accepted in the course with very few exceptions. Partial credit will be given on assignments, you need to turn in what you have done each week. If you have a major life event that will prevent you from turning in an assignment you need to contact the instructor. Your instructor can waive the submission requirement under these circumstances. The event must be documented and must be a rare and major life event.

  • Here are some examples of events that would not count for waiving due dates.
    • Work related issues.
    • Mild viruses such as a cold.
    • Vacations
    • Car trouble
    • Transportation issues such as missing a bus.
  • Here are some examples of events that might possibly count for waiving due dates.
    • The death of a close family member.
    • The birth of a child.
    • Attending a professional technology conference related to software development.
    • Hospitalization.
    • School closings due to weather.
    • Major medical event or illness.
    • Accident.
    • There can be other circumstances that will count. Please contact your instructor.

Office Hours

Assistance on an individual basis is available from your instructor during office hours in their office. Check the course web site or Blackboard in the Instructor area for office hours times and locations. Office hour appointments may also be made in advance for other times if some unusual circumstances precludes use of posted times.

Exams

There will be two exams during the course worth 50 points each.

Final Project

There will be a final capstone project at the end of the course worth 20 points. This is a mandatory project and will be quite fun.

Final Grade

The final grade in the course is determined by the summation of the assignments, final project, and exam scores. The final letter grade ranges are as follows.

Total Points Final Grade
230-250 A
220-229 AB
205-219 B
195-204 BC
175-194 C
150-174 D
0-149 F

Withdrawal from a class.

  • Withdrawal Policy: If a situation arises that prevents the successful completion of this course, please note that it is each student’s responsibility to formally withdraw from this course. The student must withdraw before 90% of the semester for the individual course is done. This means that the drop deadline for your courses may occur on different dates.
  • Important Points:
    • Instructors can NOT withdraw a student from a course.
    • If a students stops coming to class that does not mean they have withdrawn from the course. Students must formally withdraw from the course at the enrollment center or online.
    • Instructors are required to give students the grade that they have earned during the semester if they are still enrolled in the course at the end of the semester.
  • Please Review the Official Withdrawal Policy: