Danh sách môn học
Lập trình hướng đối tượng (bằng Java)
Xem chi tiết →Cơ sở dữ liệu và giải thuật
Xem chi tiết →Lập trình di động cơ bản
Xem chi tiết →Lập trình di động nâng cao
Xem chi tiết →Đồ án cuối khoá
Xem chi tiết →1. Bối cảnh và xu hướng
Trong bối cảnh xu hướng công nghệ ngày càng phát triển, những ứng dụng di động đã trở thành một phần không thể thiếu trong cuộc sống của chúng ta. Với sự phát triển nhanh chóng của công nghệ thông tin, các ứng dụng di động ngày càng trở nên phổ biến trên toàn thế giới. Ứng dụng di động không chỉ hỗ trợ cho người dùng trong việc giải trí, mua sắm, đọc báo, hay thậm chí là kết nối với những người thân yêu, mà còn ảnh hưởng đến một loạt các lĩnh vực khác nhau như giáo dục, y tế và thương mại điện tử.
Hiện nay, lập trình di động đang là xu hướng rất hot, đặc biệt là trong thời đại công nghệ 4.0. Với sự phát triển không ngừng của smartphone và các thiết bị di động khác, nhu cầu sử dụng các ứng dụng di động cũng ngày càng tăng cao. Nhiều người dùng mong muốn có thể tiếp cận, sử dụng và quản lý dữ liệu cá nhân của mình mọi lúc, mọi nơi, mà không cần phải dựa vào máy tính hay các thiết bị lớn hơn.
Vì vậy, các nhà phát triển ứng dụng đang dần chuyển hướng mình vào việc phát triển các ứng dụng di động. Chúng ta có thể thấy rằng, hiện nay đã có rất nhiều ứng dụng hữu ích, mang tới lợi ích và tiện ích cho cuộc sống của người dùng. Tuy nhiên, để phát triển một ứng dụng chuẩn mực và chất lượng còn trở thành một thách thức đối với các nhà phát triển.
Theo dự báo, trong tương lai gần, lập trình di động sẽ còn là một xu hướng tiên tiến, với sự giải phóng sức mạnh của trí tuệ nhân tạo và học máy. Các ứng dụng di động sẽ được phát triển để đáp ứng tốt hơn các nhu cầu của người dùng, với các tính năng thông minh như chatbot, trợ lý ảo hay tích hợp công nghệ blockchain, tạo ra các sản phẩm chất lượng và an toàn hơn.
Từ nhu cầu bức thiết của thị trường, FUNiX đã cho ra mắt khóa học này nhằm giúp bạn có các kỹ năng cần thiết như lập trình hướng đối tượng, làm việc với cấu trúc dữ liệu, cơ sở dữ liệu và lập trình di động. Từ đó tạo bước đệm quan trọng để các bạn có thể vững bước trên con đường trở thành lập trình viên ứng dụng di động Java Android.
2. Mô tả ngắn về chương trình
Từ khảo sát các kỹ năng cần thiết cho Android Developer làm cơ sở xây dựng chương trình học tập phù hợp, Funix đã phát triển khóa học này nhằm mục đích giúp các bạn học viên có mong muốn trở thành lập trình viên Android sở hữu các kỹ năng cơ bản từ đó mở ra cơ hội nghề nghiệp hấp dẫn sau này.
Chương trình sẽ bao gồm các môn sau:
- Lập trình hướng đối tượng ( bằng Java ).
- Cơ sở dữ liệu và giải thuật.
- Lập trình di động cơ bản.
- Lập trình di động nâng cao.
3. Đầu ra sau khi hoàn thành chương trình
Sau khi học xong, học viên có thể làm việc tại các công ty game, công ty phần mềm ở các vị trí công việc:
- Mobile App Programmer.
- Mobile Software programmer.
- Mobile App Designer.
- Infrastructure Developer.
- Mobile Application Consultant.
4. Mục tiêu (Học viên học xong có năng lực gì)
- PO1: Xây dựng được chương trình Java hoàn chỉnh theo thiết kế hướng đối tượng
- PO2: Nắm rõ và sử dụng thành thạo các câu lệnh truy vấn dữ liệu trong cơ sở dữ liệu.
- PO3: Hiểu được về cấu trúc dữ liệu tuyến tính và giải thuật cơ bản.
- PO3: Xác định được các yếu tố cấu thành giao diện của người dùng và tương tác với trải nghiệm người dùng trong ứng dụng di động.
- PO5: Nắm được các kiến thức và thực hành xây dựng được các ứng dụng di động bằng ngôn ngữ Java.
- PO6: Tìm hiểu và vận dụng những kiến thức nâng cao trong việc xây dựng ứng dụng di động.
- PO7: Vận dụng kiến thức để phát triển trong các bài toán thực tế của ứng dụng di động có độ phức tạp lớn.
5. Yêu cầu đầu vào và đối tượng phù hợp
Tất cả mọi người đều có thể tham gia khóa học này, đặc biệt là những người:
- Có đam mê, mong muốn làm việc trong ngành công nghệ thông tin.
- Muốn bắt đầu tìm hiểu và học về lập trình.
- Muốn tạo ra các ứng dụng di động cho riêng mình hoặc cho doanh nghiệp của mình để tăng cường tính cạnh tranh.
- Tìm kiếm công việc mới trong lĩnh vực lập trình di động để phát triển sự nghiệp.
6. Các môn học thành phần của chương trình
# |
Môn học |
Đáp ứng mục tiêu PO |
1 |
Lập trình hướng đối tượng ( bằng Java ) |
PO1 |
2 |
Cơ sở dữ liệu và giải thuật |
PO2, PO3 |
3 |
Lập trình di động cơ bản |
PO4, PO5 |
4 |
Lập trình di động nâng cao |
PO6, PO7 |
6.1 Lập trình hướng đối tượng (bằng Java)
Mục tiêu của môn học là giúp cho học viên hiểu được các khái niệm từ cơ bản đến nâng cao của ngôn ngữ lập trình Java. Sau khi hoàn thành khóa học này, bạn sẽ thấy mình ở mức độ chuyên môn vừa phải về Java, từ đó bạn có thể đưa mình lên các cấp độ tiếp theo. Môn học này là sự chuẩn bị và cũng là điều kiện để các bạn có thể học tiếp được các môn tiếp theo trong chương trình.
# |
Mục tiêu |
1 |
Hiểu các khái niệm về các chương trình hướng đối tượng để giải quyết các bài toán và vấn đề cơ bản của lập trình hướng đối tượng. |
2 |
Thực hành cú pháp và ngữ nghĩa ngôn ngữ Java cơ bản để viết chương trình Java và sử dụng các khái niệm như biến, phương thức thực thi có điều kiện và lặp lại. |
3 |
Dùng stream để đọc và viết dữ liệu từ/cho các kiểu khác nhau của nguồn/đích. |
4 |
Hiểu về lợi ích và việc sử dụng cơ chế xử lý ngoại lệ của Java. |
5 |
Xác định các class, các object, các member của class và các mối quan hệ giữa chúng cần thiết cho một vấn đề cụ thể. |
6 |
Giải thích khái niệm và chứng minh cách sử dụng tính đa hình, tính đóng gói, tính trừu tượng và tính kế thừa trong Java. |
7 |
Hiểu nguyên tắc và cách sử dụng các lớp trừu tượng và interface trong Java. |
8 |
Hiểu và triển khai một chương trình hoàn chỉnh bằng object array. |
9 |
Giải thích nguyên tắc và cách sử dụng của một vài kiểu dữ liệu trừu tượng (thuộc java collection) như list, set, map, … |
6.2 Cơ sở dữ liệu và giải thuật
Phần đầu của môn học các bạn sẽ được giới thiệu những khái niệm cơ bản nhất như khái niệm cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, ngôn ngữ truy vấn dữ liệu. Ngoài ra các bạn cũng sẽ bước đầu được tiếp xúc với cách viết các câu truy vấn cơ bản trong MySQL.
Tiếp đó, trong phần hai các bạn sẽ được học về các kiểu dữ liệu phổ biến trong MySQL, đặc biệt trong phần này các bạn sẽ được học về các kiểu lệnh JOIN để thực hiện truy vấn kết hợp trên nhiều bảng.
Trong phần 3, các bạn sẽ được học về khái niệm giải thuật cơ bản như giải thuật tham lam, giải thuật chia để trị, quy hoạch động, … đồng thời bạn cũng sẽ vận dụng các giải thuật ấy để giải quyết các bài toán đề bài đưa ra.
Phần cuối cùng, các bạn sẽ tìm hiểu về các khái niệm cơ bản trong cấu trúc dữ liệu là mảng, danh sách liên kết và ngăn xếp, hàng đợi.
# |
Mục tiêu |
1 |
Hiểu về các khái niệm cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu, ngôn ngữ truy vấn. |
2 |
Hiểu và biết cách sử dụng thành thạo các lệnh truy vấn dữ liệu |
3 |
Nắm được các giải thuật cơ bản. |
4 |
Hiểu về cấu trúc dữ liệu tuyến tính cơ bản. |
6.3 Lập trình di động cơ bản
Mục tiêu của môn học là xây dựng cho học viên kiến thức và kỹ năng cần thiết để phát triển các ứng dụng di động đa nền tảng và đáp ứng nhu cầu của người dùng di động. Học viên sẽ học cách tạo ra các ứng dụng theo các yêu cầu và tiêu chuẩn khác nhau của các hệ điều hành, khai thác các tính năng cơ bản từ thiết bị di động, xử lý các lỗi cơ bản và tối ưu hóa hiệu suất ứng dụng.
Ngoài ra, môn học còn bao gồm cung cấp cho học viên các công cụ và kỹ thuật để thực hiện các hoạt động được liên quan đến lập trình di động, bao gồm thiết kế giao diện, tích hợp các công nghệ khác nhau, phát triển chức năng, testing, debugging và triển khai ứng dụng trên các nền tảng khác nhau
# |
Mục tiêu |
1 |
|
2 |
Thực hành xây dựng giữa giao diện người dùng và trải nghiệm người dùng thông qua Wireframe và MockUp. |
3 |
Hiểu được lịch sử, kiến trúc và các phiên bản của hệ điều hành Android, cấu trúc của một dự án Android. |
4 |
Nắm được các thành phần chính trong Android SDK, có thể viết code để xử lý các tương tác của người dùng trên giao diện. |
5 |
Hiểu được về các đối tượng giao diện cơ bản và có thể xây dựng được các màn hình chức năng cho người dùng |
6 |
Nắm rõ kiến thức và thao tác được các đối tượng Context, Activity, Intent để tương tác giữa các màn hình chức năng. |
6.4 Lập trình di động nâng cao
Mục tiêu của môn học là xây dựng cho học viên kiến thức và kỹ năng nâng cao để có thể vận dụng và thực hành tốt đối với các bài toán phức tạp. Ngoài ra, nắm bắt được các đối tượng nâng cao trong việc thiết kế và thao tác với các màn hình với việc xử lý đối với các tác vụ chạy nền trong ứng dụng thông qua Service cũng như cơ chế gửi / nhận tin nhắn trên Android sẽ được đề cập trong môn này. Hiểu và nắm rõ phương pháp lưu trữ và xử lý dữ liệu sẽ giúp có cái nhìn tổng quan trong việc triển khai vào thao tác với bài toán thực tế hiện nay.
# |
Mục tiêu |
1 |
|
2 |
Xây dựng việc hiển thị giao diện màn hình nâng cao thông qua các đối tượng Toast, Dialog và sử dụng thành thạo Fragment để thiết kế các màn hình riêng biệt. |
3 |
Hiểu được việc cần thiết trong việc khai báo và cấp quyền người dùng trong ứng dụng di động. |
4 |
Hiểu về Service & Broadcast Receiver trong thực thi các tác vụ chạy dưới nền mà không cần giao diện |
5 |
Hiểu và vận dụng tốt cơ chế gửi / nhận tin nhắn trên Android và thực thi với các bài toán realtime. |
6 |
Nắm rõ phương pháp lưu trữ dữ liệu với Storage và có thể thực hiện viết chương trình quản lý/đọc/ghi dữ liệu vào Storage của thiết bị |
7 |
Hiểu về việc thao tác và xử lý dữ liệu dưới định dạng JSON (API) trong các bài toán thực tế. |
6.5 Đồ án cuối khóa
Học viên có thể chọn 1 trong 2 option sau:
Option 1: Làm đồ án tốt nghiệp.
Đối với các học viên theo học chương trình biên soạn, học viên sẽ được hướng dẫn chọn làm đề tài/khóa luận với các mentor hướng dẫn trực tiếp.
Option 2: Đi thực tập tại doanh nghiệp.
Đối với các bạn học viên có nguyện vọng thực tập tại các doanh nghiệp, FUNiX sẽ hỗ trợ kết nối các bạn với các doanh nghiệp để chuẩn bị CV và phỏng vấn vào thực tập. Nếu được doanh nghiệp nhận, học viên cần chủ động tìm hiểu và vận dụng các kiến thức đã học hoàn thành mục tiêu thực tập.
7. Phương án thực hành
Chương trình có đề bài thực hành giúp học viên rèn luyện khả năng lập trình bám theo các bài lý thuyết đã được dạy.
# |
Môn học |
Định hướng Course Project |
11 |
Lập trình hướng đối tượng ( bằng Java ) |
Assignment 1: Ngân hàng số phiên bản v1.0.0 Chủ đề: Trong bài tập này, bạn sẽ xây dựng phần mềm ngân hàng số cho phép kiểm tra mã số căn cước công dân, từ đó biết được thông tin người cần truy cập. Yêu cầu:
|
Assignment 2: Ngân hàng số phiên bản v2.0.0 Chủ đề: Trong bài assignment này, bạn sẽ xây dựng phần mềm ngân hàng số cho phép kiểm tra mã số căn cước công dân, từ đó biết được thông tin người cần truy cập. Yêu cầu:
|
||
Assignment 3: Ngân hàng số phiên bản v3.0.0 Chủ đề: Trong assignment này, bạn sẽ xây dựng phần mềm ngân hàng số cho phép quản lý thông tin khách hàng, thêm các tài khoản ATM và tài khoản tín dụng, rút tiền từ các ngân hàng và xem lịch sử giao dịch. Yêu cầu:
|
||
Assignment 4: Ngân hàng số phiên bản v4.0.0 Chủ đề: Trong assignment này, bạn sẽ xây dựng phần mềm ngân hàng số cho phép quản lý danh sách khách hàng, thêm khách hàng từ file, thực hiện các thao tác tạo tài khoản và giao dịch, tất cả đều được lưu trữ vào file phục vụ lần chạy chương trình sau dữ liệu vẫn truy cập tiếp được. Yêu cầu:
|
||
22 |
Cơ sở dữ liệu và giải thuật |
Assignment 1: Truy vấn dữ liệu nhân sự Chủ đề: Trong thực tế, bài toán SQL về nhân sự rất hay gặp phải. Các bạn sẽ gặp hai đối tượng rất nhiều là nhân viên (employees) và phòng ban (departments). Trong bài ASM này, các bạn sẽ cần vận dụng các kỹ năng truy vấn mà các bạn đã được học để hoàn thành các yêu cầu trong bài. Yêu cầu:
|
Assignment 2: Sắp xếp, tìm kiếm cơ bản Chủ đề: Trong bài assignment này, học viên sẽ xây dựng chương trình để thực hiện các công việc sắp xếp và tìm kiếm trên một dãy số thực. Yêu cầu:
|
33 |
Lập trình di động cơ bản |
Assignment 1: Xây dựng MockUp và Wireframe Chủ đề: Vận dụng những kiến thức và kỹ thuật đã học liên quan đến thiết kế trải nghiệm người dùng như cách thức xây dựng ý tưởng đề tài, những kỹ thuật prototype paper và wireframe để hình thành bố cục cụ thể các phần tử trong giao diện, cũng như cách phối hợp bảng tâm trạng để tạo nên giao diện trực quan hơn thông qua MockUp. Mục tiêu:
|
Assignment 2: Xây dựng ứng dụng Tour Guide Chủ đề: Xây dựng ứng dụng Tour Guide, hỗ trợ khách du lịch tra cứu thông tin về Khách Sạn, ATM, Bệnh Viện, Điểm đón Xe Bus ở thành phố mà bạn sinh sống. Mục tiêu:
|
||
Assignment 3: Xây dựng ứng dụng Quiz Chủ đề: Xây dựng ứng dụng Quiz, cho phép người dùng thực hiện các bài test theo chủ đề cho trước. Người dùng có thể đồng thời xem nội dung và trả lời các câu hỏi trong một bài Quiz trên cùng một màn hình. Ngoài ra, Người dùng có thể chủ động thực hiện gửi các câu trả lời bài Quiz. Ứng dụng có khả năng chấm điểm và phản hồi kết quả bài Quiz sau khi nhận được thông tin bài làm. Mục tiêu:
|
||
4 |
Lập trình di động nâng cao |
Assignment 1: Xây dựng ứng dụng thời tiết.
Mục tiêu:
|
Assignment 2: Xây dựng ứng dụng Animal (bản cũ) Chủ đề: Xây dựng được một ứng dụng hiển thị và phân loại theo chủ đề loại con vật. Mỗi loại con vật khác nhau sẽ từng con vật khác nhau và đi kèm với thông tin chi tiết của chúng. Có thể thực hiện chức năng lưu trữ thông tin, tương tác với cuộc gọi đến / đi trong ứng dụng. Mục tiêu:
|
||
Assignment 3: Xây dựng ứng dụng Movies Chủ đề: Xây dựng được một ứng dụng di động có thể xem được những bộ phim đã và đang có trên hệ thống. Ngoài ra, có thể chi tiết thông tin của bộ phim đó, bình luận, thả yêu thích đối với bộ phim đó. Ngoài ra có thể đăng nhập thông qua bên thứ ba và sử dụng dịch vụ tương ứng. Mục tiêu:
|
||
Assignment 4: Xây dựng ứng dụng thương mại điện tử. Chủ đề: Xây dựng được một ứng dụng di động có thể xem được những thông tin về sản phẩm hiện có ở trên sàn thương mại. Ngoài ra, có thể xem thông tin chi tiết sản phẩm, tìm kiếm sản phẩm và mua sản phẩm. Thêm vào đó, thanh toán giỏ hàng được tích hợp thông qua các kênh thanh toán như VNPay để tiện lợi mua sắm. Các chức năng nâng cao sẽ bao gồm: bình luận sản phẩm, thả ‘tim’ cho sản phẩm,… Mục tiêu:
|