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

Giáo trình Nhập môn lập trình Website (Mã mô đun: MĐ 12) do tác giả Nguyễn Phát Minh làm chủ biên, được biên soạn năm 2021 theo kế hoạch xây dựng hệ thống giáo trình của Khoa Công nghệ Thông tin – Trường Cao đẳng Nghề Cần Thơ. Đề cương học phần đã được thông qua bởi Hội đồng Khoa học của Khoa và Nhà trường. Trong chương trình đào tạo chuyên môn nghề Công nghệ thông tin, môn học giữ vị trí là học phần cơ sở chuyên ngành bắt buộc, được bố trí giảng dạy sau khi sinh viên đã hoàn thành các môn học chung và kiến thức cơ sở ngành.

Về mục tiêu học tập (learning outcomes), giáo trình hướng đến ba chuẩn đầu ra chính:

  • Kiến thức: Sinh viên hiểu rõ mô hình, cấu trúc và nguyên lý hoạt động của website; nắm vững cấu trúc một tài liệu HTML cùng tính năng, cú pháp của các thẻ HTML, bảng thuộc tính CSS và nguyên lý kết hợp JavaScript.
  • Kỹ năng: Xây dựng được giao diện website tĩnh hoàn chỉnh, đảm bảo tính thẩm mỹ; có khả năng chuyển đổi trực tiếp giao diện thiết kế từ tập tin đồ họa (định dạng PSD) thành trang web hoạt động trên trình duyệt.
  • Năng lực tự chủ và trách nhiệm: Rèn luyện tác phong làm việc tỉ mỉ, chính xác, ngăn nắp; chủ động tiếp nhận kiến thức và tìm kiếm nguồn bài tập thực hành liên quan.

