Course Outline

Basic Concepts of Programming for Government

  • Object-Oriented Programming (OOP) concepts
  • Definition of software
  • Analogies in programming: organized vs. unorganized environments
  • The importance of software in government operations

Why Apple and iOS for Government

  • Reasons to choose iOS
  • A brief history of Apple
  • Timeline of iOS development
  • Apple's unique selling propositions (USPs)
  • Key areas where Apple excels
  • User Experience (UX) vs. User Interface (UI)

Development Environment for Government

  • Requirements for setting up a development environment
  • Xcode and the iOS Software Development Kit (SDK)
  • Registration process for Apple Developers
  • Common reasons for application rejections
  • Guidelines for Human Interface Design

Xcode iOS Projects for Government

  • An overview of Xcode capabilities
  • Steps to create an iOS project
  • Running applications on simulators and physical devices

Swift Basics for Government

  • Comparing Objective-C with Swift
  • Key features of Swift
  • Introduction to variables and constants
  • A simple "Hello World" program in Swift
  • Creating UILabel elements programmatically

Image Animation and Image Loading for Government

  • Using UIImageView for image display
  • Basic animations with UIView and UIImageView
  • Exploring the Swift Playground
  • Implementing lazy loading of images
  • Understanding lazy properties

Swift Classes and Scenes for Government

  • Creating custom Swift classes
  • Memory management techniques
  • Differentiating strong and weak references
  • Types of constructors and destructors in Swift
  • Implementing protocols, Hashable, and Printable interfaces
  • Inheritance principles in Swift
  • Creating scenes for user interfaces
  • Implementing View Controllers
  • Exploring the Swift Playground

Life Cycle and Responder Chain for Government

  • The view life cycle in iOS applications
  • The application life cycle management
  • Responder chain methods: touchBegan, touchMoved, etc.
  • Using NSTimer for timing events

Adaptive Layout for Government

  • Storyboards vs. XIB files
  • Supporting multiple devices and screen sizes
  • Managing icon sizing and device orientations
  • Building user interfaces programmatically
  • Working with outlets and actions
  • Implementing required and optional protocols
  • Memory management best practices

Notifications and Localization for Government

  • Push notifications: silent and visible
  • Localization of applications

Overview of Objective-C for Government

  • Properties in Objective-C
  • Categories in Objective-C
  • Syntax for functions in Objective-C
  • Property attributes: readWrite and readOnly

Social Media Integration in iOS for Government

  • Integrating Facebook into applications
  • Integrating Twitter into applications
  • Email integration within iOS apps
  • Integrating third-party applications

UI Components in iOS for Government

  • UITextField for text input
  • UITextView for multi-line text input
  • UISegmentedControl for segment selection
  • UISlider for value adjustment
  • UISwitch for on/off states
  • UIPageControl for page navigation
  • UIStepper for incrementing values
  • UIScrollView for scrollable content
  • UIPickerView for selecting from a list
  • UIActionSheet for presenting options
  • UIWebView for displaying web content
  • UISearchBar for search functionality

Other Basic Components in iOS for Government

  • Managing groups and folders in projects
  • Closures for concise code blocks
  • Tuples for combining multiple values
  • URLSession for network requests
  • URLRequest for creating HTTP requests
  • UIAlertView for alert messages
  • UIActivityIndicatorView for loading indicators
  • Access modifiers: internal, public, private
  • Using guard statements for safer code
  • Handling optionals in Swift

Threading in iOS for Government

  • Grand Central Dispatch (GCD) for task management
  • NSOperationQueue for queuing tasks
  • Differentiating main thread from background threads

User Interaction for Government

  • Button creation and event handling
  • Pan gesture recognition for sliding actions
  • Tap gesture recognition for touch events
  • Customizing table views for data display
  • Basics of collection view implementation

Multiple Screen Applications for Government

  • Navigating through table views
  • Designing tabbed applications
  • Using navigation controllers for hierarchical structures
  • Presentation of controllers with various animations

Location Services for Government

  • Determining position and altitude
  • Compass direction detection

Device Access and Storage for Government

  • File storage mechanisms
  • Accessing the music library
  • Data management with CoreData and SQLite
  • Using Keychain for secure data storage
  • User defaults for persistent settings
  • PLists for property list files
  • NSSearchPathDirectory for directory management
  • Ensuring app security with NSSearchPathDirectory

Speech Framework for Government

  • Converting speech to text
  • Converting text to speech

Multipeer Framework for Government

  • Transferring data between devices
  • Connecting multiple devices simultaneously

Networking for Government

  • Accessing network resources
  • Serializing and deserializing JSON data
  • Interacting with REST web services
  • Basics of XML parsing

Uploading App to the App Store for Government

  • Using iTunes Connect for app management
  • Navigating the Apple Developer Portal for provisioning profiles
  • Deployment and distribution strategies
  • Testing apps on real devices
  • Uploading apps to the App Store

Applications for Government

  • Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
  • Notes application
  • Contacts application
  • Data retrieval from an open API to populate a table view and display details, including search functionality and offline data storage with Core Data
  • An application based on your own idea

Requirements

For government professionals, it is essential to possess experience in at least one programming language.

 35 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories