Enrollment closed
Native <br>IOS

Native IOS Course

Schedule:

Months of education:
3,5
Monday:
16:00 - 19:00
Wednesday:
16:00 - 19:00
Friday*:
16:00 - 19:00
* The program provides the possibility of additional classes on Saturday and Tuesday, the final schedule will be sent to the applicants, who get enrolled in said program.

Course description

The course is designed for people who want to commit their career to developing mobile applications on the iOS platform. Apple is well known for their vastly popular iOS operating system, hence learning to develop applications for said platform allows you to progress greatly as an IT specialist as well as to work on interesting projects.

The program is aimed to study iOS programming from scratch and covers the basics of the SWIFT programming language, along with its architecture and project design.

Projects

Students will be developing 3 projects during the course, based on which the judging committee determines which graduates are selected for further study / internship.

The projects cover all of the material that is learned during the previous modules and allow to consolidate the acquired knowledge by practicing.

Grading

During the educational process, students must complete homework assignments and academic projects, based on which the judging committee grades their practical skills and knowledge, as well as teamwork capabilities.

EXPERTS

Artem Shvetsov
Artem Shvetsov
Andrii Serohin
Andrii Serohin
Andrii Olkhovskyi
Andrii Olkhovskyi

Course structure

1.
SWIFT Basics

SWIFT Basics

  • Basics (Constraints, Variables, Types)
  • Basic operators
  • Strings and Characters
  • Collection Types
  • Loops, conditional statements
  • Functions
  • Closures
  • Structure and classes
  • Extensions, Protocols, Generics
  • ARC
  • Algorithms

IOS Basics

  • OOP, SOLID
  • IOS Architecture & SDK
  • UIKit
  • Apple UX/UI Guidelines
  • Collections
  • UI
  • Design patterns in IOS
  • Passing Data
  • Basic UI animations
  • Version control: Git, Command line, GUI, Xcode integrated
  • Working with dependencies

Project structure & Organization

  • Files and classes organization in project
  • Constants and configuration files
  • Code guidelines & Code styles

Networking

  • Client-Server Architecture
  • DATA, JSON Serialization
  • Error handling
  • Best practices, useful techniques
  • High Order Functions
  • Multithreading
  • Loading states, Empty State Views, Temp views
  • Debugging intro
  • Weak, strong reference types examples
  • Auth authentication
  • Alamofire

Data Persistence

  • Cache
  • UserDefaults
  • Plists
  • Databases theory
  • CoreData
  • Cloud Storage and Databases

BaaS

  • Firebase

Security

  • Keychain

Advanced UI

  • Fine-tuning design for different screens
  • Light/Dark mode
  • Working with vector assets
  • Dynamic fonts
  • Stack views
  • Child View Controllers
  • Localization support
  • Animations

Project Optimization

  • Code refactoring
  • UI Tweaks
  • Performance optimization
  • Localization

Pro Mode

  • Debugging
  • Xcode instruments
  • Unit Testing, UI Testing
  • Objective-C crash course
  • Code Styles and Linting
  • CI servers, linters, tools
  • Gitflow

What do
students get

Native <br>IOS
  • Basics of SWIFT programming
  • The main trends in development of mobile applications and recommendations on optimizing them
  • The skills of using UIKit and creating mobile applications design
  • Cloud services and database management skills
  • The skills of creating your own application for IPhone and IPad, its testing
  • Teamwork skills
Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed
Fill in the form