Apr 20, 2024  
2018-2019 Course Catalog 
    
2018-2019 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

MDT 121 - Objective-C for Apple Apps

Credits: 3
Lecture Hours: 3
Lab Hours: 0
Practicum Hours: 0
Work Experience: 0
Course Type: Voc/Tech
An introduction to Objective-C programming language fundamentals used for Apple mobile application development. Explore Objective-C key language elements and Apple-specific frameworks required for mobile applications. Utilize Apple developer tools to create Objective-C programs implementing object-oriented functionality.
Competencies
  1. Analyze the fundamentals of using Objective-C on Apple platforms.
    1. Discuss the history of Objective-C and Apple’s adoption for application development.
    2. Explain the Apple Developer Programs.
    3. Introduce Apple’s developer tools.
    4. Describe the Objective-C object model and common frameworks.
    5. Discuss the benefits of using Objective-C to develop native Apple apps.
  2. Install and configure the developer tools.
    1. Identify the required software.
    2. List the download and installation steps.
    3. Examine common configuration settings.
  3. Explain object-oriented concepts and terminology.
    1. Describe object-oriented programming (OOP).
    2. Explain the relationship between a class and an object.
    3. Discuss class and instance methods.
    4. Discuss instance variables.
    5. Explain data encapsulation.
    6. Describe inheritance and polymorphism.
  4. Assess Objective-C programming basics.
    1. Describe the structure of Objective-C programs.
    2. Explain how to build and run an Objective-C program.
    3. Explore testing and debugging capabilities.
  5. Demonstrate using data types and expressions.
    1. Describe Objective-C data types, variables and constants.
    2. Discuss Objective-C arithmetic expressions.
    3. Explain operator precedence.
    4. Describe data type conversions and the type cast operator.
  6. Outline using conditions and decision structures.
    1. Discuss Boolean variables.
    2. Describe comparison operators and logical operators.
    3. Examine the variations of the if statement.
    4. Discuss nesting if statements.
    5. Explain the conditional operator.
    6. Describe the switch statement.
    7. Create an Objective-C program implementing decision statements.
  7. Design looping structures.
    1. Examine the while statement.
    2. Examine the do-while statement.
    3. Explain the for statement.
    4. Describe the break and continue statements.
    5. Discuss nesting the looping statements.
    6. Demonstrate looping statements in an Objective-C program.
  8. Evaluate the use of functions.
    1. Explain the purpose of functions.
    2. Describe how to write and use a function.
    3. Explain passing data into a function and returning a value.
    4. Discuss the scope and lifetime of variables.
    5. Explore built-in functions in the standard libraries.
    6. Create an Objective-C program utilizing functions.
  9. Explore using objects and inheritance.
    1. Define classes in separate interface and implementation files.
    2. Explain instance variables, methods and properties.
    3. Explain creating objects and the dot notation.
    4. Describe extending classes through inheritance.
    5. Discuss exception handling.
    6. Demonstrate object-oriented techniques in an Objective-C program.
  10. Analyze memory management techniques.
    1. Discuss automatic garbage collection.
    2. Explain manual reference counting and the autorelease pool.
    3. Explore Automatic Reference Counting (ARC).
  11. Explain the preprocessor features.
    1. Discuss the purpose of the preprocessor
    2. Identify common preprocessor statements.
    3. Describe conditional compilation.
  12. Describe the Foundation framework.
    1. Define the purpose of the Foundation framework.
    2. List the commonly used classes of the Foundation framework.
    3. Describe the core functionality provided by the classes in the Foundation framework.
    4. Explain how consistency across class hierarchies makes software development easier.



Add to Portfolio (opens a new window)