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

Giáo trình môn học Ngôn ngữ lập trình (thuộc mô đun Lập trình căn bản, mã số: MH13) được ban hành năm 2017 bởi Trường Cao đẳng Cộng đồng Đồng Tháp, trực thuộc Ủy ban Nhân dân tỉnh Đồng Tháp. Tài liệu được thiết kế chuyên biệt cho ngành, nghề Tin học ứng dụng ở trình độ Trung cấp, đồng thời có giá trị tham khảo cho học sinh trung cấp chuyên nghiệp, kỹ thuật viên tin học, nghề Sửa chữa lắp ráp máy tính và sinh viên bậc cao đẳng, đại học.

                  CHƯƠNG TRÌNH ĐÀO TẠO NGHỀ TIN HỌC ỨNG DỤNG
                         [Các môn học chung bắt buộc]
                      [Các mô đun chuyên môn nghề nâng cao]

Về vị trí đào tạo, mô đun MH13 là môn học cơ sở bắt buộc, được bố trí giảng dạy ngay sau khi người học hoàn thành các môn học chung và trước khi bước vào các môn học/mô đun chuyên môn nghề. Mục tiêu học tập cốt lõi của giáo trình gồm:

  • Trang bị hệ thống cú pháp, công dụng và nguyên tắc vận hành của các câu lệnh trong ngôn ngữ lập trình C;
  • Hình thành năng lực phân tích yêu cầu bài toán và xác định nhiệm vụ chương trình;
  • Thành thạo kỹ năng thao tác trên môi trường lập trình Borland C/Turbo C (biên tập mã nguồn, sử dụng hệ thống trợ giúp, gỡ rối, bẫy lỗi);
  • Xây dựng, biên dịch và thực thi chương trình trên máy tính;
  • Rèn luyện tư duy logic và sự tự tin trong việc tiếp cận các mã nguồn lập trình hóa.

Về cấu trúc, giáo trình được phân bổ trong 7 bài học với tổng thời lượng 88 giờ (bao gồm 26 giờ lý thuyết, 54 giờ thực hành và 8 giờ kiểm tra). Nội dung tiếp cận theo trình tự logic chặt chẽ: từ kiến thức tổng quan về lịch sử phát triển, môi trường phần mềm đến các thành phần cú pháp cơ bản, cấu trúc điều khiển, kỹ thuật mô đun hóa bằng hàm và các cấu trúc dữ liệu mảng, chuỗi ký tự cùng biến con trỏ. Điểm đặc thù của giáo trình là gắn liền lý thuyết chuẩn của ngôn ngữ C với các hướng dẫn thao tác kỹ thuật thực tế trên môi trường DOS/Windows.


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

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