Về cấu trúc và cách tiếp cận, giáo trình có tổng thời lượng 60 giờ (gồm 30 giờ lý thuyết, 27 giờ thực hành và 3 giờ kiểm tra). Nội dung được thiết kế theo phương pháp mô-đun hóa, phân bổ từ các khái niệm nền tảng về mạng và siêu văn bản, qua việc định hình cấu trúc thẻ, kiểm soát giao diện bằng biểu định kiểu, đến bổ sung tương tác động. Điểm đặc sắc của giáo trình là việc kết hợp chuẩn cú pháp HTML5 hiện hành với hệ thống bài tập thực hành bám sát cấu trúc của các website thực tế.


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

                       CẤU TRÚC 4 BÀI HỌC CỐT LÕI (MĐ 12)
 ┌─────────────────────────────────────────────────────────────────────────────┐
 │ Bài 1: Tổng quan (2h)                                                       │
 │  ├── Lịch sử WWW: Ted Nelson (1965), Tim Berners-Lee (1989)                 │
 │  ├── 3 Cơ chế WWW: URL, HTTP (Cổng 80, GET/POST), Siêu văn bản (HTML)       │
 │  └── Cấu trúc khung HTML5 & Môi trường soạn thảo (Notepad, Atom)            │
 └──────────────────────────────────────┬──────────────────────────────────────┘
                                        ▼
 ┌─────────────────────────────────────────────────────────────────────────────┐
 │ Bài 2: Các thẻ HTML thông dụng (24h)                                        │
 │  ├── Thẻ văn bản & Phân loại: Thẻ khối (div, p...) / Thẻ nội tuyến (span...)│
 │  ├── Siêu liên kết (a), Hình ảnh (img: APNG, GIF, ICO, JPEG, PNG, SVG)      │
 │  ├── Bảng (table, colspan, rowspan) & Danh sách (ul, ol, dl)                │
 │  └── Danh mục 32 thẻ HTML5 ngữ nghĩa & HTML Form (22 kiểu input)            │
 └──────────────────────────────────────┬──────────────────────────────────────┘
                                        ▼
 ┌─────────────────────────────────────────────────────────────────────────────┐
 │ Bài 3: Cascading Style Sheets - CSS (24h)                                   │
 │  ├── 3 Cách sử dụng: Inline, Internal (<style>), External (<link>)          │
 │  ├── Bộ chọn: Tag, Class (.), ID (#) & Pseudo-classes (:hover, :active...)   │
 │  ├── Box Model: Margin, Padding, Width, Height & Border (10 kiểu đường viền)│
 │  └── Bố cục & Định vị: Display (block, inline), Position (5 kiểu), Float    │
 └──────────────────────────────────────┬──────────────────────────────────────┘
                                        ▼
 ┌─────────────────────────────────────────────────────────────────────────────┐
 │ Bài 4: Javascript (10h)                                                     │
 │  ├── Cú pháp & Khái niệm cơ bản của ngôn ngữ JavaScript                     │
 │  └── Cơ chế tích hợp mã kịch bản JavaScript vào tài liệu HTML               │
 └─────────────────────────────────────────────────────────────────────────────┘

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

Nội dung giáo trình được triển khai qua 4 bài học chính với tiến trình logic từ cấu trúc dữ liệu đến trình bày và xử lý tương tác:

  • Bài 1: Tổng quan (2 giờ: 1 lý thuyết, 1 thực hành): Giới thiệu lịch sử hình thành World Wide Web từ ý tưởng siêu văn bản của Ted Nelson (1965) đến dự án chính thức của Tim Berners-Lee (1989). Trình bày ba cơ chế cốt lõi của WWW gồm URL (cấu trúc gồm giao thức, máy chủ, đường dẫn và định danh đoạn #), giao thức HTTP (chu trình 4 giai đoạn qua cổng 80 với phương thức GET/POST) và siêu văn bản HTML. Cung cấp khung sườn chuẩn của tài liệu HTML5 (<!DOCTYPE html>, <html>, <head>, <meta charset="UTF-8">, <body>) và giới thiệu các môi trường soạn thảo mã nguồn như Notepad, Wordpad, Atom, PHPDesigner.
  • Bài 2: Các thẻ HTML thông dụng (24 giờ: 13 lý thuyết, 10 thực hành, 1 kiểm tra): Khảo sát chi tiết hệ thống thẻ HTML:
    • Thẻ văn bản: Tiêu đề <h1> đến <h6>, đoạn văn <p>, ngắt dòng <br>, đường kẻ ngang <hr>, định dạng in đậm <b>, in nghiêng <i>, gạch dưới <u>, giữ nguyên định dạng <pre> (phông Courier).
    • Phân loại phần tử: Phân biệt thẻ cấp khối (<div>, <p>, <section>, <article>, <header>, <footer>...) và thẻ nội tuyến (<span>, <a>, <img>, <b>, <label>...).
    • Liên kết và đa phương tiện: Thẻ <a> với thuộc tính href, target (_self, _blank, _parent, _top); thẻ <img> với src, alt cùng 6 định dạng ảnh hỗ trợ (APNG, GIF, ICO, JPEG, PNG, SVG).
    • Cấu trúc dữ liệu: Bảng dữ liệu <table>, <tr>, <th>, <td> với các thuộc tính điều chỉnh kích thước, đường viền, khoảng cách cellspacing, cellpadding, kỹ thuật trộn ô colspanrowspan; danh sách không thứ tự <ul>, danh sách có thứ tự <ol> (kiểu 1, A, a, I, i), danh sách mô tả <dl>, <dt>, <dd>.
    • Thẻ HTML5 ngữ nghĩa và Biểu mẫu: Giới thiệu 32 thẻ HTML5 mới (<header>, <nav>, <section>, <article>, <aside>, <footer>, <canvas>, <video>, <audio>, <output>, <datalist>...); cấu trúc <form> với các thuộc tính action, method (GET/POST), target, autocomplete, cùng 22 kiểu input type (text, password, email, number, date, color, range, file, hidden...) và các phần tử phụ trợ (<label>, <select>, <textarea>, <button>, <fieldset>, <legend>).
  • Bài 3: CSS - Cascading Style Sheets (24 giờ: 14 lý thuyết, 9 thực hành, 1 kiểm tra): Trình bày 3 phương pháp nhúng CSS (Nội tuyến - Inline, Nội bộ - Internal trong thẻ <style>, Bên ngoài - External qua thẻ <link>). Phân loại bộ chọn theo thẻ, Class (.) và ID (#). Khảo sát các nhóm thuộc tính:
    • Nền (Background): background-color, background-image, background-repeat (repeat-x, repeat-y, no-repeat), background-position.
    • Đường viền (Border): 10 giá trị border-style (dotted, dashed, solid, double, groove, ridge, inset, outset, none, hidden), border-width, border-color.
    • Mô hình hộp (Box Model): margin, padding, width, height, min-height, max-width.
    • Văn bản và Phông chữ: color, text-align, vertical-align, font-weight, font-style, text-decoration, font-family, font-size (tính theo đơn vị tuyệt đối px và tương đối em), các lớp giả cho liên kết (:link, :visited, :hover, :active).
    • Bố cục và Định vị: Thuộc tính display (block, inline, none so sánh với visibility: hidden), position (static, relative, fixed, absolute, sticky) và float (left, right, none, inherit).
  • Bài 4: Javascript (10 giờ: 2 lý thuyết, 7 thực hành, 1 kiểm tra): Cung cấp cú pháp cơ bản, cách khai báo và phương pháp tích hợp mã kịch bản JavaScript vào tài liệu HTML nhằm tạo các chức năng phản hồi hành động của người dùng trên giao diện.

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

Giáo trình xây dựng hệ thống lý thuyết nền tảng gồm:

  • Mô hình truyền thông Web Client - Server: Cơ chế hoạt động của giao thức HTTP qua 4 bước kết nối ngắt quãng, giúp giảm tải lưu thông mạng; cấu trúc định tuyến tài nguyên thông qua URL chuẩn hóa của W3C.
  • Cấu trúc phân cấp tài liệu siêu văn bản: Nguyên lý lồng ghép thẻ XML/HTML, phân định ranh giới giữa luồng hiển thị khối (Block) và luồng hiển thị nội tuyến (Inline).
  • Nguyên lý xếp tầng và Mô hình hộp (Box Model): Cơ chế ưu tiên của các lớp định dạng CSS, cách trình duyệt tính toán không gian phần tử thông qua sự kết hợp giữa nội dung, vùng đệm (padding), đường viền (border) và khoảng cách lề (margin).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Soạn thảo mã nguồn HTML5, CSS thuần và JavaScript đúng chuẩn cú pháp; tổ chức cây thư mục dự án web; liên kết tài nguyên đa phương tiện và xử lý bảng mã tiếng Việt UTF-8.
  • Kỹ năng phân tích (Analytical skills): Phân tích bố cục giao diện mẫu thành các khối chức năng; lựa chọn định dạng tệp hình ảnh tối ưu; tính toán chuyển đổi kích thước phông chữ từ px sang em.
  • Kỹ năng thực hành nghề nghiệp (Practical competencies): Cắt ghép và chuyển đổi giao diện từ tệp thiết kế PSD sang mã HTML/CSS; tạo lập biểu mẫu thu thập dữ liệu có cơ chế kiểm soát kiểu nhập liệu; xây dựng hệ thống thanh điều hướng (menu) đa cấp.

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

Giáo trình áp dụng mô hình sư phạm kết hợp giữa giảng giải lý thuyết và hướng dẫn thực hành trực tiếp tại phòng máy. Với thời lượng thực hành chiếm 45% (27/60 giờ) và kiểm tra chiếm 5% (3/60 giờ), sinh viên được rèn luyện kỹ năng viết mã song song với việc tiếp thu lý thuyết.

                  PHÂN BỔ THỜI LƯỢNG MÔ ĐUN MĐ 12 (60 GIỜ)
  ┌──────────────────────────────┬──────────────────────────────┬──────────┐
  │      Lý thuyết (30h)         │       Thực hành (27h)        │ KT (3h)  │
  │            50%               │             45%              │    5%    │
  └──────────────────────────────┴──────────────────────────────┴──────────┘

Hệ thống bài tập và case studies trong tài liệu được thiết kế theo mức độ phức tạp tăng dần:

  • Bài tập cơ bản: Soạn thảo trang web hiển thị văn bản với Notepad và Atom (ví dụ: tạo trang "Hello World", "Hello ATOM"); cấu hình văn bản nhiều đoạn có chứa định dạng in đậm, in nghiêng, gạch dưới.
  • Bài tập tình huống bố cục: Thiết kế giao diện thanh điều hướng sidebar bên trái chứa danh sách liên kết đến 3 thành phố sử dụng dấu neo #; tạo bảng hiển thị danh sách nhân sự có sử dụng cellspacing, cellpadding, colspanrowspan.
  • Case studies thực tế:
    1. Mô phỏng giao diện Báo Cần Thơ (baocantho.vn): Thực hành xây dựng thanh thực đơn (menu) ngang và bố cục tin tức sử dụng kỹ thuật float và danh sách lồng nhau.
    2. Mô phỏng cổng thông tin Trường Cao đẳng Nghề Cần Thơ: Áp dụng toàn diện các thẻ HTML5 (<header>, <nav>, <section>, <aside>, <footer>) kết hợp thuộc tính định vị CSS (position, margin, padding) để xây dựng một giao diện trang web hoàn chỉnh.
    3. Bài tập chuyển đổi PSD sang Web: Rèn luyện kỹ năng trích xuất hình ảnh, đo đạc kích thước và tái lập giao diện từ bản vẽ thiết kế đồ họa sang mã nguồn HTML/CSS.

Phương pháp đánh giá kết quả học tập được quy định cụ thể tại từng bài học:

  • Đánh giá kiến thức: Thực hiện thông qua bài kiểm tra viết, câu hỏi trắc nghiệm hoặc vấn đáp trực tiếp về cấu trúc thẻ, cú pháp CSS và chu trình HTTP.
  • Đánh giá kỹ năng: Chấm điểm trực tiếp sản phẩm thực hành trên máy tính dựa trên mức độ hoàn thiện của giao diện, tính hợp lệ của mã nguồn và khả năng sử dụng các phần mềm soạn thảo.
  • Đánh giá năng lực tự chủ: Quan sát tính cẩn thận, chính xác, tỉ mỉ và ngăn nắp trong việc tổ chức mã nguồn và quản lý tệp tin.

Về hướng dẫn tự học, sinh viên được yêu cầu tự cài đặt các công cụ soạn thảo mã nguồn (như Atom), kiểm tra khả năng tương thích của trang web trên các trình duyệt khác nhau (Chrome, Edge, Firefox, Safari, Opera) và tra cứu thêm các tiêu chuẩn định dạng từ tài liệu W3C Technical Reports (http://www.w3.org/TR).


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

  • Cập nhật chuẩn ngữ nghĩa HTML5: Giáo trình cung cấp bảng tổng hợp 32 thẻ HTML5 mới (như <article>, <aside>, <canvas>, <datalist>, <details>, <figure>, <header>, <footer>, <nav>, <section>, <video>, <audio>), giúp phân định cấu trúc trang web một cách rõ ràng theo chuẩn web hiện đại.
  • Tích hợp hệ thống 22 kiểu nhập liệu mới của HTML Form: Cung cấp đầy đủ các giá trị của thuộc tính type trong thẻ <input> (bao gồm color, date, datetime-local, email, month, number, range, search, tel, time, url, week), hỗ trợ trình duyệt tự động kiểm tra định dạng dữ liệu đầu vào mà không cần viết thêm mã xử lý phức tạp.
  • Chuẩn hóa kỹ thuật định dạng CSS: Phân tích chi tiết các thuộc tính định vị nâng cao (position: sticky, absolute, fixed), các hiệu ứng hiển thị (display: none so với visibility: hidden), cùng hệ thống lớp giả định dạng trạng thái liên kết (:link, :visited, :hover, :active) và quy đổi đơn vị đo lường tương đối em.
  • Gắn kết trực tiếp với dữ liệu thực tế: Các bài tập ứng dụng sử dụng địa chỉ và mô hình giao diện thực tế từ địa phương như Báo Cần Thơ (baocantho.vn) và Trường Cao đẳng Nghề Cần Thơ, giúp sinh viên làm quen với các yêu cầu thực tế của công việc thiết kế web.

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

  • Sinh viên: Phục vụ trực tiếp cho sinh viên hệ Cao đẳng nghề thuộc ngành Công nghệ thông tin, Lập trình máy tính hoặc Ứng dụng phần mềm đang học học phần Nhập môn lập trình Website (MĐ 12).
  • Điều kiện tiên quyết (Prerequisites): Người học cần hoàn thành các môn học chung, tin học đại cương và nắm được các thao tác cơ bản trên hệ điều hành máy tính (quản lý thư mục, tệp tin, sử dụng trình duyệt web).
  • Giảng viên: Sử dụng làm tài liệu giảng dạy chính khóa, định hướng xây dựng giáo án lý thuyết, bài tập thực hành phòng máy và đề thi đánh giá hết mô-đun.
  • Người tự học và tham khảo: Phù hợp cho lập trình viên mới bắt đầu tiếp cận lập trình web tĩnh, kỹ thuật viên quản trị hệ thống cần tài liệu tra cứu nhanh về cú pháp thẻ HTML5, thuộc tính CSS và cách thức nhúng kịch bản JavaScript cơ bản.

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 được biên soạn chuyên biệt cho sinh viên ngành Công nghệ thông tin hệ Cao đẳng nghề và những người mới bắt đầu học lập trình giao diện website tĩnh.

2. Cần kiến thức nền nào để học giáo trình này?

Người học chỉ cần có kỹ năng sử dụng máy tính căn bản, thao tác quản lý tệp tin và đã hoàn thành các môn học cơ sở chung trong chương trình đào tạo nghề.

3. Điểm khác biệt của giáo trình này so với các tài liệu khác là gì?

Tài liệu tập trung vào kỹ thuật viết mã thủ công trên các trình soạn thảo cơ bản (Notepad, Atom), hệ thống hóa đầy đủ các thuộc tính của HTML5/CSS và đưa vào các bài tập mô phỏng giao diện thực tế (website Báo Cần Thơ, Trường CĐ Nghề Cần Thơ) cùng kỹ năng chuyển đổi từ tệp thiết kế PSD.

4. Làm sao để tự học giáo trình này hiệu quả?

Người học nên cài đặt trình soạn thảo Atom, thực hành tuần tự từng bài tập từ cơ bản đến nâng cao, tự gõ lại toàn bộ các đoạn mã mẫu trong giáo trình và kiểm tra kết quả hiển thị trên nhiều trình duyệt khác nhau.

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

Tài liệu hướng dẫn người học tham khảo hệ thống đặc tả kỹ thuật W3C Technical Reports tại địa chỉ http://www.w3.org/TR, kết hợp nghiên cứu mã nguồn giao diện thực tế của cổng thông tin trường và các trang báo điện tử.


Kết luận

Giáo trình Nhập môn lập trình Website (MĐ 12) của Trường Cao đẳng Nghề Cần Thơ cung cấp một hệ thống kiến thức toàn diện, chuẩn xác về lập trình giao diện web tĩnh. Nội dung tài liệu dẫn dắt người học qua lộ trình 4 giai đoạn logic: từ tìm hiểu mô hình giao thức HTTP và địa chỉ URL, làm chủ hệ thống thẻ cấu trúc HTML/HTML5, kiểm soát mỹ thuật và bố cục đa cột với CSS, đến tích hợp tính năng xử lý với JavaScript.

Đây là tài liệu học tập nền tảng giúp sinh viên hình thành kỹ năng viết mã chuẩn mực và chuẩn bị năng lực chuyên môn để tiếp tục theo học các học phần chuyên sâu như Thiết kế Website trong chương trình đào tạo Công nghệ thông tin.