THƯ MỤC HỌC THUẬT VÀ BẢN MÔ TẢ NỘI DUNG GIÁO TRÌNH: LẬP TRÌNH JAVA

Tổng quan về giáo trình

Giáo trình Lập trình Java (Mã môn học: MH 22) do Bộ môn Tin học thuộc Trường Cao đẳng Công nghệ TP.HCM (Tập đoàn Dệt May Việt Nam) biên soạn và ban hành năm 2021. Đây là tài liệu giảng dạy và học tập bắt buộc trong chương trình đào tạo ngành Công nghệ thông tin ở trình độ Cao đẳng (hệ 12/12). Trong cấu trúc chương trình đào tạo, môn học này có vị trí chuyên môn bắt buộc, được bố trí giảng dạy sau khi người học đã hoàn thành các học phần tiên quyết bao gồm Cấu trúc dữ liệu và Lập trình hướng đối tượng.

Mục tiêu học tập của giáo trình được xác định cụ thể trên ba phương diện:

  • Kiến thức: Trang bị cho người học cấu trúc cú pháp và các thành phần cốt lõi của ngôn ngữ Java; nguyên lý vận hành của máy ảo Java; phương pháp xây dựng giao diện người dùng đồ họa (GUI) và kỹ thuật kết nối cơ sở dữ liệu để hoàn thiện ứng dụng phần mềm.
  • Kỹ năng: Rèn luyện năng lực tư duy lập trình hướng đối tượng, kỹ năng phát triển chương trình ứng dụng hoàn chỉnh bằng Java, khả năng gỡ lỗi và thao tác tích hợp các thành phần ứng dụng hai lớp.
  • Năng lực tự chủ và trách nhiệm: Hình thành phương pháp tự nghiên cứu tài liệu kỹ thuật, tác phong làm việc nhóm và năng lực thích ứng với các công cụ phát triển phần mềm chuyên dụng.

Cấu trúc giáo trình có tổng thời lượng đào tạo là 75 giờ, phân bổ thành 15 giờ lý thuyết (chiếm 20%), 55 giờ thực hành/thảo luận/bài tập (chiếm 73,3%) và 5 giờ kiểm tra định kỳ (chiếm 6,7%). Giáo trình tiếp cận theo mô hình kết hợp chặt chẽ giữa lý thuyết nền tảng ngôn ngữ và thực hành ứng dụng, chia làm 6 chương chuyên đề, đi kèm 2 bài thực hành môi trường và 7 bài tập thực hành tổng hợp. Điểm đặc thù của giáo trình là việc tập trung vào tính trực quan với mã nguồn mẫu chi tiết, phân tích rõ các trường hợp lỗi biên dịch và lỗi thực thi thường gặp trên môi trường Java.


Nội dung kiến thức cốt lõi

Các chương/chủ đề chính

