Vasilkoff Programming School

Time to make more step to your dream?
Summer 2017, 6 June - 2 September

5 days per week, 2 hours each day, a very intensive programming course.

During these 3 months, you can become Android or iOS application developer. Students who finish the course with excellence will have a job offer in Paphos office of Vasilkoff CY Ltd

Programming Summer School Android: 300 EUR/month

Programming Summer School iOS: 300 EUR/month

Become a programmer from 0 bits of knowledge on start, have a job of your dream.

The program could be the right choice for you.

If you buy both courses, iOS + Android, the second one is 50% off

School of programming Vasilkoff Programming Android and Vasilkoff Programming iOS

The Foundation College, Paphos, Cyprus

7 People in a group
12 Weeks long
75 EUR per week

What we will teach you in 6 weeks:


Our graduates are the face of our company in the IT market.
*Subject to all homework assignments

CODE


You will learn how to write code yourself, understand the structure of the application, learn the syntax of the language Objective-C/Java

DOCUMENTATION


You will learn how to work with the documentation. Search for the information you need to implement your application.

DEVELOPMENT MANAGEMENT


You will understand full cycle of developing a mobile application. And as a customer you will be able to competently evaluate the result and the cost that contractors tell you.

COMMAND


Learn to work in a team and maybe find like-minded people to create a start-up.

UPPENDIX UNDER IOS


You will create your own first application, which will be your final project.

APPLICATIONS MARKETS


Learn about nuances of publication in the AppStore/PlayMarket and possibilities of menetizing the application.

START-UP


Is it possible to merge into a group to create a startup project in the future.

WEB ACADEMY CLUB


Will take part in thematic webinars, master classes from IT market experts. Will be aware of trends in the development of IOS/Android.

VASILKOFF SUMMER PROGRAMMING SCHOOL

Groups are small. Less then 7 places available. Hurry Up!

Milestone 1

Programming with Android Studio

Android Programming basics

Plan:
  • Java history
  • What is Android?
  • History of Android
  • What is API level?
  • Android - Studio
  • Hello Word Example
  • Android - Architecture
  • Linux kernel
  • Libraries
  • Android Libraries
  • Android Runtime
  • Application Framework
  • Applications
  • Application Components
  • Activities
  • Services
  • Broadcast Receivers
  • Content Providers
  • Additional Components
  • Local Version Control Systems
  • Centralized Version Control Systems
  • Distributed Version Control Systems
  • The “Hub” in GitHub
  • GitHub isn’t just for developers
  • Hello World Example
  • Responsive Design
  • UI Layouts
  • Layout Types
  • Android Studio New Layout Editor
  • Basic Data Types
  • Variables
  • Naming
  • Methods
  • Calling a Method
  • Major Benefit of Using Methods
  • Basic Operators
  • The Arithmetic Operators
  • The Relational Operators
  • The Logical Operators
  • The Assignment Operators
  • Miscellaneous Operators
  • Loop Control
  • Loop Control Statements
  • Java - Decision Making
  • Arrays
  • Exceptions

Milestone 2

Programming with Android Studio

Resources, Menus, AsynckTasks and others

Plan:
  • Write and View Logs with Logcat
  • Resources
  • Menus
  • Fetching an HTTP Request
  • Permissions
  • Connect to the Internet
  • Thread Basics
  • AsyncTask
  • Exercise : Missing Permission
  • JSON Format
  • Quiz: JSON by Hand

Milestone 3

Programming with Android Studio

Java Object Oriented Programming

Plan:
  • Object Oriented Programming
  • Inheritance
  • The super keyword
  • Differentiating the Members
  • Invoking Superclass Constructor
  • IS-A Relationship
  • The instanceof Keyword
  • HAS-A relationship
  • Types of Inheritance
  • Overriding
  • Rules for Method Overriding
  • Using the super Keyword
  • Polymorphism
  • Virtual Methods
  • Abstraction
  • Abstract Class
  • Inheriting the Abstract Class
  • Abstract Methods
  • Encapsulation
  • Benefits of Encapsulation
  • Interfaces
  • Declaring Interfaces
  • Implementing Interfaces
  • Extending Interfaces
  • Extending Multiple Interfaces
  • Tagging Interfaces

Milestone 4

Programming with Android Studio

Programming Patterns

Plan:
  • Design Patterns in Java
  • What is Gang of Four (GOF)?
  • Usage of Design Pattern
  • Common platform for developers
  • Best Practices
  • Types of Design Patterns
  • Factory Pattern
  • Singleton Pattern
  • Builder Pattern
  • Composite Pattern
  • Proxy Pattern
  • Chain of Responsibility Pattern
  • Iterator Pattern
  • Mediator Pattern
  • Memento Pattern
  • Observer Pattern
  • State Pattern
  • Strategy Pattern
  • Template Pattern
  • MVC Pattern
  • Business Delegate Pattern

Milestone 5

Programming with Android Studio

Data Persistence

