Apple iOS căn bản đến nâng cao


“Apple iOS căn bản đến nâng cao” số 16, khai giảng ngày 20/6/2013


Đây là khóa học đầy đủ và toàn diện nhất để trở thành một lập trình viên iOS chuyên nghiệp có kiến thức rộng và thời gian thực hành lập trình trên iOS đủ dài. Học viên tốt nghiệp thành công khóa học này sẽ có khả năng làm các dự án iOS đa dạng, cạnh tranh tốt nhất so với mặt bằng lập trình viên iOS và có một vài ứng dụng tự viết có thể demo cho nhà tuyển dụng. Mức lương cũng sẽ cao hơn.
Khóa học gồm có 2 phần:
1- 15 buổi cơ bản nắm vững về ngôn ngữ Objective-C, các kỹ thuật lập trình hoặc tạo giao diện sử dụng StoryBoard.
2- Buổi 16 đến 30 là gồm các kiến thức nâng cao. Trình độ của học viên sau khi tốt nghiệp khóa 30 buổi tương đương lập trình viên iOS 1 đến 1.5 năm kinh nghiệm.
Lưu ý khóa học đầy đủ gồm 30 buổi sẽ kéo dài trong 3 tháng, học viên cần sắp xếp tốt thời gian, lịch học và lịch làm việc để tham gia đầy đủ – chuyên tâm tất cả các buổi học. Do số lượng chỗ rất hạn chế, các bạn cần đăng ký và nộp học phí trước khoảng 20 ngày để đảm bảo có chỗ trong lớp.
Giảng viên:
Trịnh Minh Cường: 16 năm phát triển phần mềm. Xem CV
Nguyễn Trường Dương: Trưởng nhóm công nghệ phát triển ứng dụng smartphone của một công ty Bắc Âu. Lập trình nhiều dự án Android, iOS, Meego, Symbian trên các hệ máy khác nhau.

Tham khảo video về các khoá học iOS đã diễn ra tại TechMaster

Điều kiện đăng ký học:
- Đã từng học hoặc lập trình với một ngôn ngữ lập trình bất kỳ ở mức cơ bản.
- Học viên cần phải có máy tính cài hệ điều hành Mac OSX Lion (iMac, Macbook Pro, MacMini hoặc Hackintosh hoặc chạy Mac ảo hóa trong Windows 7) để thực hành làm bài tập. Trung tâm tư vấn, hỗ trợ cài đối với học viên chưa có môi trường lập trình iOS.
Lịch học: Một tuần 2 buổi từ 6:30 PM đến 9:30 PM. Nghỉ giữa giờ 15 phút,  có phục vụ ăn nhẹ, trà, cà phê, bánh ngọt, hoa quả.

Đăng ký học

Mục tiêu khóa học:

1. Developer hiểu các phương pháp khác nhau để phát triển ứng dụng cho iOS

2. Nắm vững ngôn ngữ lập trình Objective-C, kỹ năng lập trình, thiết kế giao diện cho iOS

3. Có khả năng phân tích và phát triển ứng dụng một cách độc lập.

4. Kết thúc khóa học cơ bản hay nâng cao, học viên sẽ xây dựng một ứng dụng tự chọn trên iOS.

5. Đối với khóa học nâng cao, học viên có khả năng kết hợp, tùy biến nhiều công nghệ, kỹ năng để xây dựng app chuyên nghiệp.

Thực hành: 30% trên simulator, 70% trên iPhone 3GS, iPod 2012, iPad 2012. Sử dụng máy tính cài hệ điều hành Mac OSX Mountain Lion, tốc độ cao, RAM 8G, màn hình LED 22 inch, XCode 4.5, IOS SDK 6.0 Phòng điều hòa, 02 projector FullHD.
Trung tâm hỗ trợ miễn phí đưa ứng dụng lên AppStore.
Học phí: 

Đối tượng học viên Cơ bản – Nâng cao (30 buổi) tương đương hơn 90 tiếng học trong Lab chưa kể thời gian thực hành tại nhà.
Sinh viên  7,900,000 (VND)
Đã đi làm  8,400,000 (VND)
Sinh viên học theo nhóm từ 2 người trở lên  7,500,000 (VND)
Đã đi làm học theo nhóm từ 2 người trở lên  7,900,000 (VND)
Học viên nữ giảm 15% học phí

