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

Giáo trình Ngôn Ngữ và Công Cụ Thiết Kế Website (2022) được biên soạn bởi Bộ môn Công nghệ thông tin thuộc Khoa Hệ thống Thông tin Kinh tế và Thương mại điện tử. Tài liệu được thiết kế nhằm phục vụ khối kiến thức cơ sở ngành và chuyên ngành trong chương trình đào tạo bậc đại học về công nghệ thông tin, hệ thống thông tin quản lý và thương mại điện tử.

Về mục tiêu học tập (learning outcomes), giáo trình cung cấp cho người học hệ thống lý thuyết nền tảng và kỹ năng thực hành về quy trình phát triển website từ giao diện tĩnh phía máy khách (Client-side) đến logic xử lý dữ liệu phía máy chủ (Server-side). Kết thúc học phần, người học có khả năng:

  1. Sử dụng ngôn ngữ HTML để định hình cấu trúc thông tin của trang web.
  2. Ứng dụng ngôn ngữ CSS nhằm kiểm soát bố cục và thuộc tính hiển thị trực quan.
  3. Vận dụng ngôn ngữ JavaScript và mô hình Document Object Model (DOM) để xây dựng tương tác, xử lý sự kiện và kiểm thực dữ liệu biểu mẫu (form validation).
  4. Thiết lập môi trường máy chủ cục bộ bằng phần mềm XAMPP, triển khai mã nguồn PHP và thao tác với hệ quản trị cơ sở dữ liệu MySQL để tạo lập các ứng dụng web động.

Cấu trúc của giáo trình tiếp cận theo mô hình phân tầng kỹ thuật web truyền thống, đi từ tầng trình diễn (Presentation Layer) với HTML và CSS, qua tầng hành vi giao diện người dùng với JavaScript, đến tầng xử lý nghiệp vụ máy chủ (Application Server) và tầng lưu trữ dữ liệu (Database Server) với PHP và MySQL. Điểm đặc thù của tài liệu là sự kết hợp chặt chẽ giữa định nghĩa chuẩn kỹ thuật, phân loại cú pháp và hệ thống bài tập thực hành theo từng chuyên đề cụ thể.


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

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

