Thông tin chung
Ngày nay, với sự phát triển nhanh của ngành công nghệ thông tin, các ngôn ngữ lập trình đang ngày càng trở nên phong phú và đa dạng. Trong một số lĩnh vực, những ngôn ngữ lập trình truyền thống với vị thế vững chãi cũng đã và đang dần dần bị thay thế bởi các ngôn ngữ mới hơn, linh hoạt hơn và gần với ngôn ngữ tự nhiên hơn. Kotlin là một ngôn ngữ như vậy, tuy ra đời chưa lâu nhưng được hỗ trợ đa nền tảng, thêm vào đó là cú pháp đơn giản xúc tích, đã và đang ngày càng trở nên phổ biến trong nhiều lĩnh vực công nghệ thông tin.
Khoá học này nằm trong chương trình Rocky program của Funix, hướng đến việc tạo nguồn nhân lực lập trình đa nền tảng, đáp ứng nhu cầu của thị trường công nghệ thông tin trong và ngoài nước. Sau khi học xong khóa học này, học viên có thể sử dụng Kotlin một cách thuần thục, qua đó tạo tiền đề tốt nhất để học viên tiếp cận với thị trường công nghệ thông tin đang ngày một mở rộng.
Đối tượng tham gia
1. Những người muốn học lập trình ngôn ngữ Kotlin
2. Những người muốn chuyển đổi mã của mình từ Java sang Kotlin.
3. Những người muốn học lập trình đa nền tảng như web và lập trình di dộng.
4. Những người muốn học kỹ thuật lập trình hàm.
5. Học viên nên trang bị trước kiến thức cơ bản về lập trình và một nền tảng phát triển ứng dụng để tiếp thu tốt các kiến thức lý thuyết cũng như có khả năng vận dụng để làm bài tập thực hành.
Mục tiêu môn học
Sau khi học xong môn này, học viên sẽ đạt được các chuẩn kiến thức, kỹ năng đầu ra như sau:
Phân tích được những thông tin cơ bản xoay quanh Kotlin (nguồn gốc, nhà phát hành, bối cảnh, lịch sử phát triển, ứng dụng, JVM, JRE, JDK..)
Cài đặt được JDK và Intellij trên máy tính cá nhân, sử dụng được intellij để lập trình và gỡ rối.
Khai báo và sử dụng được các kiểu dữ liệu cơ bản và hệ thống kiểu (numbers, characters, booleans, arrays, strings, null, any, nothing, type alias)
Sử dụng được các câu lệnh rẽ nhánh (if, when) và vòng lặp (for, while)
Xây dựng được đồng thời biết cách sử dụng các lời gọi hàm (function), biểu thức lambda (lambda expression) và giao diện chức năng (functional interface – Single Abstract Method)
Sử dụng được các kiểu dữ liệu tập hợp Collections (list, set, map, iterator, range và progression)
Xử lý được các ngoại lệ (exception) trong chương trình
Trình bày được khái niệm về lập trình hướng đối tượng
Trình bày được khái niệm và tư tưởng của lập trình chức năng (functional programming), so sánh với lập trình hướng đối tượng
Khai báo, sử dụng được lớp (class) và đối tượng (object)
Trình bày được khái niệm package, module, visible modifiers
Liệt kê được các tính chất của hướng đối tượng (kế thừa, đa hình, đóng gói)
Thực hành được với các đặc tính của hướng đối tượng
Trình bày được khái niệm interface, phân biệt được interface và class
Sử dụng được các kiểu lớp đặc biệt (object class, data class, enum class, sealed, nested class)
Sử dụng được các từ khoá const, companion object
Sử dụng được extension, generic
Thực hành được với nhập xuất dữ liệu chuẩn (Standard input/output) và với tệp (File operation)
Áp dụng được coding convention khi viết chương trình Kotlin
Xây dựng được ứng dụng kotlin đơn giản với giao diện dòng lệnh
Xây dựng các ứng dụng kotlin thực thi tác vụ vào ra file
Xây dựng các ứng dụng kotlin theo nguyên lý hướng đối tượng
Trải nghiệm học tập
Môn học sẽ có 5 phần, gồm 18 bài học. Mỗi bài sẽ có các đoạn video yêu cầu học viên phải xem kỹ, một hoặc vài bài đọc thêm phải đọc kỹ và trả lời quiz. Sau mỗi bài học học viên sẽ phải hoàn thành các bài tập và bài lab. Ở cuối mỗi phần sẽ có 1 bài assignment được thiết kế như một dự án thực tế thu nhỏ, giúp học viên các thể sớm làm quen với các dự án trong thực tế cũng như hệ thống lại kiến thức của mình.
Trong thời gian học (dự kiến là 6 tuần), việc phân bổ tuần học là rất quan trọng. Nếu các bạn có bất cứ câu hỏi nào hãy kết nối với mentor để được giải đáp.
Đặc điểm môn học
1. Kotlin là ngôn ngữ hỗ trợ đa nền tảng bao gồm JVM (Kotlin / JVM), JavaScript (Kotlin / JS) và native code (Kotlin / Native), nó đã được phổ biến sử dụng cho phát triển ứng dụng web và thiết bị di động. Do đó, hỗ trợ học viên có thể lựa chọn mở rộng kiến thức ở nhiều mảng công nghệ khác nhau để phát triển sự nghiệp theo ý thích.
2. Kotlin ra đời không những vừa giúp các lập trình viên Android sử dụng Java cũ có cơ hội được học hỏi và nâng cấp kiến thức, nâng cấp sản phẩm của họ mà còn giúp cho các bạn nào dự định làm quen với lập trình Android có một lựa chọn hiệu quả hơn về một ngôn ngữ chính thức dành cho hệ điều hành này.
3. Các bài tập thực hành được thiết kế dựa trên các kinh nghiệm thực tế của giảng viên.
Nguồn học liệu
Với môn học Kỹ thuật lập trình Kotlin này, chúng tôi tin tưởng giới thiệu với học viên tài nguyên MOOC chính của khóa học này là Udacity, KOTLIN EXPERTISE BLOG, Jetbrain Academy và Smartherd: Kotlin Programming for Android: Beginners Tutorial.
Việc liệt kê nguồn dưới đây không nhất thiết hàm ý rằng FUNiX có sự hợp tác chính thức với chủ sở hữu của nguồn: Udacity, KOTLIN EXPERTISE BLOG, Jetbrain Academy và Smartherd: Kotlin Programming for Android: Beginners Tutorial.