Đối với lập trình viên tự do và sinh viên tốt nghiệp khóa học cơ bản – nâng cao, trung tâm cam kết giới thiệu việc làm ngay sau khóa học kết thúc.

Ngày Mô tả
1 Giới thiệu iOS. Làm quen với môi trường lập trình trên Mac OS X.
Ngôn ngữ Objective-C cú pháp căn bản, lập trình hướng đối tượng:
- Class / Instant Method – Class Method / Member variable
- Kiểm soát truy cập biến thành phần của Object với @private, @protected, @public, @property
2 Quản lý bộ nhớ trong iOS: thủ công và với ARC
- Cấu trúc một ứng dụng iOS
- Sự khác nhau giữa bộ nhớ Stack – Heap
- Sử dụng Instrument để kiểm tra lỗi tràn bộ nhớ, và các thủ thuật để phát hiện lỗi dùng sai bộ nhớ
- Các lệnh quản lý bộ nhớ thủ công retain, release, autorelease, dealloc, retaincount
- @property với các attribute nonatomic, retain, strong, weak, copy, assign, readonly, readwrite
 3 Ngôn ngữ Objective C nâng cao:
- Protocol, Delegate
- Category, Extension
- Một số thay đổi, cải tiến trong Objective C ở phiên bản iOS 6
 4 Lập trình với tập hợp: 

- NSArray, NSDictionary, NSSet, NSData

- NSMutableArray, NSMutableDictionary, NSMutableData

- Cú pháp khởi tạo Array, Dictionary, Set, Data trong iOS 6

 5 Thiết kế ứng dụng SingleView với UIButton, UITextField, UILabel 

- Sử dụng Interface Builder trong XCode.

- Làm quen với StoryBoard trong iOS SDK 5.x

- Lập trình hứng sự kiện tương tác bằng 2 phương pháp Delegate và Target -Action, khái niệm @selector

- Các loại bàn phím trong iPhone và iPad

 6  Thiết kế giao diện sử dụng UIControl: UISwitch, UISegmentedControl, UISlider, UIStepper 

- Nâng cấp giao diện cho UISlider, UISegmentedControl

- Chức năng AutoLayout (tự động điều chỉnh giao diện theo thiết bị) trong iOS6

 7  Thiết kế giao diện sử dụng UIView: UIImageView, UITextView, UIWebView 

- Viết app duyệt web và xem PDF

- Viết app hoạt hình sử dụng UIImageView

- NSAttributedString: hiển thị chuỗi kỹ tự với định dạng, tính năng lần đầu xuất hiện trong iOS6

 8 Mô hình Model – View – Controller 

Giao diện UINavigationController: Master – Detail

Giao diện UITabbarController

Customize ViewController

Thiết kế giao diện bằng lập trình, Interface Builder và StoryBoard

Chia xẻ dữ liệu giữa các ViewController

 9 UIScrollView – UIScrollView Delegate 

Nested UIScrollView, Zoom, Paging

UIPickerView – UIDatePicker

- Giới thiệu UICollectionView trong iOS6

- Viết app trò chơi Tôm – Cua – Cá

 10 UITableViewController – UITableView -UITableViewCell 

- UITableViewDelegate – UITableViewDataSource

- Table View đơn giản và phân loại

- Customize UITableViewCell

- Đọc dữ liệu từ file Property List trong bundle

- Viết app cung cấp nội dung số (danh sách các nước trên thế giới, sách học nấu ăn, sách dạy toán)

 11 Chuyên sâu UITableView, UISearchBar 

Thêm sửa, xóa dữ liệu, tìm kiếm dữ liệu trong bảng

Customize UITableView header, footer, cell, background

- Viết app quản lý nhân sự

 12 Lập trình xử lý đa chạm 

- UIGestureRecognizer (Tap, Touch, LongPress, Swipe, Pan, Pinch, Rotate)

- Phân tích tọa độ tương tác, trạng thái hành động tương tác

- Giới thiệu CoreAnimation

 13 Thiết kế giao diện Universal chạy trên cả iPad và iPhone 

- Độ phân giải khác nhau của các thiết bị

- Kiểm tra tính năng hiện có một thiết bị iOS, kiểm tra version của iOS cài đặt trong thiết bị

- UISplitViewController – UIPopOverController

- Xử lý giao diện phù hợp với hướng xoay thiết bị Portrait – Landscape Orientation

 14 Lập trình Audio – Video căn bản 

- Playback, quản lý quá trình chơi nhạc – video, thay đổi âm lượng