Giáo trình được tổ chức thành 7 bài học chính, phản ánh đầy đủ lộ trình phát triển kỹ năng lập trình có cấu trúc:

  • Bài 1: Tổng quan về ngôn ngữ lập trình C (MH13-01 - 2 giờ Lý thuyết): Trình bày lịch sử phát triển của ngôn ngữ C tại phòng thí nghiệm Bell do Dennis Ritchie khởi xướng vào đầu những năm 1970, kế thừa từ ngôn ngữ BCPL của Martin Richards và ngôn ngữ B của Ken Thompson; mối liên hệ với hệ điều hành UNIX; hướng dẫn khởi động môi trường Borland C qua tập tin thực thi BC.EXE, các phương thức thoát chương trình (Alt-X, F10) và hệ thống phím tắt trợ giúp (F1, Ctrl-F1, Shift-F1, Alt-F1).
  • Bài 2: Các thành phần cơ bản (MH13-02 - 8 giờ: 2 Lý thuyết, 6 Thực hành): Hệ thống ký hiệu và 32 từ khóa Turbo C; quy tắc định danh tên đại lượng (tối đa 32 ký tự); các kiểu dữ liệu cơ sở; phân loại hằng số (nguyên, thực, hệ 8, hệ 16, ký tự, chuỗi ký tự kết thúc bằng \0); biến và biểu thức; khối lệnh {}; câu lệnh gán; các hàm xuất nhập chuẩn printf(), scanf(), gets(), xử lý vùng đệm bàn phím với fflush(stdin) và các ký tự điều khiển (\n, \t, \a, \b, \r).
  • Bài 3: Các lệnh cấu trúc (MH13-03 - 16 giờ: 4 Lý thuyết, 10 Thực hành, 2 Kiểm tra): Cấu trúc rẽ nhánh if...else, biểu thức điều kiện toán tử 3 ngôi ?:, cấu trúc lựa chọn switch...case...default; các cấu trúc lặp xác định và vô định for, while, do...while; các câu lệnh điều khiển luồng gồm break, continue và lệnh nhảy vô điều kiện goto kèm nhãn (label:).
  • Bài 4: Hàm (MH13-04 - 20 giờ: 8 Lý thuyết, 10 Thực hành, 2 Kiểm tra): Khái niệm chương trình con, hàm chính main(), quy tắc khai báo nguyên mẫu hàm (prototype), cấu trúc thân hàm và câu lệnh return; phạm vi hoạt động của biến cục bộ và tham số hình thức; cơ chế truyền tham số theo giá trị (tham trị) và truyền theo tham chiếu sử dụng con trỏ (ví dụ hàm hoán vị swap()); nguyên lý đệ quy (ví dụ hàm tính giai thừa gtdq()).
  • Bài 5: Mảng (MH13-05 - 13 giờ: 4 Lý thuyết, 8 Thực hành, 1 Kiểm tra): Khai báo mảng một chiều, mảng hai chiều (ma trận), kỹ thuật gán giá trị, truy xuất phần tử và các thuật toán duyệt mảng, sắp xếp mảng.
  • Bài 6: Chuỗi ký tự (MH13-06 - 13 giờ: 4 Lý thuyết, 8 Thực hành, 1 Kiểm tra): Khai báo mảng ký tự lưu trữ chuỗi, ký tự kết thúc chuỗi \0, các hàm nhập chuỗi có khoảng trắng và các phép toán xử lý chuỗi ký tự.
  • Bài 7: Mảng và biến con trỏ (MH13-07 - 18 giờ: 4 Lý thuyết, 12 Thực hành, 2 Kiểm tra): Khái niệm địa chỉ bộ nhớ, toán tử lấy địa chỉ &, toán tử giải tham chiếu *, khai báo biến con trỏ, mối liên hệ bản chất giữa con trỏ và mảng, truyền mảng/con trỏ vào hàm.

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

Kiểu dữ liệu Kích thước bộ nhớ Miền giá trị biểu diễn
char / signed char 1 byte (8 bit) -128 đến 127 (Mã ASCII tương ứng)
unsigned char 1 byte (8 bit) 0 đến 255
int 2 byte (16 bit) -32.768 đến 32.767
unsigned int 2 byte (16 bit) 0 đến 65.535
long 4 byte (32 bit) -2.147.483.648 đến 2.147.483.647
unsigned long 4 byte (32 bit) 0 đến 4.294.967.295
float 4 byte (32 bit) $3.4 \times 10^{-38}$ đến $3.4 \times 10^{+38}$ (7-8 chữ số có nghĩa)
double 8 byte (64 bit) $1.7 \times 10^{-308}$ đến $1.7 \times 10^{+308}$ (15-16 chữ số có nghĩa)
long double 10 byte (80 bit) $3.1 \times 10^{-4932}$ đến $3.1 \times 10^{+4932}$ (17-18 chữ số có nghĩa)

Bên cạnh bảng kiểu dữ liệu, giáo trình xây dựng các nguyên lý cốt lõi:

  1. Nguyên lý cấu trúc khối và phạm vi biến: Biến và mảng được cấp phát khi chương trình đi vào khối lệnh {} và tự động giải phóng khi thoát khỏi khối; tính chất che khuất tên biến cục bộ và biến ngoài khối.
  2. Cơ chế chuyển đổi kiểu dữ liệu: Phân biệt chuyển đổi kiểu tự động và ép kiểu tường minh dạng (Tên kiểu) <Biểu thức>.
  3. Cơ chế truyền tham số: Bản chất sao chép giá trị của tham trị so với việc truyền địa chỉ ô nhớ qua con trỏ để thay đổi dữ liệu gốc ở hàm gọi.
  [Truyền Tham Trị (Pass-by-Value)]              [Truyền Tham Chiếu Con Trỏ]

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Thành thạo quy trình soạn thảo, biên dịch (Ctrl-F9), xem kết quả (Alt-F5) trong Borland C; khai báo định dạng hiển thị số thực, số nguyên, hệ bát phân, hệ thập lục phân; xử lý chuỗi và làm sạch bộ đệm nhập liệu.
  • Kỹ năng phân tích (Analytical skills): Xây dựng thuật toán giải phương trình bậc nhất ($ax + b = 0$), phương trình bậc hai ($ax^2 + bx + c = 0$), kiểm tra tính nguyên tố bằng cách duyệt ước tới $\sqrt{n}$, kiểm tra số chính phương, tìm giá trị cực trị của 4 số nguyên và tính tổng các chữ số.
  • Năng lực thực hành ứng dụng (Practical competencies): Thiết kế chương trình theo phương pháp mô đun hóa (modular programming), đóng gói các đoạn xử lý lặp lại thành hàm độc lập, quản lý và duyệt mảng nhiều chiều để tính tích ma trận hay đảo chuỗi số.

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