Tài liệu tập trung vào các nhóm công nghệ nền tảng tạo nên một ứng dụng web hoàn chỉnh, cụ thể trong chương trình bao gồm các khối kiến thức trọng tâm sau:

  1. Tổng quan về Web và Công cụ phát triển: Giới thiệu khái niệm về webpage, website, cơ chế hiển thị mã nguồn ASCII trên các trình duyệt (Internet Explorer, Google Chrome, Mozilla Firefox). Hướng dẫn tổ chức thư mục dự án, quy tắc sử dụng tệp index.html làm trang chủ, quản lý đường dẫn liên kết tương đối và tuyệt đối. Phân tích các công cụ soạn thảo mã nguồn bao gồm Microsoft FrontPage (với hai chế độ riêng biệt: Design View và Code View), Notepad++ (hỗ trợ đánh số dòng, tô màu mã nguồn, gợi ý cú pháp), EditPlus và các trình soạn thảo văn bản thông thường.

  2. Ngôn ngữ đánh dấu siêu văn bản HTML (HyperText Markup Language): Lược sử các phiên bản từ bản thảo HTML Draft (1994), chuẩn HTML 4.01 (1999) đến phiên bản HTML 5 (2016). Phân loại các lớp thẻ chức năng chính:

    • Nhóm cấu trúc (Structure): Cặp thẻ <html>, <head>, <title>, <body>.
    • Nhóm định dạng văn bản (Formatting): Đoạn văn <p>, ngắt dòng <br/>, căn giữa <center>, chữ in đậm <b>, in nghiêng <i>.
    • Nhóm đối tượng nội dung: Hình ảnh (image), danh sách (list), bảng dữ liệu (<table>), khung hiển thị (frame).
    • Nhóm biểu mẫu (Form): Thu thập dữ liệu người dùng qua các phần tử đầu vào, kết hợp thẻ gom nhóm <fieldset> và tiêu đề nhóm <legend>.
  3. Ngôn ngữ định dạng tầng CSS (Cascading Style Sheets): Bản chất của Style Sheet là bảng định dạng phân tách giữa nội dung ngữ nghĩa và cách thức hiển thị. Cú pháp quy chuẩn gồm bộ chọn (selector) và khối khai báo (property: value;). Phân loại 3 phương pháp nhúng mã CSS vào tài liệu web:

    • Nội tuyến (Inline Style): Áp dụng trực tiếp trong từng thẻ thông qua thuộc tính style="property: value;".
    • Nội bộ (Internal Style): Đặt trong khối <style type="text/css"> tại phần thẻ <head>.
    • Liên kết ngoài (External Style): Tạo tệp rời .css và nhúng vào trang bằng thẻ <link>.
    • Định dạng chi tiết cho các đối tượng: Hộp (box), phân vùng khối <div>, định dạng nội dòng <span>, bảng biểu, danh sách, bố cục (layout), văn bản (text) và xử lý ảnh.
  4. Ngôn ngữ kịch bản JavaScript và Mô hình Đối tượng Tài liệu (DOM): Ngôn ngữ kịch bản thực thi tại máy khách, hỗ trợ đa mô hình lập trình (mệnh lệnh, thủ tục, hướng đối tượng), kiểu dữ liệu động (xác định tại thời điểm thực thi). Cú pháp phân biệt hoa thường, hỗ trợ chú thích dòng đơn // và dòng khối /* */. Khai báo biến với var hoặc let, các cấu trúc rẽ nhánh, vòng lặp, mảng (chỉ số từ 0), định nghĩa hàm và đối tượng.

    • Mô hình DOM: Quản lý cây đối tượng tài liệu thông qua đối tượng document, cho phép truy xuất trực tiếp (qua id, name, tagName) hoặc gián tiếp theo quan hệ phân cấp; hỗ trợ đọc/ghi nội dung thẻ, thuộc tính, định dạng CSS, xóa và tạo mới phần tử HTML.
    • Xử lý Form và Kiểm thực (Form Validation): Bắt sự kiện bấm nút submit (<button>), trích xuất giá trị ô nhập liệu (TextBox), nút chọn một (Radio), hộp lựa chọn (Select), xử lý logic kiểm tra rỗng, độ dài và tính khớp của chuỗi dữ liệu trước khi gửi lên máy chủ.
  5. Ngôn ngữ lập trình phía máy chủ PHP và Cơ sở dữ liệu MySQL: Ngôn ngữ mã nguồn mở thực thi phía máy chủ, kết xuất mã HTML gửi về cho trình duyệt. Cú pháp cơ bản đặt trong khối <?php ... ?>, sử dụng lệnh echo hoặc print để xuất dữ liệu, chú thích chuẩn C. Quy tắc phân biệt hoa thường áp dụng cho biến và hằng số, không áp dụng cho tên hàm và từ khóa hệ thống.

    • Khả năng của PHP: Xử lý biểu mẫu, thao tác tệp tin trên máy chủ (tạo, đọc, ghi, đóng, xóa), điều khiển phiên làm việc, mã hóa và nén dữ liệu.
    • Môi trường thực thi: Cài đặt gói XAMPP, triển khai mã nguồn vào thư mục htdocs, thực thi thông qua máy chủ cục bộ localhost.
    • Tương tác dữ liệu: Kết nối và thao tác với hệ quản trị cơ sở dữ liệu MySQL thông qua giao diện quản trị phpMyAdmin.

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

Giáo trình hình thành cho sinh viên hệ thống lý thuyết cốt lõi về:

  • Kiến trúc phân tầng Client - Server trong ứng dụng Web: Phân định rõ vai trò của Browser (Client), Web Server (Apache), Application Server (PHP Engine) và Database Server (MySQL).
  • Nguyên lý phân tách mối quan tâm (Separation of Concerns): Tách rời nội dung dữ liệu (HTML), hình thức trình bày (CSS), logic giao diện (JavaScript) và xử lý nghiệp vụ hệ thống (PHP).
  • Cấu trúc phân cấp dữ liệu dạng cây (Tree Structure): Hiểu và thao tác với cấu trúc cây DOM của một trang siêu văn bản.

Kỹ năng phát triển

Thông qua nội dung giảng dạy, người học rèn luyện được các nhóm kỹ năng:

  • Kỹ năng kỹ thuật: Viết mã nguồn HTML/CSS chuẩn cú pháp, tổ chức tệp tin dự án logic, lập trình kịch bản xử lý biến/hàm/mảng trên JavaScript và PHP, cấu hình máy chủ web cục bộ trên nền tảng XAMPP.
  • Kỹ năng phân tích: Phân tích cấu trúc giao diện mẫu để bóc tách thành các phần tử HTML và khối định dạng CSS tương ứng; thiết kế logic kiểm tra tính hợp lệ của dữ liệu đầu vào.
  • Kỹ năng thực hành giải quyết vấn đề: Xây dựng hoàn chỉnh các module website cá nhân, module quản lý thông tin danh mục sản phẩm (sử dụng Form nhập liệu với các trường mã, tên, tính năng, giá và mã hãng phân phối).

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