- Ghi âm, lấy thumbnail trong video

 15 Bản đồ số – dịch vụ địa điểm trong iOS6 

UIMapKit – MapKitAnnotation – MKOverlay: hiển thị bản đồ số và thông tin bổ trợ

Xác định tọa độ người sử dụng

Bám tọa độ di chuyển – Chuyển  đổi giữa thông tin địa chỉ và tọa độ bằng GeoCoder

Những lưu ý khi nâng cấp chức năng bản đồ số ứng dụng từ iOS 4.x, 5.x lên 6.x

- Viết app tích hợp bản đồ số

Nghỉ một tuần làm dự án số 1
 16 Truy xuất danh bạ AddressBook 

- Truy vấn, lấy về tất cả hoặc tiêu chí

- Tạo một bản ghi danh bạ một người – một nhóm.

- Thay đổi thông tin danh bạ của một người, thay đổi ảnh

 17 Quy trình gỡ rối, kiểm tra chất lượng ứng dụng trên thiết bị thật 

- Đăng ký tài khoản Apple Developer

- Sử dụng Apple Developer Provisioning Portal, bổ xung thiết bị chạy thử

- Code sign app và đưa app lên thiết bị kiểm tra

- Phát hành app trên AppStore

 18 Lập trình đồng bộ – Concurrency 

- Khái niệm concurrency – synchronous – asynchronous. Ôn lại Blocks

- Multithreads – NSThread – Locking (tham khảo nhưng không học)

- Timers

- Grand Central Dispatch

- NSOperation

 19 Lập trình networking – Thư viện chuẩn của Apple 

- NSURLConnection, NSURLRequest, NSURLDownload

- delegate vs block programming

- Tham khảo ví dụ LazyTableLoading, TopSong của Apple

 20  Lập trình kết nối đến JSON service trong iOS 5 và của hãng thứ 3 

- AFNetworking, JSONkit

- NSJSONSerialization class trong iOS5

- Viết app truy vấn dữ liệu web service

 21  Lập trình CoreData 

- Kiến trúc ORM, các thành phần CoreData của iOS: ManagedObjectContext, PersistenceStoreCoordinator, NS

- Thêm, mới, sửa, xóa, tìm kiếm dữ liệu trong CoreData

 22  Lập trình SQLite 

- Thư viện FMDB wrap SQLite

- Sử dụng Lita SQLite Administration hoặc SQLiteManager FireFox addon để quản lý file SQLite data.

- Tập lệnh SQL cơ bản SELECT, INSERT, UPDATE, DELETE, JOIN

 23  Đồ họa với UIKit – CoreGraphics 

- Hệ tọa độ ULO-LLO. Sự khác biệt với Point và Hardware-Pixel.

- Graphics Context: CGContext, CGBitmapContext, CGPDFContext

- Vẽ hình cơ bản với UIKit và CoreGraphics, đường cong Bezier

 24  Lập trình xử lý ảnh với CoreImage 

- Truy xuất lấy ảnh từ Photo Album hoặc trong Camera

- Bộ lọc ảnh căn bản

- Thay đổi giá trị bộ lọc

- Lưu ảnh sửa đổi vào Photo Album

 25 Ứng dụng đọc sách sử dụng UIPageViewController 

Xử lý định dạng ePub

 26 Thay đổi giao diện ứng dụng với UIKit 

hoặc

Lập trình chia sẻ mạng xã hội Twitter & FaceBook trên iOS 6

 27 Lập trình đa nhiệm – Multitasking 

- Kiểm tra khả năng đa nhiệm của thiết bị

- Chạy ứng tốn thời gian chế độ nền

 28 Lập trình CoreMotion 

- Đọc dữ liệu từ cảm biến gia tốc (accelerometer) và cảm biến con quay hồi chuyển (gyroscope)

- Nhận dạng tương tác lắc thiết bị

- Viết ứng dụng thước đo góc nghiêng

 29 Lập trình chia xẻ dữ liệu trên iCloud 

- Cấu hình ứng dụng nối lên iCloud

- Lưu và đồng bộ  Dictionaries

- Lưu, đồng bộ, tìm kiếm file, thư mục trên iCloud

 30 Bảo vệ dự án tốt nghiệp (học viên chỉ được cấp bằng trình độ chuyên nghiệp khi bảo vệ thành công ứng dụng tốt nghiệp)

Apple iOS căn bản đến nâng cao số 6 khai giảng ngày 16/7/2012