Giáo trình triển khai phương pháp giảng dạy tích hợp giữa lý thuyết và thực hành, trong đó thời lượng thực hành tại phòng máy chiếm tỷ trọng chi phối (54/88 giờ, tương đương 61,3% tổng khối lượng mô đun).

Hệ thống bài tập và ví dụ minh họa được xây dựng theo hình thức ca thực hành từng bước (step-by-step cases):

  • Phân tích yêu cầu và ý tưởng: Ví dụ bài toán kiểm tra số chính phương phân tích định nghĩa số nguyên dương có căn bậc hai là số nguyên, từ đó thiết lập vòng lặp duyệt từ $1$ đến $n$ để so sánh $i^2 == n$.
  • Mã nguồn mẫu hoàn chỉnh: Cung cấp đầy đủ cấu trúc từ việc khai báo thư viện #include <stdio.h>, #include <math.h>, hàm main(), định dạng nhập xuất đến lệnh dừng màn hình getch().
  • Giải thích chi tiết từng dòng lệnh: Làm rõ vai trò của từng cú pháp, chẳng hạn nguyên tắc đặt dấu chấm phẩy sau khai báo nguyên mẫu prototype nhưng không đặt dấu chấm phẩy ở dòng tiêu đề định nghĩa hàm.

Quy trình đánh giá kết quả học tập được thực hiện thông qua 8 giờ kiểm tra phân kỳ, chia thành các bài đánh giá định kỳ sau từng chủ đề trọng tâm: Bài 3 (2 giờ), Bài 4 (2 giờ), Bài 5 (1 giờ), Bài 6 (1 giờ) và Bài 7 (2 giờ). Tiêu chí đánh giá dựa trên khả năng viết mã nguồn đúng cú pháp, chạy chương trình không phát sinh lỗi biên dịch, và kết quả xử lý chính xác theo dữ liệu kiểm thử.

Đối với hoạt động tự học, giáo trình cung cấp bảng tra cứu mã ASCII, danh mục từ khóa, các quy tắc đặt tên hợp lệ/không hợp lệ và bảng ký tự điều khiển. Người học được hướng dẫn sử dụng trực tiếp công cụ tra cứu tích hợp sẵn trong IDE thông qua tổ hợp phím Ctrl-F1 để xem tài liệu hướng dẫn của từng hàm cụ thể trong khi viết mã.


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

  1. Nguồn gốc chuẩn mực và kế thừa học thuật: Giáo trình xây dựng trên nền tảng ngôn ngữ lập trình C kinh điển xuất bản năm 1978 bởi Brian Kernighan và Dennis Ritchie (các tác giả phát triển ngôn ngữ C tại Bell Laboratories). Nội dung bảo đảm tính chuẩn xác của các khái niệm cốt lõi trong lập trình hệ thống và xử lý cấu trúc.
  2. Tích hợp môi trường phát triển Borland C/Turbo C: Tài liệu cung cấp hướng dẫn thao tác chi tiết trên môi trường IDE thực tế:
    • Cách gọi lệnh từ dấu nhắc DOS: [ổ đĩa]:\BORLANDC\BIN\BC [đường dẫn][tên file]
    • Thao tác trên giao diện đồ họa Windows qua lệnh Run hoặc Windows Explorer
    • Quản lý cửa sổ soạn thảo, các phím chức năng nạp tập tin, lưu trữ và biên dịch.
  3. Mô hình hóa các giải thuật thông dụng: Thay vì chỉ trình bày cú pháp trừu tượng, giáo trình đưa vào các giải thuật tính toán số học và xử lý chuỗi:
    • Thuật toán hoán vị mảng và đảo ngược dãy số bằng nhiều kỹ thuật khác nhau (dùng vòng lặp for 3 biểu thức, for khuyết, hoặc vòng lặp vô tận thoát bằng break).
    • Phép nhân hai ma trận kích thước $m \times n$ và $n \times p$.
    • Thuật toán tính tích vô hướng của hai vectơ.
    • Hàm đệ quy tính giai thừa ($n! = n \times (n-1)!$).
  4. Kết nối nghề nghiệp thực tế: Nội dung được điều chỉnh phù hợp với mục tiêu đào tạo nghề Tin học ứng dụng và nghề Sửa chữa lắp ráp máy tính, giúp người học làm quen với cơ chế quản lý bộ nhớ vật lý, địa chỉ biến và con trỏ – nền tảng để tiếp cận kiến trúc máy tính và các ngôn ngữ lập trình nâng cao.

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

  • Người học chính quy: Học sinh hệ Trung cấp nghề Tin học ứng dụng, học sinh Trung học chuyên nghiệp (THCN) và kỹ thuật viên ngành Sửa chữa lắp ráp máy tính.
  • Yêu cầu tiên quyết (Prerequisites): Người học cần hoàn thành các môn học chung trong chương trình đào tạo trung cấp; nắm vững thao tác sử dụng máy tính căn bản, quản lý tệp tin và thư mục trên hệ điều hành DOS/Windows, cùng kiến thức toán học phổ thông cơ bản.
  • Giảng viên: Sử dụng làm tài liệu giảng dạy chính thức cho mô đun MH13, làm căn cứ thiết kế đề thi, bài tập thực hành trên máy và phân bổ thời lượng giảng dạy theo tiến độ 88 giờ đã được duyệt.
  • Tự học và tham khảo: Dành cho người mới bắt đầu học lập trình muốn nắm vững nguyên lý lập trình cấu trúc, các quy tắc biên dịch mã nguồn C và phương pháp gỡ lỗi thực tế.

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 phục vụ học sinh trình độ Trung cấp nghề Tin học ứng dụng, học sinh THCN, kỹ thuật viên tin học và nghề Sửa chữa lắp ráp máy tính. Ngoài ra, nội dung giáo trình cũng là tài liệu tham khảo cho sinh viên bậc đại học, cao đẳng và những người quan tâm đến lập trình C căn bản.

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