Giáo trình được tổ chức thành 6 chương lý thuyết chuyên môn cùng hệ thống bài tập thực hành:

  • Chương 1: Tổng quan về Java (5 giờ: 1 lý thuyết, 4 thực hành): Trình bày lịch sử hình thành ngôn ngữ từ dự án Oak năm 1990 do James Gosling khởi xướng đến khi Sun Microsystems công bố chính thức năm 1995. Giới thiệu 8 đặc trưng kỹ thuật cơ bản: tính đơn giản, hướng đối tượng, độc lập hệ nền ("viết một lần, chạy mọi nơi"), tính mạnh mẽ, đa tuyến (multithreading), tính phân tán, hỗ trợ Internet và cơ chế thông dịch bytecode. Phân loại các dạng ứng dụng Java (Applet, Command Line, GUI, Servlets/JSP, Database, ứng dụng mạng TCP/UDP, ứng dụng phân tán RMI/CORBA/EJB và thiết bị di động). Khảo sát ưu - nhược điểm của 4 môi trường phát triển tích hợp (IDE): JCreator, NetBeans, Eclipse, JBuilder; hướng dẫn cài đặt Java Development Kit (JDK) và triển khai chương trình đầu tiên HelloWorld.java.
  • Chương 2: Ngôn ngữ Java (15 giờ: 3 lý thuyết, 11 thực hành, 1 kiểm tra): Khảo sát hệ thống định danh, quy ước đặt tên biến/hằng/phương thức, phạm vi biến (biến lớp, biến cục bộ), cú pháp chú thích tài liệu (/** */). Phân tích 8 kiểu dữ liệu nguyên thủy (byte, short, int, long, float, double, char, boolean), các toán tử đại số, toán tử bitwise và toán tử ba ngôi (?:). Trình bày quy tắc chuyển đổi kiểu dữ liệu tường minh và không tường minh, cơ chế nhập xuất dữ liệu console thông qua lớp Scanner và System.out. Thiết lập cú pháp các cấu trúc điều khiển: rẽ nhánh (if-else, switch-case), vòng lặp (for, while, do-while), lệnh điều khiển ngắt (break, continue), mảng một chiều, mảng hai chiều và các phương thức toán học trong lớp java.lang.Math.
  • Chương 3: Hướng đối tượng trong Java (15 giờ: 3 lý thuyết, 10 thực hành, 2 kiểm tra): Định nghĩa cấu trúc tập tin mã nguồn *.java (khai báo package, import, class, interface). Chi tiết hóa các bổ từ truy cập (Modifiers): public, private, protected, static, abstract, final. Phân tích nguyên lý nạp chồng phương thức (Overloading) và ghi đè phương thức (Overriding). Xây dựng cấu trúc giao tiếp (Interface) nhằm giải quyết bài toán đơn kế thừa. Phân tích cơ chế kế thừa đơn (extends), cách sử dụng từ khóa this, super, final và cấu trúc hàm khởi tạo (Constructor). Cài đặt tính đa hình (Polymorphism) tại thời điểm thực thi thông qua lớp trừu tượng (Abstract Class) với các ca nghiên cứu thực tế như phân cấp đối tượng hình học (Circle, Cylinder) và hệ thống tính lương nhân viên (NHANVIEN, NV_VP, NV_SX).
  • Chương 4: Lớp xử lý ứng dụng Java (10 giờ: 2 lý thuyết, 8 thực hành): Trình bày mô hình quản lý lỗi thực thi và phân loại ngoại lệ (cây phả hệ Throwable, Exception, RuntimeException, IOException, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException). Cấu trúc xử lý ngoại lệ theo cơ chế khối lệnh try - catch - finally và từ khóa throws. Cung cấp các phương thức thao tác chuỗi bất biến trong lớp String và chuỗi động trong lớp StringBuffer. Hướng dẫn xử lý thời gian với Date, Calendar, SimpleDateFormat. Phân tích cấu trúc dữ liệu mảng động nâng cao thông qua hai lớp Vector (hỗ trợ đồng bộ hóa) và ArrayList (kèm duyệt danh sách qua ListIterator).
  • Chương 5: Lập trình giao diện (10 giờ: 2 lý thuyết, 8 thực hành): Khảo sát hệ sinh thái thư viện giao diện java.awt và javax.swing. Cung cấp phương pháp thiết lập các thành phần giao diện người dùng: JFrame, JLabel, JButton, JTextField, JTextArea, JPasswordField, JCheckBox, JRadioButton, ButtonGroup, JComboBox, JTable, JProgressBar, JScrollBar. Trình bày cơ chế phân bổ layout giao diện qua các trình quản lý bố cục: FlowLayout, BorderLayout, BoxLayout, CardLayout, GridLayout, GridBagLayout. Hướng dẫn kỹ thuật xử lý sự kiện qua Anonymous Listener, Listener Class và các hộp thoại chuẩn JOptionPane.
  • Chương 6: Xây dựng ứng dụng Java (20 giờ: 4 lý thuyết, 14 thực hành, 2 kiểm tra): Trình bày kiến trúc ứng dụng phần mềm hai lớp / MVC. Hướng dẫn thiết lập hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2005, Access, Oracle. Phân loại 4 kiến trúc JDBC Driver (Type I: ODBC-JDBC Bridge, Type II: Native-API, Type III: Network Protocol, Type IV: Native Protocol). Chi tiết hóa các giao diện và lớp thuộc JDBC API: Connection, Statement, ResultSet, SQLServerDataSource thông qua lớp hỗ trợ kết nối SQLConnect.
  • Hệ thống thực hành và bài tập chuyên sâu: Bao gồm Bài thực hành 1 (Cú pháp ngôn ngữ Java), Bài thực hành 2 (Lập trình Java trên IDE NetBeans) và 7 bài tập tổng hợp tích hợp toàn diện từ giao diện Swing đến xử lý dữ liệu với cơ sở dữ liệu.