Giáo trình áp dụng phương pháp tiếp cận sư phạm thực hành từng bước (step-by-step practical implementation), trong đó mỗi nội dung lý thuyết đều đi kèm ví dụ cú pháp trực quan và hệ thống bài tập áp dụng từ mức độ cơ bản đến tổng hợp.

Cấu trúc bài tập và tình huống thực hành

Hệ thống bài tập trong giáo trình được chia thành hai nhóm chính:

  1. Bài tập thực hành tại lớp (Lab Exercises):

    • Bài tập tạo cấu trúc và biểu mẫu: Thiết kế các form nhập liệu có thành phần TextBox, nút bấm Submit, nút tùy chọn Radio, thẻ gom nhóm <fieldset><legend>.
    • Bài tập xử lý kịch bản JavaScript: Viết hàm tìm số lớn hơn trong hai số nguyên (function timsolonhon(x, y)), truy xuất và trích xuất giá trị phần tử TextBox bằng nhiều phương thức trên đối tượng document.
    • Bài tập xử lý nghiệp vụ Form: Thiết kế form nhập liệu thông tin thiết bị di động gồm các trường: Mã điện thoại, Tên điện thoại, Tính năng, Giá cùng hộp lựa chọn Hãng chứa các giá trị định danh (NOK0001, SAM0003, SNY0006). Khi người dùng kích hoạt nút lệnh "Thêm mới", kịch bản JavaScript sẽ thu thập và in toàn bộ dữ liệu ra màn hình.
  2. Bài tập tổng hợp và Bài tập lớn (Projects & Homework):

    • Dự án Website cá nhân: Triển khai theo từng giai đoạn học phần:
      • Giai đoạn 1 (HTML thuần - Bài tập số 5): Xây dựng website cá nhân tĩnh gồm trang chủ (index.html) chứa thông tin cơ bản và ảnh chân dung; trang quá trình đào tạo/sở thích; trang liên kết (contact.html) chứa liên kết nội bộ, liên kết ngoại tới website nhà trường, liên kết neo trong trang và liên kết giao thức mailto:.
      • Giai đoạn 2 (Tích hợp CSS - Bài tập lớn số 1): Ứng dụng mô hình hộp, các thẻ <div>, <span>, định dạng văn bản, danh sách, bảng biểu và bố cục toàn trang.
      • Giai đoạn 3 (Tích hợp JavaScript - Bài tập về nhà): Bổ sung form đăng ký với chức năng kiểm thực dữ liệu (kiểm tra tên truy cập không rỗng; mật khẩu khác rỗng, dài trên 4 ký tự và hai trường nhập mật khẩu phải trùng khớp); thiết kế form nhập sơ yếu lý lịch cá nhân.

Phương pháp đánh giá và tự học

  • Phương pháp đánh giá: Kết hợp đánh giá liên tục thông qua sản phẩm bài tập thực hành trên lớp, mức độ hoàn thiện các bài tập về nhà và kết quả nghiệm thu mã nguồn bài tập lớn tổng hợp.
  • Hướng dẫn tự học: Sinh viên thực hiện cài đặt các công cụ thực thi mã nguồn trên hệ điều hành Windows, bao gồm trình soạn thảo Notepad++ và gói máy chủ XAMPP. Sử dụng tài liệu tham khảo bổ trợ được giới thiệu trong giáo trình như chuyên đề Ch3_Chi tiết về PHP và MySQL, cùng các nguồn hướng dẫn trực tuyến từ phptutorialxuanthulab.

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

  1. Phản ánh tiến trình chuẩn hóa công nghệ Web: Giáo trình hệ thống hóa các mốc phát triển của chuẩn HTML từ bản thảo sơ khởi năm 1994, chuẩn HTML 4.01 năm 1999 đến chuẩn HTML 5 (năm 2016), giúp người học nắm vững tính kế thừa và sự thay đổi trong cách thức xử lý siêu văn bản của các trình duyệt hiện đại.
  2. Dữ liệu thực tiễn về thị phần công nghệ: Giáo trình dẫn chứng dữ liệu thống kê cụ thể (tháng 6/2017 với gần 83% ứng dụng web trên toàn cầu được phát triển bằng ngôn ngữ PHP) nhằm định vị tính ứng dụng thực tế của công nghệ trong ngành công nghiệp phần mềm.
  3. Tiếp cận công cụ đa dạng và thực tế: Phân tích sự khác biệt giữa công cụ soạn thảo hỗ trợ giao diện đồ họa (FrontPage với cơ chế chia đôi màn hình thiết kế và mã nguồn) và công cụ soạn thảo mã nguồn gọn nhẹ (Notepad++ với tính năng đánh chỉ số dòng, tô màu cú pháp và gợi ý câu lệnh), qua đó định hướng người học tập trung vào bản chất mã lệnh thay vì phụ thuộc hoàn toàn vào công cụ sinh mã tự động.
  4. Mô hình triển khai chuẩn hóa: Hướng dẫn xây dựng môi trường kiểm thử trực tiếp trên máy chủ cục bộ Apache/MySQL thông qua XAMPP, chuẩn hóa quy trình lưu trữ dự án trong thư mục htdocs và cách truy cập qua đường dẫn http://localhost/.

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

  • Sinh viên bậc đại học: Giáo trình được biên soạn chuyên biệt cho sinh viên năm thứ hai hoặc năm thứ ba thuộc các ngành Công nghệ thông tin, Hệ thống thông tin kinh tế, Thương mại điện tử và các ngành kỹ thuật liên quan.
  • Yêu cầu kiến thức tiên quyết (Prerequisites): Người học cần nắm vững kỹ năng sử dụng máy tính căn bản, hiểu biết về hệ thống tệp tin, cấu trúc thư mục, định dạng văn bản mã ASCII và cơ chế vận hành cơ bản của các trình duyệt web phổ biến.
  • Đối với giảng viên: Tài liệu đóng vai trò là khung đề cương bài giảng chuẩn mực, cung cấp sẵn hệ thống slide lý thuyết, cấu trúc mã nguồn mẫu và ngân hàng bài tập thực hành theo từng buổi học.
  • Đối với người tự học: Phù hợp làm tài liệu tham khảo căn bản cho lập trình viên mới bắt đầu, cung cấp lộ trình rõ ràng từ thiết kế giao diện tĩnh (HTML/CSS) đến xử lý tương tác (JavaScript) và lập trình backend (PHP/MySQL).

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?