Người học cần hoàn thành các môn học chung theo chương trình đào tạo nghề, có kỹ năng sử dụng máy tính căn bản (thao tác tệp tin, đường dẫn ổ đĩa trong Windows và DOS) và tư duy toán học nền tảng để hiểu các công thức giải phương trình, số học.

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

Giáo trình được thiết kế theo cấu trúc mô đun nghề chuẩn hóa với thời lượng thực hành chiếm tới hơn 61% (54/88 giờ). Các nội dung cú pháp đều đi kèm bài tập mã nguồn hoàn chỉnh và hướng dẫn chi tiết các thao tác môi trường thực tế (tổ hợp phím tắt trong Borland C, cách nạp tệp, xử lý lỗi không tương thích kiểu dữ liệu).

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

Người học nên cài đặt môi trường Borland C hoặc Turbo C theo đúng hướng dẫn đường dẫn trong Bài 1, trực tiếp gõ và biên dịch các đoạn mã nguồn ví dụ mẫu, thực hiện đầy đủ các bài tập tự giải (giải phương trình, tìm min/max, số nguyên tố, mảng) và tận dụng hệ thống phím trợ giúp F1 / Ctrl-F1 để tra cứu cú pháp thư viện hàm.

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

Giáo trình tích hợp sẵn phần hướng dẫn giải chi tiết cho các bài tập thực hành mẫu, bảng tra cứu từ khóa Turbo C, bảng mã ASCII, bảng ký tự điều khiển và tham chiếu đến tài liệu chuẩn Ngôn ngữ lập trình C của Dennish Ritchie và Brian Kernighan (1978).


Kết luận

Giáo trình môn học Ngôn ngữ lập trình (Mô đun MH13) của Trường Cao đẳng Cộng đồng Đồng Tháp cung cấp một hệ thống kiến thức lập trình có cấu trúc chặt chẽ, chính xác và có tính ứng dụng cao. Tài liệu giải quyết hiệu quả mục tiêu rèn luyện tư duy logic thuật toán và kỹ năng xây dựng chương trình thông qua môi trường Borland C.

Lộ trình học tập đề xuất:

  1. Tiếp cận từ Bài 1 và Bài 2 để nắm vững môi trường thực thi, kiểu dữ liệu và lệnh xuất nhập;
  2. Rèn luyện kỹ năng phân nhánh và lặp trong Bài 3;
  3. Mô đun hóa chương trình bằng hàm và kỹ thuật truyền tham số trong Bài 4;
  4. Hoàn thiện năng lực xử lý cấu trúc dữ liệu với Bài 5 (Mảng), Bài 6 (Chuỗi) và Bài 7 (Con trỏ).

Để mở rộng kiến thức, người học có thể tham khảo thêm tài liệu nguyên bản The C Programming Language của Brian Kernighan & Dennis Ritchie cùng các thư viện chuẩn của C (stdio.h, math.h, string.h).