Tiến trình nội dung giáo trình:
[Chương 1: Tổng quan & Công cụ JDK]
[Chương 2: Cú pháp ngôn ngữ & Thuật toán cơ bản]
[Chương 3: Lập trình hướng đối tượng (OOP)]
[Chương 4: Lớp xử lý ứng dụng, Ngoại lệ & Collections]
[Chương 5: Lập trình giao diện người dùng (Swing GUI)]
[Chương 6: Kết nối CSDL (JDBC) & Xây dựng ứng dụng hoàn chỉnh]

Kiến thức nền tảng được xây dựng

  • Hệ thống lý thuyết hướng đối tượng chuẩn mực: Người học được xây dựng tư duy mô hình hóa đối tượng thông qua 4 đặc tính cốt lõi: Tính đóng gói (Encapsulation thông qua các bổ từ truy cập private/public và các phương thức getter/setter); Tính kế thừa (Inheritance đơn thông qua từ khóa extends); Tính đa hình (Polymorphism thông qua Overriding và liên kết động tại runtime); Tính trừu tượng (Abstraction qua abstract class và interface).
  • Nguyên lý quản lý tài nguyên và luồng thực thi: Cung cấp hiểu biết về cơ chế thu gom rác tự động (Garbage Collection), cơ chế bẫy lỗi và giải phóng tài nguyên an toàn trong khối finally khi thao tác với tệp tin và kết nối mạng/CSDL.
  • Kiến trúc phần mềm phân tầng: Xây dựng nền tảng về mô hình ứng dụng 2 lớp, tách biệt thành phần giao diện người dùng (GUI) với tầng lưu trữ và xử lý dữ liệu (Database Management System).

Kỹ năng phát triển

  • Kỹ năng lập trình kỹ thuật (Technical Skills): Cài đặt thành thạo cú pháp Java, thao tác cấu trúc mảng và giải thuật toán học; sử dụng thành thạo các cấu trúc dữ liệu tập hợp (Vector, ArrayList); xử lý chuỗi và định dạng dữ liệu thời gian; bắt và xử lý ngoại lệ hệ thống.
  • Kỹ năng phân tích và thiết kế (Analytical Skills): Phân tích bài toán thực tế thành hệ thống các lớp đối tượng; thiết kế sơ đồ quan hệ kế thừa và triển khai giao tiếp interface hợp lý; lựa chọn trình quản lý bố cục (Layout Manager) tối ưu cho từng loại màn hình giao diện.
  • Năng lực thực hành ứng dụng (Practical Competencies): Xây dựng ứng dụng Desktop hoàn chỉnh có giao diện đồ họa Swing; lập trình điều khiển sự kiện tương tác; viết mã nguồn kết nối, truy vấn và hiển thị dữ liệu từ hệ quản trị cơ sở dữ liệu SQL Server lên các bảng giao diện (JTable).

Phương pháp giảng dạy và học tập

Phương pháp tiếp cận sư phạm

Giáo trình áp dụng phương pháp đào tạo tích hợp giữa lý thuyết và thực hành, lấy thực hành làm trọng tâm. Tổng thời lượng dành cho thực hành, thí nghiệm, thảo luận và bài tập chiếm tới 55/75 giờ (73,3% chương trình). Giảng viên đóng vai trò hướng dẫn quy trình, phân tích các điểm kiến thức cốt lõi và liên hệ ứng dụng với các hệ thống phần mềm thực tế; người học đóng vai trò chủ động thực hiện trực tiếp trên máy tính.

Hệ thống bài tập và nghiên cứu tình huống

Hệ thống bài tập trong giáo trình được phân tầng rõ rệt:

  1. Bài tập minh họa cú pháp từng phần: Các đoạn mã nguồn cụ thể như tính tổng dãy số bằng vòng lặp, kiểm tra dãy số tăng dần, thuật toán ma trận 2 chiều, trò chơi đoán số ngẫu nhiên với Math.random(), thuật toán kiểm tra năm nhuận và đếm số ngày trong tháng.
  2. Bài tập tình huống hướng đối tượng: Mô hình tính diện tích - thể tích với Circle và Cylinder; mô hình quản lý nhân sự với lớp cơ sở NHANVIEN và hai lớp dẫn xuất NV_VP (tính lương theo ngày công), NV_SX (tính lương theo sản phẩm).
  3. Bài tập tổng hợp ứng dụng: Giáo trình cung cấp 2 bài thực hành công cụ (lập trình dòng lệnh và lập trình trên IDE NetBeans) cùng 7 bài tập tổng hợp ở cuối tài liệu đòi hỏi kết hợp thiết kế GUI, xử lý sự kiện và thao tác kết nối JDBC vào CSDL.

