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

Modul Praktikum Web Programming (Tài liệu Hướng dẫn Thực hành Lập trình Web) là giáo trình thực hành nội bộ do Thạc sĩ Agung Teguh Wibowo Almais (Agung Teguh Wibowo Almais, M.T.) biên soạn vào tháng 4 năm 2018. Tài liệu được xuất bản và lưu hành phục vụ công tác đào tạo tại Bộ môn Kỹ thuật Tin học (Jurusan Teknik Informatika), Khoa Khoa học và Công nghệ (Fakultas Sains dan Teknologi), Đại học Hồi giáo Quốc gia Maulana Malik Ibrahim Malang (Universitas Islam Negeri Maulana Malik Ibrahim Malang - UIN Malang), Indonesia.

Về vị trí trong chương trình đào tạo, tài liệu được thiết kế trực tiếp cho học phần Lập trình Web (Pemrograman Web). Căn cứ vào Lời nói đầu (Kata Pengantar), tài liệu được xây dựng nhằm đáp ứng sự thay đổi trong cơ cấu môn học thuộc khung chương trình đào tạo năm 2014 (Kurikulum 2014), thay thế các tài liệu thực hành cũ có nội dung không còn tương thích với sự phát triển của công nghệ web.

Mục tiêu học tập của giáo trình là trang bị cho sinh viên kiến thức và kỹ năng thực hành xây dựng ứng dụng web hoàn chỉnh từ giao diện phía máy khách (client-side) đến xử lý dữ liệu phía máy chủ (server-side). Sinh viên được yêu cầu nắm vững các ngôn ngữ cơ bản gồm HTML, CSS, JavaScript, PHP, hệ quản trị cơ sở dữ liệu MySQL, cùng các kỹ thuật nâng cao như lập trình bất đồng bộ với AJAX, tối ưu hóa mã nguồn với thư viện jQuery, kỹ thuật xử lý dữ liệu CRUD (Create, Read, Update, Delete) và khái niệm cơ bản về web framework.

Cấu trúc giáo trình bao gồm 10 mô-đun (Modul) thực hành được thiết kế theo tiến trình phát triển từ căn bản đến chuyên sâu:

  • Modul 1: HTML
  • Modul 2: HTML Form
  • Modul 3: Cascading Style Sheets (CSS)
  • Modul 4: Java Scripts I
  • Modul 5: Java Scripts 2 (jQuery)
  • Modul 6: Java Scripts (AJAX)
  • Modul 7: Pengenalan PHP
  • Modul 8: Materi PHP Lanjut Part 2
  • Modul 9: Koneksi PHP dengan MySQL
  • Modul 10: Bahasa PHP dan MySQL

Cách tiếp cận của giáo trình tập trung vào việc hướng dẫn thực hành trực tiếp thông qua các đoạn mã mẫu, bài tập thao tác trên trình duyệt và các bài tập tổng hợp theo từng chuyên đề kỹ thuật.


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

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