Plan:
  • Data Persistence
  • Quiz: Persistant Storage Options
  • Preference Fragments
  • Preferences
  • Defining Preferences in XML
  • Creating setting groups
  • Using titles
  • Using subscreens
  • Using intents
  • Creating a Preference Activity
  • Using Preference Fragments
  • Setting Default Values
  • Using Preference Headers
  • Creating the headers file
  • Displaying the headers
  • Reading from SharedPreferences
  • Listening for preference changes
  • Saving the setting's value
  • Initializing the current value
  • Providing a default value
  • Saving and restoring the Preference's state
  • Add Two More Checkboxes

Milestone 6

Programming with Android Studio

Android RecyclerView

Plan:
  • Why You Need RecyclerView
  • Compared to ListView
  • Components of a RecyclerView
  • RecyclerView.Adapter
  • ItemAnimator
  • Using the RecyclerView
  • Installation
  • Defining a Model
  • Create the RecyclerView within Layout
  • Creating the Custom Row Layout
  • Creating the RecyclerView.Adapter
  • Binding the Adapter to the RecyclerView
  • Notifying the Adapter
  • Diffing Larger Changes
  • Scrolling to New Items
  • Configuring the RecyclerView
  • Overview
  • Compared to ListView
  • Components of a RecyclerView
  • LayoutManagers
  • Performance
  • Animators
  • Handling Touch Events
  • Attaching Click Handlers to Items

Milestone 7

Programming with Android Studio

Make your app multilanguage

Plan:
  • Localization
  • Localizing Strings
  • Flavours
  • Toolbars

Milestone 8

Programming with Android Studio

The site inside the application is cool

Plan:
  • WebView
  • Custom Fonts
  • Using fonts programmatically
  • Maps
  • Geolocation. Location Strategies
  • Deep linking
  • What Are Deep Links?
  • Implementing Deep Links
  • Testing Deep Links
  • Conclusion

Milestone 9

Programming with Android Studio

SQLite

Plan:
  • SQLite Database
  • SQLiteDatabase
  • Define a Schema and Contract
  • Create a Database Using a SQL Helper
  • Put Information into a Database
  • Read Information from a Database
  • Delete Information from a Database
  • Update a Database

Milestone 10

Programming with Android Studio

Content providers

Plan:
  • Content Providers
  • Accessing a provider
  • Content URIs
  • Retrieving Data from the Provider
  • Requesting read access permission
  • Constructing the query
  • Protecting against malicious input
  • Displaying query results
  • Getting data from query results
  • Content Provider Permissions
  • Inserting, Updating, and Deleting Data
  • Inserting data
  • Updating data
  • Deleting data
  • Provider Data Types
  • Data access via intents
  • Getting access with temporary permissions
  • Using another application
  • Contract Classes
  • MIME Type Reference
  • Quiz: TVTime
  • Solution: TVTime
  • Quiz: Actor Query
  • Solution: Actor Query
  • Why the Other Answers Were Incorrect
  • Quiz: Calendar Provider
  • Solution: Calendar Provider

Milestone 11

Programming with Android Studio

Camera

Plan:
  • Camera
  • Using existing android camera application in our application
  • Camera API
  • Considerations
  • The basics
  • Manifest declarations
  • Building a camera app
  • Detecting camera hardware
  • Accessing cameras
  • Checking camera features
  • Creating a preview class
  • Placing preview in a layout
  • Capturing pictures
  • Capturing videos
  • Configuring MediaRecorder
  • Starting and stopping MediaRecorder
  • Releasing the camera
  • Saving media files
  • Checking feature availability
  • Using camera features
  • Metering and focus areas
  • Face detection
  • Time lapse video
  • Drawing primitives
  • Drawing a circle to View
  • Drawing rectangle on a canvas
  • Drawing on photo
  • Activity transitions
  • Create the Layout Scenes
  • Transition Between Scenes

Milestone 12

Programming with Android Studio

Services

Plan:
  • Running in the Background
  • Services
  • The basics
  • Declaring a service in the manifest
  • Extending the IntentService class
  • Extending the Service class
  • Starting a service
  • Stopping a service
  • Creating a bound service
  • Sending notifications to the user
  • Running a service in the foreground
  • Push notifications
  • Why Use Google Cloud Messaging?
  • Setting Up the Android Studio Project
  • Step 2: Update the Manifest
  • Get a Server API Key and a Sender ID
  • Registering the Client
  • Step 1: Create a Registration Service
  • Step 2: Create an InstanceIDListenerService
  • Step 3: Starting the Registration Service
  • Displaying Push Notifications
  • Adding Push Notification Icons
  • Running the Android App
  • Sending Push Notifications
  • Step 1: Creating the Script
  • Step 2: Running the Script

Milestone 1

Programming with XCode

Objective-C Basics

