Feb 19, 2020  
2019 - 2020 Cowley College Academic Catalog 
2019 - 2020 Cowley College Academic Catalog



3 Credit Hours

Student Level:  

This course is open to students on the college level in either the Freshman or Sophomore year.

Catalog Description:

CIS1767 - iOS App Development 1 (3 hrs.)

This course will prepare students to code apps for the iOS operating system.  The topics will include learning the Swift programming language, views, view hierarchy, text input, delegation, view controllers, programmatic views, localization, animations, debugging, UI Table View, and UI Table View Cell.

Course Classification:






Controlling Purpose:

This course is designed to prepare students to code apps on the iOS operating system.  These concepts provide a foundation for further courses in iOS app development as well as creating simple apps for use in industry.

Learner Outcomes:

Upon completion of the course, the student will be able to code apps using the Swift programming language including the following topics: views, view hierarchy, text input, delegation, view controllers, programmatic views, localization, animations, debugging, UI Table View, and UI Table View Cell.

Unit Outcomes for Criterion Based Evaluation:

The following outline defines the minimum core content not including the final examination period.  Instructors may add other material as time allows.

UNIT 1: iOS App Development Environment

Outcomes: Demonstrate knowledge of the features of the interactive development environment in iOS as well as describe the iOS architecture

  • Create an Xcode project
  • Implement the Model-View-Controller
  • Use the Interface Builder
  • Build the interface including creating view objects, configuring view objects, use of the Auto Layout, and running the simulator
  • Create the model layer
  • Build and run an application on the iPhone simulator
  • Develop a “Hello World”  Android application

UNIT 2: The Swift Language

Outcomes: Demonstrate the knowledge necessary to write simple code using the Swift language including types, standard types, loops, strings, enumerations, and the switch statement

  • Describe types in Swift
  • Use standard types
  • Discuss the optional state of Swift types
  • Write apps that use the loop structures and string interpolation
  • Define enumerations
  • Use a switch statement in an app

UNIT 3: Views and the View Hierarchy

Outcomes: Describe how to create apps implementing different views to enhance the user interface including the Auto Layout System

  • Describe the view hierarchy
  • Code apps that control the views and frames despite varying screen sizes
  • Customize the properties of UI elements
  • Use the Auto Layout System including the alignment rectangle, layout attributes, constraints, and content size

 UNIT 4: Text Input and Delegation

Outcomes: Describe how to create a user interface using different views in an Android app

  • Implement text editing including keyboard attributes, text field changes, and dismissing the keyboard
  • Use number formatters
  • Code apps that use delegation including protocols

UNIT 5: View Controllers

Outcomes: Describe the techniques of using view controllers to have different screens appear including the proper management of the views in an app

  • Describe the view controller
  • Set the initial view controller
  • Use the UI Tab Bar Controller
  • Load and cause to appear views
  • Interact with view controllers

UNIT 6: Programmatic Views

Outcomes: Explain how to control the views or screens of an app using the Swift language

  • Create a view programmatically
  • Implement programmatic constraints including anchors, constraints, layout guides, margins, and explicit constraints
  • Use programmatic controls

UNIT 7: Localization

Outcomes: Explain how to use localization to detect the user’s location and change settings to match that location including time, metric, and currency

  • Use internationalization in an app including formatters, base internationalization, and preparation for localization
  • Implement localization in an app

UNIT 8: Controlling Animation

Outcomes: Explain how to code apps to properly display animations

  • Implement basic animations
  • Control animations using time controls and constraints
  • Use timing functions

UNIT 9: Debugging

Outcomes: Explain how to debug an app using the XCode Debugger: LLDB

  • Describe basic debugging techniques including console messages and visual debugging without the aid of the debugger
  • Use the XCode Debugger: LLDB

UNIT 10: UI Table View and UI Table View Controller

Outcomes: Explain how to write apps that present table information on a screen including options to control the look

  • Use the UI Table View Controller
  • Create a class for table data
  • Implement the UI Table View’s data source
  • Control data in the UI Table View Cells
  • Use content insets

UNIT 11: Editing UI Table View

Outcomes: Explain how to use the UI Table View to edit, add, delete, and move rows of data in a table

  • Set edit mode
  • Add rows
  • Delete rows
  • Move rows
  • Display user alerts
  • Discuss design patterns

UNIT 12: Sub-classing UI Table View Cell

Outcomes: Explain how to work with Item Cells within the class UI Table View Cell

  • Create an Item Cell
  • Expose the properties of Item Cell
  • Use an Item Cell
  • Implement dynamic cell heights
  • Discuss the purposes of dynamic types

Projects Required:

Varies, refer to syllabus.


Contact Bookstore for current textbook.

Materials/Equipment Required:


Attendance Policy:

Students should adhere to the attendance policy outlined by the instructor in the course syllabus.

Grading Policy:

The grading policy will be outlined by the instructor in the course syllabus.

Maximum class size:

Based on classroom occupancy

Course Time Frame:

The U.S. Department of Education, Higher Learning Commission and the Kansas Board of Regents define credit hour and have specific regulations that the college must follow when developing, teaching and assessing the educational aspects of the college.  A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally-established equivalency that reasonably approximates not less than one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work for approximately fifteen weeks for one semester hour of credit or an equivalent amount of work over a different amount of time.  The number of semester hours of credit allowed for each distance education or blended hybrid courses shall be assigned by the college based on the amount of time needed to achieve the same course outcomes in a purely face-to-face format.

Refer to the following policies:

402.00 Academic Code of Conduct

263.00 Student Appeal of Course Grades

403.00 Student Code of Conduct

Disability Services Program:

Cowley College, in recognition of state and federal laws, will accommodate a student with a documented disability.  If a student has a disability which may impact work in this class and which requires accommodations, contact the Disability Services Coordinator.