Nội dung 10 mô-đun của giáo trình phân định rõ ràng các giai đoạn xây dựng một ứng dụng web:

  1. Modul 1: Cấu trúc tài liệu HTML cơ bản
    Giới thiệu khái niệm HTML (Hypertext Markup Language) dựa trên chuẩn W3C, cấu trúc khai báo DTD (Document Type Declaration) như HTML 4.01 Transitional và XHTML 1.0 Transitional, thẻ meta (Content-Type, keywords, refresh), cùng các phần tử hiển thị cơ bản: tiêu đề văn bản (<h1> đến <h3>), liên kết (<a>), hình ảnh (<img>), bảng (<table>, <thead>, <tbody>, <tr>, <th>, <td>), danh sách phân cấp (<ol>, <ul>, <li>) và bộ chọn tập tin (<input type="file">).

  2. Modul 2: Xây dựng biểu mẫu tương tác (HTML Form)
    Trình bày cơ chế thu thập dữ liệu người dùng qua thẻ <form> với các thuộc tính method (POST, GET), action, enctype. Nội dung chi tiết các điều khiển nhập liệu: trường văn bản (<textarea>, <input type="text">, <input type="password">), nút chọn đơn (type="radio" với ràng buộc thuộc tính name), hộp chọn nhiều mục (type="checkbox"), danh sách thả xuống (<select>, <option> kèm thuộc tính multiple), nút gửi/xóa dữ liệu (type="submit", type="reset"). Mô-đun cũng đề cập đến cấu trúc phân nhóm dữ liệu biểu mẫu qua <fieldset>, <legend>, <label for="..."> và cơ chế xác thực đầu vào HTML5 (required, type="email").

  3. Modul 3: Định dạng giao diện với Cascading Style Sheets (CSS)
    Trình bày ba phương thức nhúng CSS: External Style Sheet (<link rel="stylesheet">), Internal Style Sheet (<style>), Inline Style Sheet. Giới thiệu cú pháp selector {property: value}, hệ thống bộ chọn (Tag selector, Class selector .class, ID selector #id), đơn vị đo lường (px, em, ex, cm, %). Thiết lập thuộc tính hiển thị: vùng biên (margin), vùng đệm (padding), hình nền và vị trí nền (background-image, background-repeat, background-position), định dạng văn bản (text-align, text-decoration, text-transform, letter-spacing), định dạng phông chữ (font-family, font-size, font-style, font-weight), định dạng bảng biểu và hiệu ứng tương tác liên kết/nút bấm trực quan (a:link, a:visited, a:hover, a:active).

  4. Modul 4: Kịch bản phía máy khách với JavaScript căn bản
    Phân biệt JavaScript (kịch bản phía máy khách được trình duyệt thông dịch) với ngôn ngữ Java (biên dịch chạy trên máy khách). Giới thiệu cú pháp nhúng <script language="JavaScript">, mô hình đối tượng, thuộc tính và phương thức (window.defaultStatus, document.write, alert(), prompt()), toán tử số học/quan hệ, cấu trúc điều kiện (if-else, switch-case), cấu trúc vòng lặp (for, while, do-while) và tương tác với các phần tử form.

  5. Modul 5: Tối ưu hóa kịch bản với thư viện jQuery
    Định nghĩa thư viện jQuery, cơ chế tinh gọn mã nguồn (như ví dụ tạo màu xen kẽ cho bảng jQuery('table tr:nth-child(odd)').addClass('odd') thay cho việc duyệt vòng lặp thủ công). Trình bày cơ chế bắt sự kiện khi tải trang $document.ready(), bộ chọn phần tử theo tag, ID, Class, các sự kiện tương tác (click, dblclick, hover) và các hiệu ứng trực quan (show, hide, fade).

  6. Modul 6: Kỹ thuật trao đổi dữ liệu bất đồng bộ (AJAX)
    Nguyên lý hoạt động của Asynchronous JavaScript and XML nhằm trao đổi dữ liệu với máy chủ mà không cần tải lại toàn bộ trang. Hướng dẫn khởi tạo đối tượng XMLHttpRequest tương thích với các phiên bản trình duyệt khác nhau (Internet Explorer 6 trở xuống, Internet Explorer 7 trở lên, và các trình duyệt nền tảng Mozilla/Firefox/Safari/Opera).

  7. Modul 7 - 10: Xử lý phía máy chủ và tích hợp cơ sở dữ liệu (PHP & MySQL)
    Cung cấp kiến thức về cú pháp PHP cơ bản (Modul 7), các cấu trúc nâng cao trong PHP (Modul 8), kỹ thuật thiết lập kết nối từ PHP tới cơ sở dữ liệu MySQL (Modul 9), và hiện thực hóa các câu lệnh truy vấn dữ liệu kết hợp PHP - MySQL (Modul 10).

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

  • Mô hình kiến trúc Client-Server trong môi trường Web: Tách biệt rõ vai trò của mã nguồn chạy trên trình duyệt người dùng (HTML/CSS/JS) và mã nguồn xử lý tập trung tại máy chủ dữ liệu (PHP/MySQL).
  • Chuẩn cấu trúc và định dạng W3C: Nguyên tắc khai báo DTD, tính đóng gói của các thẻ HTML, quy chuẩn đặt tên thuộc tính CSS và tính kế thừa thuộc tính.
  • Mô hình lập trình hướng đối tượng và sự kiện trong kịch bản Web: Khái niệm thuộc tính, phương thức, bộ lắng nghe sự kiện (event listener) và xử lý bất đồng bộ thông qua đối tượng giao tiếp HTTP (XMLHttpRequest).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật: Viết mã nguồn HTML hợp thức; cấu trúc hóa và định kiểu giao diện bằng CSS; lập trình kịch bản xử lý logic trên trình duyệt bằng JavaScript và jQuery; tạo kết nối và truy xuất cơ sở dữ liệu quan hệ với PHP/MySQL.
  • Kỹ năng phân tích: Khả năng phân tích cấu trúc trang web thành các thành phần thẻ và khối giao diện; phân tích luồng dữ liệu biểu mẫu từ người dùng tới máy chủ; kiểm tra tính hợp lệ của dữ liệu nhập.
  • Kỹ năng thực hành ứng dụng: Sử dụng công cụ kiểm tra mã nguồn trình duyệt (Firebug/Inspect Element) để phát hiện và sửa lỗi cú pháp; xây dựng hoàn chỉnh trang thông tin cá nhân, máy tính số học, hệ thống biểu mẫu phân nhóm và bảng dữ liệu định dạng tùy biến.

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

Giáo trình áp dụng phương pháp đào tạo thực hành trong phòng máy tính (Lab-based practical learning). Cấu trúc của từng mô-đun được tổ chức theo quy trình sư phạm 4 bước:

  1. Xác định mục tiêu học tập cụ thể: Mỗi bài học mở đầu bằng các chuẩn đầu ra đo lường được (ví dụ: Tujuan tại Modul 1 yêu cầu sinh viên tạo được giao diện cơ bản và hiểu nguyên lý hiển thị của trình duyệt; Modul 2 yêu cầu sinh viên xây dựng và gán trường dữ liệu form theo đúng chức năng).
  2. Trình bày lý thuyết cú pháp rút gọn: Khái niệm kỹ thuật được giải thích súc tích kèm theo các bảng phân loại thuộc tính, giá trị và mô tả chức năng (như bảng thuộc tính màu sắc, căn lề, phông chữ, danh sách bộ chọn sự kiện).
  3. Thực hành theo mã nguồn mẫu (Tutorial & Code Walkthrough): Cung cấp trực tiếp các đoạn mã nguồn hoàn chỉnh để sinh viên nhập liệu, biên dịch hoặc chạy thử nghiệm trực tiếp trên trình duyệt, quan sát kết quả kết xuất.
  4. Bài tập áp dụng và câu hỏi củng cố (Latihan & Tugas):
    • Các bài thực hành định danh cụ thể (ví dụ: từ latihan14 đến latihan20 ở phần Form; latihan1 đến latihan2 ở phần JavaScript).
    • Hệ thống bài tập lớn theo mô-đun: Xây dựng trang web cá nhân tổng hợp (Modul 3) gồm các trang Thông tin bản thân, Quá trình học tập, Hoạt động đoàn thể và Lịch học sử dụng bảng định dạng CSS; viết chương trình chuyển đổi điểm số từ thang điểm 100 sang điểm chữ (A, AB, B, BC, C, D, E) và ứng dụng máy tính cầm tay 4 phép tính bằng JavaScript (Modul 4); tạo hiệu ứng đổi màu hộp và ẩn/hiện hình ảnh bằng jQuery (Modul 5).

Về phương pháp đánh giá và tự học, sinh viên được hướng dẫn sử dụng công cụ kiểm tra mã nguồn (cài đặt plugin Firebug trên trình duyệt Mozilla Firefox hoặc Developer Tools trên Chrome) để thực hiện thao tác kiểm tra (inspect) và gỡ lỗi trực tiếp khi thay đổi mã. Tác giả lưu ý trong lời mở đầu rằng sự thành thạo công nghệ phụ thuộc vào tinh thần tự nghiên cứu mở rộng của sinh viên sau khi hoàn thành các bài thực hành định chuẩn trong giáo trình.


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

  • Cập nhật chương trình đào tạo: Tài liệu được biên soạn lại hoàn toàn vào năm 2018 nhằm đáp ứng chuẩn cấu trúc môn học theo khung Kurikulum 2014 của UIN Maulana Malik Ibrahim Malang, loại bỏ các kiến thức lập trình web lạc hậu trong tài liệu trước đó.
  • Tính hệ thống và tinh gọn: Nhằm giải quyết sự mâu thuẫn giữa khối lượng công nghệ web phong phú và thời lượng tín chỉ giới hạn trên lớp, tài liệu chọn lọc các công nghệ nền tảng cốt lõi, không đi sâu vào chi tiết lý thuyết dàn trải mà tập trung vào cú pháp cơ bản và tính năng ứng dụng.
  • Tích hợp các kỹ thuật hiện đại:
    • Đưa thư viện jQuery vào chương trình để sinh viên thấy rõ sự khác biệt và mức độ tối ưu so với JavaScript thuần (giảm thiểu 25 dòng mã AJAX phức tạp xuống còn 5 dòng qua hàm gọi của jQuery).
    • Trình bày kỹ thuật AJAX với việc phân tích chi tiết cách khởi tạo đối tượng XMLHttpRequest đa trình duyệt, giúp sinh viên hiểu rõ cơ chế truyền thông ngầm giữa client và server.
  • Gắn liền với cấu trúc ứng dụng thực tế: Các ví dụ và bài tập được trích xuất từ các tác vụ thực tế trong phát triển web: thiết kế hệ thống đăng nhập (<legend>Login</legend>), tạo giao diện điều hướng dạng thẻ 3D (leftlinks), thiết kế bảng dữ liệu kỹ thuật (table_specbody.css) và phân loại ngành đào tạo/phòng thí nghiệm tại Khoa CNTT (Lab Computer Vision, Sistem Informasi, Computing & AI).

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

  • Sinh viên đại học: Tài liệu được biên soạn trực tiếp cho sinh viên đại học ngành Kỹ thuật Tin học (Jurusan Teknik Informatika), ngành Hệ thống Thông tin hoặc các ngành thuộc khối Khoa học & Công nghệ tại UIN Maulana Malik Ibrahim Malang đang theo học học phần Lập trình Web.
  • Điều kiện tiên quyết: Người học cần có kiến thức cơ bản về tin học đại cương, cấu trúc dữ liệu và giải thuật cơ sở, hiểu biết về mạng máy tính và có khả năng cài đặt, vận hành các trình duyệt web phổ biến (Firefox, Chrome, Opera).
  • Giảng viên và trợ giảng: Tài liệu đóng vai trò là đề cương bài giảng thực hành (Lab Manual) quy chuẩn dùng trong các buổi học tại phòng máy tính, làm căn cứ hướng dẫn sinh viên thao tác từng bước và chấm điểm bài tập thực hành theo tiến độ 10 mô-đun.
  • Người tự học: Cung cấp tài liệu tham khảo có cấu trúc rõ ràng cho các cá nhân muốn tiếp cận lập trình web toàn diện từ cơ bản đến xây dựng ứng dụng động có kết nối cơ sở dữ liệu.

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

1. Giáo trình này phù hợp với ai?

Giáo trình phù hợp nhất với sinh viên chuyên ngành Công nghệ Thông tin, Kỹ thuật Tin học ở bậc đại học bắt đầu học về phát triển web, cũng như người học cần một tài liệu thực hành có hệ thống từ Front-End đến Back-End.

2. Cần kiến thức nền nào để học?

Người học cần nắm được tư duy logic lập trình cơ bản (biến, điều kiện, vòng lặp) và kỹ năng sử dụng máy tính, cài đặt phần mềm và thao tác trên trình duyệt web.

3. Điểm khác biệt với giáo trình khác là gì?

Tài liệu được xây dựng dưới dạng hướng dẫn thực hành (Modul Praktikum), tập trung trực tiếp vào mã nguồn, so sánh trực quan giữa việc viết mã thuần và dùng thư viện (như JavaScript thuần so với jQuery), đồng thời cung cấp các bài tập gắn liền với chương trình đào tạo của UIN Malang.

4. Làm sao để tự học hiệu quả với tài liệu này?

Người học cần trực tiếp nhập các đoạn mã mẫu trong từng mô-đun, lưu thành các tập tin thực hành riêng biệt, sử dụng công cụ kiểm tra mã (Firebug/DevTools) để quan sát thay đổi khi tinh chỉnh các thuộc tính và hoàn thành đầy đủ các bài tập (Tugas/Latihan) ở cuối mỗi bài.

5. Có tài liệu bổ trợ nào kèm theo?

Tài liệu yêu cầu sử dụng các trình duyệt web (Mozilla Firefox, Google Chrome), tiện ích mở rộng hỗ trợ kiểm tra mã nguồn (Firebug), thư viện jQuery tải từ trang chính thức http://jquery.com, và môi trường máy chủ cục bộ hỗ trợ thông dịch PHP cùng cơ sở dữ liệu MySQL.


Kết luận

Modul Praktikum Web Programming của tác giả Agung Teguh Wibowo Almais, M.T. là tài liệu hướng dẫn thực hành có cấu trúc chặt chẽ, đáp ứng yêu cầu giảng dạy môn Lập trình Web theo chuẩn đào tạo Kurikulum 2014 tại UIN Maulana Malik Ibrahim Malang.

Giáo trình cung cấp lộ trình học tập logic theo tiến trình: xây dựng khung tài liệu với HTML $\rightarrow$ định kiểu giao diện với CSS $\rightarrow$ xử lý tương tác phía máy khách với JavaScript, jQuery và AJAX $\rightarrow$ xử lý logic nghiệp vụ và dữ liệu phía máy chủ với PHP và MySQL. Để đạt được kết quả học tập tốt nhất, người học cần kết hợp việc thực hiện các bài tập trong tài liệu với việc tra cứu thêm tài liệu kỹ thuật từ tổ chức W3C và trang tài liệu chính thức của jQuery, PHP và MySQL.