Plan:
  • A Brief History of Objective-C
  • Objective-C Basic Syntax
  • Tokens in Objective-C
  • Semicolons ;
  • Comments
  • Identifiers
  • Data Types
  • Variables
  • Functions
  • Defining a Method
  • Method Declarations
  • Calling a method
  • Basic Operators
  • The Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Assignment Operators
  • Misc Operators ↦ sizeof & ternary
  • Operators Precedence in Objective-C
  • Loops
  • While Loop
  • For loop
  • Do...while loop
  • Nested loops
  • Decision Making
  • The ? : Operator
  • if statement
  • if...else statement
  • The if...else if...else Statement
  • Nested if statements
  • switch statement
  • nested switch statements
  • Creating our First Project
  • Creating a New XCode Project
  • Running Your XCode Project
  • Protocols. Categories. Properties. Modifiers
  • Categories
  • Protocols
  • About Version Control
  • Local Version Control Systems
  • Centralized Version Control Systems
  • Distributed Version Control Systems
  • Google
  • StackOverflow
  • Github
  • The “Hub” in GitHub
  • GitHub isn’t just for developers

Milestone 2

Programming with XCode

Interface builder, main frameworks

Plan:
  • Interface Builder
  • Storyboards
  • Assistant
  • Auto Layout
  • Preview
  • Frameworks: Cocoa Touch, Foundation, UIKit, Media Layer, Core Services, Core OS
  • Cocoa Touch
  • Foundation Framework Classes
  • UIKit
  • Additional UIKit Features
  • Media Layer
  • Core Graphics
  • Core Text
  • Image I/O
  • AV Foundation
  • Core Audio
  • Core Services
  • Social Media Integration
  • iCloud Storage
  • CloudKit
  • Bundles and Packages
  • Internationalization and Localization
  • Grand Central Dispatch
  • Security Services
  • Maps
  • Address Book
  • Core OS
  • Constraints
  • Log Handling
  • Disabling logs in Live apps
  • Internet First App Intro

Milestone 3

Programming with XCode

Object oriented programming

Plan:
  • So What Is A Class?
  • Variables To Store Things
  • Methods To Do Things
  • Public Versus Private
  • When would you want to use private?
  • Defining A Class In Objective-C
  • About Class Inheritance
  • How To Declare And Use Variables In Objective-C
  • Declaring And Using Properties In Objective-C
  • How would you access or set a property of an object in Objective-C?

Milestone 4

Programming with XCode

UI elements

Plan:
  • List of UI Elements
  • Responder chain
  • Responder object
  • The First Responder Receives Some Events First
  • The Responder Chain Enables Cooperative Event Handling

Milestone 5

Programming with XCode

Getting Started with iOS Programming

Plan:
  • UIViewController
  • View Management
  • View Controller Containment & Transitioning
  • Subclassing UIViewController
  • View Controller Containment
  • Adding A Child View Controller
  • Removing A Child From A Parent
  • View Controller Transitioning
  • Lets Build The Sample App
  • Presenting a View Controller
  • The Presentation and Transition Process
  • Presentation Styles
  • Full-Screen Presentation Styles
  • The Popover Style
  • The Current Context Styles
  • Custom Presentation Styles
  • Transition Styles
  • Presenting Versus Showing a View Controller
  • Presenting a View Controller
  • Showing View Controllers
  • Presenting View Controllers Modally

Milestone 6

Programming with XCode

Getting Started with iOS Programming

Plan:
  • UICollectionView
  • UITableView
  • DataSources
  • Table Delegates
  • TextFields

Milestone 7

Programming with XCode

Getting Started with iOS Programming

Plan:
  • Networking
  • XML
  • JSON
  • Synchrony/Asynchrony
  • REST
  • HTTP. AFNetworking

Milestone 8

Programming with XCode

Blocks, Multithreading

Plan:
  • Blocks
  • Simple Block declaration syntax
  • Multithreading and Grand Central Dispatch
  • Why do We Need Concurrency?
  • What do You Need to Know about Concurrency?
  • Part 1: GCD (Grand Central Dispatch)
  • What are queues?
  • Dispatch Queues
  • Serial Queues
  • Concurrent Queues
  • Using Queues
  • GCD Cheatsheet

Milestone 9

Programming with XCode

Graphics

Plan:
  • Core Graphic
  • Graphic Context
  • Path
  • Graphic State
  • Hands-on
  • Drawing paths
  • Again on the Graphic States
  • Colors
  • Extra settings
  • Memory management
  • QuartzCore

Milestone 10

Programming with XCode

Getting Started with iOS Programming

Plan:
  • SQLite
  • Firebase
  • Baasbox
  • Core Data
  • User Defaults

Milestone 11

Programming with XCode

Getting Started with iOS Programming

Plan:
  • Push Notifications
  • back4app
  • Fabric
  • Custom fonts
  • UIWebView
  • UIMapView

Milestone 12

Programming with XCode

Getting Started with iOS Programming

Plan:
  • Facebook SDK
  • Camera
  • In-App Purchases

PROGRAMMING PHILOSOPHY

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

- Brian Kernighan



Accepting reality

It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free.

- Steve McConnell