Giáo trình phù hợp với sinh viên đại học các ngành Công nghệ thông tin, Hệ thống thông tin kinh tế, Thương mại điện tử hoặc người mới bắt đầu học phát triển website cần nắm vững toàn bộ các thành phần cơ bản của một trang web.

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

Người học chỉ cần có kỹ năng thao tác cơ bản trên máy tính, hiểu biết về tổ chức thư mục tệp tin và việc sử dụng các trình duyệt web như Google Chrome hay Mozilla Firefox. Giáo trình bắt đầu từ các khái niệm thẻ HTML sơ cấp nên không yêu cầu kinh nghiệm lập trình nâng cao từ trước.

3. Giáo trình tiếp cận các công nghệ theo trình tự nào?

Nội dung được tổ chức theo quy trình logic 4 bước:

  • Khởi đầu với cấu trúc thông tin (HTML);
  • Tiếp nối với định dạng hiển thị và bố cục (CSS);
  • Bổ sung hành vi tương tác và kiểm thực dữ liệu (JavaScript/DOM);
  • Hoàn thiện với xử lý logic phía máy chủ và lưu trữ cơ sở dữ liệu (PHP/MySQL trên nền XAMPP).

4. Làm thế nào để thực hành và tự học hiệu quả với giáo trình?

Người học cần cài đặt môi trường bao gồm trình soạn thảo Notepad++ và phần mềm máy chủ XAMPP. Mỗi phần lý thuyết cần được hiện thực hóa trực tiếp bằng mã nguồn, thực thi kiểm tra trên trình duyệt và tự hoàn thành tuần tự các bài tập từ Bài tập số 5 đến các bài tập kiểm tra tính hợp lệ của biểu mẫu.

5. Có những tài liệu bổ trợ nào đi kèm với giáo trình?

Tài liệu đi kèm các bài đọc chuyên sâu như Ch3_Chi tiết về PHP và MySQL, cùng các nguồn tham khảo bổ trợ được giới thiệu trong nội dung bài giảng gồm hệ thống bài học từ xuanthulabphptutorial.


Kết luận

Giáo trình Ngôn Ngữ và Công Cụ Thiết Kế Website (2022) của Bộ môn Công nghệ thông tin - Khoa Hệ thống Thông tin Kinh tế và Thương mại điện tử là tài liệu học thuật tổng hợp các nguyên lý kỹ thuật web căn bản. Bằng việc phân định rõ ràng vai trò của các ngôn ngữ HTML, CSS, JavaScript, PHP kết hợp cùng công cụ quản trị MySQL/XAMPP, giáo trình vạch ra một lộ trình học tập logic, hỗ trợ sinh viên xây dựng nền tảng vững chắc để tiếp tục nghiên cứu các framework và công nghệ phát triển web chuyên sâu.