Danh sách môn học
Xây dựng website đầu tiên Java
Xem chi tiết →Cơ sở dữ liệu và giải thuật
Xem chi tiết →Phát triển ứng dụng Web
Xem chi tiết →Đồ án cuối khoá
Xem chi tiết →Lập trình hướng đối tượng (bằng Java)
Xem chi tiết →1. Bối cảnh và xu hướng
Lập trình viên Java là những người sử dụng ngôn ngữ lập trình Java để thiết kế, xây dựng và phát triển các ứng dụng, website ở mọi lĩnh vực. Họ sẽ kết hợp với những Web Developer hay các Software Deloper để tích hợp Java vào các ứng dụng, phần mềm.
Đây là ngôn ngữ lập trình vô cùng phổ biến trong thời gian gần đây và được nhiều công ty, lập trình viên lựa chọn sử dụng trong quá trình xây dựng các hệ thống, phần mềm ở đa lĩnh vực.
Sở dĩ Java trở thành một ngôn ngữ lập trình “HOT” bởi nó có tính “hướng đối tượng và độc lập nền tảng”. Bạn có thể sử dụng Java để làm việc ở bất cứ nền tảng nào mà không cần biên dịch lại.
Java được xây dựng dựa trên phương châm:
“Write once, run anywhere”
Có nghĩa là viết một lần và chạy ở bất kỳ nơi nào. Như vậy thậm chí Java Developer còn trở nên tuyệt vời hơn bởi sự đa dạng về hướng phát triển. Với một vũ khí sắc bén là ngôn ngữ Java, Java Developer hoàn toàn có thể tham gia vào các mảng như Front End, Back End, Full-Stack. Tùy vào mỗi hướng đi mà lập trình viên Java sẽ đảm nhiệm các hạng mục công việc khác nhau. Có thể nói, chưa bao giờ mà các nhà tuyển dụng lại “khao khát” các lập trình viên với sự phát triển vô hạn – Developer như hiện tại.
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, Databases 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 Java.
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 Java 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 Java 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:
- Xây dựng website đầu tiên
- Lập trình hướng đối tượng (bằng Java)
- Cơ sở dữ liệu và giải thuật
- Phát triển ứng dụng Web
3. Mục tiêu (Học viên học xong có năng lực gì)
- PO1: Tạo được trang Web từ HTML, CSS, Bootstrap 5
- PO2: Xây dựng được chương trình Java hoàn chỉnh theo thiết kế hướng đối tượng
- PO3: Biết cách sử dụng cơ sở dữ liệu và giải thuật
- PO4: Xây dựng được các ứng dụng Web bằng ngôn ngữ Java
4. 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à:
- 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.
5. Các môn học thành phần của chương trình
# |
Môn học |
Số tín chỉ |
Đáp ứng mục tiêu PO |
1 |
Xây dựng website đầu tiên |
3 |
PO1 |
2 |
Lập trình hướng đối tượng (bằng Java) |
3 |
PO2 |
3 |
Cơ sở dữ liệu và giải thuật |
3 |
PO3 |
4 |
Phát triển ứng dụng Web |
3 |
PO4 |
5.1 Xây dựng website đầu tiên
Môn học này giúp người học có thể hiểu những kiến thức tạo nên một website cơ bản và có thể tạo ra website của riêng mình hoặc tham gia các dự án xây dựng giao diện khác, cung cấp những kĩ năng cơ bản nhất đề người học có thể làm chủ được quá trình tạo ra một website và có thể ứng dụng trong thực tế. Kiến thức trong môn học này cũng là điều kiện tiền đề để người học tiếp tục tham gia các môn học chuyên sâu về lập trình web tiếp theo.
# |
Mục tiêu |
1 |
Nắm bắt và vận dụng các thẻ HTML cơ bản. |
2 |
Nắm bắt và vận dụng các thuộc tính CSS cơ bản. |
3 |
Xây dựng được layout cho Website. |
4 |
Nắm bắt và vận dụng cơ bản JavaScript trong xây dựng Website. |
5 |
Xây dựng được Website Responsive. |
6 |
Đưa được Website lên online. |
5.2 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ộ 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, … |
5.3 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. |
5.4 Phát triển ứng dụng Web
Mục tiêu của môn học là giúp người học hiểu được những kiến thức cơ bản trong Spring Framework, vận dụng Spring để có thể ra một trang web cũng như là thao tác với API (Back-End Server) tương ứng.
Trong phần đầu tiên, chúng ta sẽ làm quen với các khái niệm nền tảng cũng như là việc cài đặt môi trường cần thiết dành cho Spring Framework. Đi sâu thêm nữa là được tiếp cận với các vấn đề cơ bản của Spring Core. Đây là kiến thức rất quan trọng để có thể đi sâu hơn khi làm việc với nhiều vấn đề nâng cao của Spring Framework.
Tiếp đó, trong phần hai, chúng ta sẽ được làm quen với Spring MVC, một dạng Framework được ‘ưa chuộng’ và sử dụng rộng rãi khi sử dụng để lập trình web bằng Java. Bạn sẽ nắm được khái niệm và vai trò của Hibernate trong bài toán thao tác với cơ sở dữ liệu.
Ở phần ba, bạn sẽ được làm quen với Spring Security, thực hành bài toán vào việc kiểm soát xác thực phân quyền trong hệ thống, đi kèm đó là được thực hành cấu hình luồng hệ thống để mã hóa mật khẩu dưới dạng MD5 của Spring Security cung cấp.
Cuối cùng, Spring REST và Spring Data JPA là kiến thức không thể thiếu trong vấn đề thực hành với Spring Framework. Bạn sẽ được hiểu và nắm bắt được kiến thức thực hành trong việc xây dựng và quản lý API cho một Web Service cơ bản, xây dựng theo cấu trúc của Spring Boot để quản lý và cấu hình dự án theo ‘chuẩn’ Spring.
# |
Mục tiêu |
1 |
Hiểu được 5 đặc tính cơ bản của Spring: Core, Annotations, Java Config, AOP, Spring MVC, Hibernate and Maven. |
2 |
Nắm rõ được các đặc tính của Spring Core, sử dụng được thành thạo DI và IoC. |
3 |
Nắm được khái niệm tổng quan về Spring, cũng như áp dụng tốt các framework vào thực tế. |
4 |
Có được hướng phát triển tiếp theo đối với Spring REST, thao tác với API. |
5 |
Hiểu được cách xác định sử dụng các luồng trong Spring Data JPA, Spring Security và Spring Boot. |
5.5 Đồ án cuối khoá
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.
6.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 |
1 |
Xây dựng website đầu tiên |
Assigment 1: Xây dựng trang Digital CV Chủ đề: Bạn phải xây dựng được một trang CV cho riêng mình bằng kiến thức HTML đã học. Mục tiêu:
|
Assigment 2: Xây dựng website cá nhân Chủ đề: Trong assignment này, bạn sẽ sửa lại layout cũng như nâng cấp giao diện của trang Digital CV bạn đã làm ở Assignment 01. Mục tiêu:
|
||
Assigment 3: Thiết kế và triển khai một website hoàn chỉnh Chủ đề: Sau khi đã tạo Layout và chỉnh sửa lại trang Digital CV, chúng ta sẽ đến một bước cũng vô cùng quan trọng đó là thêm Responsive cho trang Web, để trang web có thể hiển thị đẹp mắt trên nhiều kích cỡ màn hình khác nhau (Laptop, Tablet, Mobile, …). Ở bài Assignment này, bạn sẽ sử dụng Bootstrap 5.0 và media query để tạo Responsive cho Website, sau đó bạn sẽ thực hành đưa trang Web đã hoàn thiện lên online để mọi người có thể truy cập được. Ngoài ra, bạn sẽ sử dụng Javascript để giúp Website có nhiều hoạt động tương tác hơn. Mục tiêu:
|
||
2 |
Lập trình hướng đối tượng (bằng Java) |
Assigment 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:
|
Assigment 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:
|
||
Assigment 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 hang, 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 hang và xem lịch sử giao dịch. Yêu cầu:
|
||
Assigment 3: 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 dượ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:
|
||
3 |
Cơ sở dữ liệu và giải thuật |
Assigment 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:
|
Assigment 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:
|
||
4 |
Phát triển ứng dụng Web |
Assigment 1: Dự án quyên góp từ thiện Chủ đề: Bài tập này yêu cầu học viên xây dựng một website quyên góp từ thiện để có thể đưa ra những thông tin và hoàn cảnh khó khăn cần hỗ trợ để các nhà hảo tâm có thể tiến hành quyên góp từ thiện. Đi kèm với đó là mô tả chi tiết đợt từ thiện và thông tin về số tiền từ thiện sẽ được minh bạch khi công khai lên Internet. Yêu cầu:
|
Assigment 2: Dự án tìm việc làm Chủ đề: Bài tập này yêu cầu học viên xây dựng một website tuyển dụng để tạo ra một cầu nối trung gian giữa nhà tuyển dụng và các ứng viên để đáp ứng nhu cầu tìm kiếm nhân sự của các doanh nghiệp cũng như tìm kiếm việc làm của các ứng viên thông qua mạng internet. Yêu cầu:
|
||
Assigment 3: Dự án đặt lịch khám bệnh Chủ đề: Dự án đặt lịch khám bệnh cung cấp các giải pháp khám chữa bệnh cho người bệnh, đi kèm với những tiện ích để thăm khám thông qua việc: tìm kiếm, đặt lịch, tra cứu hồ sơ, … Từ đó tạo ra sự tin tưởng cũng như an tâm về đội ngũ y bác sĩ cũng như hệ thống tương ứng. Mọi thông tin bệnh lý của bệnh nhân đều được bảo mật, sẽ chỉ có bác sĩ thăm khám theo dõi và cập nhật thông tin kịp thời. Yêu cầu:
|
6. Phương thức đánh giá
Học viên được đánh giá theo quá trình và trọng tâm đánh giá đặt vào phần thực hành với tính xác thực rõ ràng. Cụ thể:
Thực hành/kiểm tra |
Hình thức |
Số lượng dự kiến |
Kiểm tra lý thuyết |
Kiểm tra các outcome lý thuyết bằng các bài quiz và progress |
10 – 20 bài/môn |
Kiểm tra thực hành |
Nộp bài sản phẩm gồm labs và assignments dạng projects Review trực tiếp 1-1 các bài assignments với mentor |
5-10 bài labs/môn 2 – 4 bài asms/môn |
Thi cuối môn |
Thi vấn đáp theo hình thức call conference với Hội đồng chấm thi |
1 lần/môn |
Bảo vệ đồ án cuối khóa |
Bảo vệ theo hình thức call conference với Hội đồng chấm bảo vệ |
Áp dụng cho môn Final Project |