Phương pháp và quy chế đánh giá

Quy trình đánh giá kết quả học tập của môn học MH 22 được quy định định lượng rõ ràng:

  • Đánh giá quá trình (Trọng số 0,4): Là điểm trung bình cộng có trọng số của các đầu điểm:
    • Điểm tự nghiên cứu (Hệ số 1).
    • Điểm kiểm tra thường xuyên (Hệ số 1).
    • Điểm kiểm tra định kỳ (Hệ số 2) – gồm 3 bài kiểm tra được bố trí sau Chương 2 (1 giờ), Chương 3 (2 giờ) và Chương 6 (1 giờ).
  • Đánh giá kết thúc môn học (Trọng số 0,6): Thi trắc nghiệm khách quan với thời lượng 60 phút, kiểm tra toàn diện kiến thức lý thuyết và khả năng đọc hiểu mã nguồn.

Hướng dẫn tự học cho người học

  • Điều kiện chuyên cần: Người học phải tham dự tối thiểu 70% thời lượng lý thuyết và tham gia đầy đủ 100% các giờ học thực hành, thực tập trên phòng lab.
  • Tiến trình tự học: Chủ động tự nghiên cứu trước tài liệu bài giảng theo yêu cầu của giảng viên; hoàn thành tất cả bài tập lập trình mẫu và bài toán thực tế có sẵn trong giáo trình để củng cố kỹ năng lập trình độc lập.

Điểm nổi bật và cập nhật

Phân tích và so sánh các công cụ phát triển

Giáo trình đưa ra bảng phân tích chi tiết ưu điểm, nhược điểm và phạm vi khuyến nghị của 4 môi trường lập trình phổ biến:

  • JCreator: Gọn nhẹ, dễ cài đặt, giao diện tương tự công cụ học tập truyền thống; phù hợp với người mới bắt đầu làm quen cú pháp Java.
  • NetBeans: Mã nguồn mở, miễn phí, tích hợp công cụ thiết kế GUI mạnh mẽ; phù hợp cho giai đoạn chuyển tiếp sang xây dựng ứng dụng nâng cao.
  • Eclipse: Hỗ trợ hệ thống plugin phong phú, cấu hình chuyên sâu; phù hợp cho các dự án phần mềm chuyên nghiệp.
  • JBuilder: Môi trường hoàn chỉnh nhưng có bản quyền thương mại và yêu cầu tài nguyên phần cứng lớn.
So sánh các môi trường phát triển (IDE) trong giáo trình:

Tiếp cận công nghệ ứng dụng thực tế

  • Cơ chế JDBC và tích hợp CSDL: Giáo trình không dừng lại ở lý thuyết cú pháp mà xây dựng lớp tiện ích kết nối SQLConnect hoàn chỉnh, hướng dẫn cấu hình SQLServerDataSource để kết nối hệ quản trị CSDL Microsoft SQL Server 2005.
  • Phân loại chuẩn kiến trúc kết nối: Trình bày rõ ràng 4 loại JDBC Driver (Type 1 đến Type 4), giúp người học hiểu rõ nguyên lý cầu nối giữa mã Java và hệ thống lưu trữ dữ liệu doanh nghiệp.

Nguồn tài liệu tham khảo nền tảng

Nội dung giáo trình được tổng hợp, chuẩn hóa và đối chiếu từ các tài liệu học thuật chuyên ngành uy tín tại Việt Nam:

  1. Đề cương bài giảng Lập trình Java – Trường CĐ Kinh tế - Kỹ thuật Vinatex TP.HCM.
  2. Phương Lan (2005), Bước đầu làm quen Java, NXB Lao động Xã hội.
  3. Đỗ Quang Thái (2000), Tự học ngôn ngữ lập trình Java, NXB Giáo dục.
  4. Nguyễn Tiến Dũng (1999), Giáo trình lý thuyết và bài tập Java, NXB Giáo dục.

Đối tượng sử dụng giáo trình

  • Sinh viên ngành Công nghệ thông tin: Giáo trình được thiết kế chuẩn hóa cho sinh viên trình độ Cao đẳng chuyên ngành Công nghệ thông tin (hệ tốt nghiệp THPT 12/12) trong học kỳ chuyên ngành.
  • Yêu cầu kiến thức tiên quyết (Prerequisites): Người học cần hoàn thành học phần Cấu trúc dữ liệu và Lập trình hướng đối tượng cơ bản để có thể tiếp thu các khái niệm về lớp, đối tượng, danh sách liên kết và quản lý bộ nhớ.
  • Giảng viên chuyên ngành: Tài liệu đóng vai trò là đề cương chi tiết phục vụ việc xây dựng giáo án, lập kế hoạch phân bổ thời gian giảng dạy trên lớp lý thuyết và phòng lab tin học, đồng thời cung cấp ngân hàng bài tập thực hành và khung đánh giá môn học định kỳ.
  • Người tự học và lập trình viên: Cung cấp tài liệu tham khảo hệ thống hóa toàn bộ kiến thức từ Java Core, cấu trúc dữ liệu mảng động (Vector, ArrayList), thư viện đồ họa Swing đến kỹ thuật truy vấn dữ liệu thông qua JDBC API.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với đối tượng người học nào?

Tài liệu được biên soạn phục vụ trực tiếp cho sinh viên hệ Cao đẳng ngành Công nghệ thông tin (MH 22), giảng viên giảng dạy học phần lập trình Java và các cá nhân có nhu cầu tự học kiến thức nền tảng về Java Core, lập trình giao diện Swing và kết nối cơ sở dữ liệu.

2. Cần chuẩn bị những kiến thức nền tảng nào trước khi học giáo trình này?

Người học cần có kiến thức nền tảng về cấu trúc dữ liệu giải thuật và các nguyên lý cơ bản của lập trình hướng đối tượng đã được tích lũy từ các học phần tiên quyết trước đó.

3. Cấu trúc nội dung giáo trình có điểm gì khác biệt so với các tài liệu lập trình cơ bản?

Giáo trình có tỷ trọng thực hành lớn (chiếm 73,3% tổng thời lượng môn học), kết cấu theo lộ trình hoàn chỉnh: từ cú pháp lõi -> hướng đối tượng -> xử lý dữ liệu nâng cao -> thiết kế giao diện đồ họa -> kết nối cơ sở dữ liệu thực tế bằng JDBC API.

4. Phương pháp tự học giáo trình này như thế nào để đạt hiệu quả cao?

Người học cần bám sát cấu trúc 6 chương lý thuyết, tự cài đặt và thực thi toàn bộ các đoạn mã nguồn mẫu trong giáo trình trên các IDE (NetBeans/Eclipse), hoàn thành 2 bài thực hành cơ sở và giải quyết trọn vẹn 7 bài tập tổng hợp ở cuối tài liệu.

5. Giáo trình có các tài liệu bổ trợ và điều kiện thực hành nào đi kèm?

Giáo trình yêu cầu điều kiện phòng lab máy tính có cài đặt JDK, phần mềm NetBeans/JCreator và hệ quản trị CSDL MS SQL Server; đi kèm danh mục 4 tài liệu tham khảo chính thống từ các nhà xuất bản giáo dục chuyên ngành.


Kết luận

Giáo trình Lập trình Java (MH 22) của Trường Cao đẳng Công nghệ TP.HCM cung cấp chương trình đào tạo chuẩn mực với thời lượng 75 giờ, cân đối giữa 20% lý thuyết và 80% thời lượng thực hành, kiểm tra. Với lộ trình 6 chương chuyên đề chặt chẽ, tài liệu dẫn dắt người học từ cú pháp Java cơ bản, mô hình lập trình hướng đối tượng, xử lý ngoại lệ, cấu trúc dữ liệu nâng cao đến kỹ thuật lập trình giao diện Swing và kết nối CSDL qua JDBC. Đây là tài liệu đào tạo chuyên môn bắt buộc, có giá trị học thuật và thực tiễn cao cho sinh viên ngành Công nghệ thông tin và giảng viên chuyên ngành.