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

Giáo trình môn học Ngôn ngữ lập trình (Mã mô đun: MH13 – Lập trình căn bản) do Trường Cao đẳng Cộng đồng Đồng Tháp (thuộc Ủy ban Nhân dân Tỉnh Đồng Tháp) biên soạn và ban hành năm 2017. Về vị trí trong chương trình đào tạo, mô đun này được bố trí giảng dạy 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ô đun chuyên môn nghề thuộc ngành, nghề Kỹ thuật sửa chữa, lắp ráp máy tính trình độ Trung cấp.

Mục tiêu học tập của giáo trình được xác định cụ thể theo chuẩn đầu ra kỹ năng và kiến thức:

  • Giúp người học hiểu rõ công dụng của ngôn ngữ lập trình C, nắm vững cú pháp và chức năng của các câu lệnh cơ bản;
  • Rèn luyện kỹ năng phân tích bài toán, xác định nhiệm vụ chương trình;
  • Làm chủ môi trường lập trình (biên tập mã nguồn, sử dụng công cụ gỡ rối, tra cứu hệ thống trợ giúp, 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;
  • Hình thành tư duy logic lập trình và khả năng đọc hiểu mã nguồn kỹ thuật.

Giáo trình có kết cấu tổng thể gồm 7 bài học với tổng thời lượng 90 giờ, tiếp cận theo phương pháp kết hợp chặt chẽ giữa lý thuyết cú pháp và thực hành lập trình trực tiếp trên môi trường Turbo C / Borland C. Điểm đặc thù của tài liệu là định hướng trực diện vào phần cứng và hệ thống, giải thích cặn kẽ cơ chế biểu diễn dữ liệu ở mức nhị phân, byte, mã ASCII và địa chỉ bộ nhớ, phù hợp với nghiệp vụ sửa chữa, lắp ráp và lập trình kỹ thuật.


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

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

Giáo trình được chia thành 7 bài học trọng tâm theo tiến trình từ cơ bản đến chuyên sâu:

Mã bài Tên bài Thời lượng tổng Lý thuyết Thực hành Kiểm tra
MH13-01 Tổng quan về ngôn ngữ lập trình C 02 giờ 02 00 00
MH13-02 Các thành phần cơ bản 08 giờ 02 06 00
MH13-03 Các lệnh có cấu trúc 16 giờ 04 10 02
MH13-04 Hàm 20 giờ 08 10 02
MH13-05 Mảng 13 giờ 04 08 01
MH13-06 Chuỗi ký tự 13 giờ 04 08 01
MH13-07 Mảng và biến con trỏ 18 giờ 04 12 02
  • Bài 1: Tổng quan về ngôn ngữ lập trình C: Giới thiệu lịch sử phát triển của ngôn ngữ C (bắt nguồn từ BCPL của Martin Richards và ngôn ngữ B của Ken Thompson, do Dennis Ritchie phát triển tại Bell Labs gắn liền với hệ điều hành UNIX); cơ chế khởi động môi trường Borland C qua tệp lệnh BC.EXE, các thao tác biên dịch, thoát chương trình (Alt - X), hệ thống trợ giúp (F1, Ctrl - F1, Shift - F1, Alt - F1).
  • Bài 2: Các thành phần cơ bản: Trình bày bộ 26 chữ cái, chữ số, ký hiệu toán học, gạch nối _; bảng 32 từ khóa chuẩn trong Turbo C (asm, break, case, char, float, int, struct, sizeof,...); quy tắc đặt tên định danh; các kiểu dữ liệu nguyên thủy; cách khai báo hằng số (#define, hằng số bát phân, hằng số thập lục phân 0x, ký tự điều khiển escape sequence); lệnh gán và cơ chế nhập xuất dữ liệu chuẩn thông qua thư viện stdio.h (printf, scanf, gets, fflush(stdin)).
  • Bài 3: Các lệnh có cấu trúc: Phân tích cú pháp và nguyên lý vận hành của cấu trúc rẽ nhánh điều kiện if, if...else, biểu thức điều kiện ?:; cấu trúc lựa chọn switch...case...default; các cấu trúc lặp xác định for(bt1; bt2; bt3) và lặp vô định while(bt), do...while(bt); các lệnh bẻ vòng lặp và điều khiển luồng gồm break, continue, goto kèm nhãn (label:).
  • Bài 4: Hàm (Functions): Trình bày khái niệm chương trình con, quy tắc xây dựng hàm, khai báo nguyên mẫu hàm (prototype), phạm vi hoạt động của biến cục bộ và đối số; cơ chế truyền tham số theo giá trị (tham trị) và truyền theo tham chiếu (con trỏ); kỹ thuật đệ quy thông qua bài toán tính giai thừa $n!$.
  • Bài 5, 6, 7: Mảng, Chuỗi ký tự, Mảng và biến con trỏ: Cung cấp kiến thức về cấu trúc dữ liệu mảng một chiều, mảng hai chiều (ma trận), chuỗi ký tự kết thúc bằng ký tự null \0, các phép xử lý chuỗi và bản chất địa chỉ bộ nhớ của biến con trỏ, toán tử lấy địa chỉ & và toán tử truy xuất giá trị *.

Progression logic của giáo trình đi từ việc tiếp cận môi trường và cú pháp sơ cấp, đến kiểm soát luồng điều khiển, module hóa mã nguồn bằng hàm, và kết thúc ở việc thao tác trực tiếp trên vùng nhớ thông qua mảng và con trỏ.

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

  1. Hệ thống phân loại kiểu dữ liệu và phạm vi biểu diễn:
    • Kiểu ký tự: char (signed: -128 đến 127), unsigned char (0 đến 255), kích thước 1 byte theo chuẩn ASCII.
    • Kiểu số nguyên: int (-32768 đến 32767, 2 byte), unsigned int (0 đến 65535, 2 byte), long (-2147483648 đến 2147483647, 4 byte), unsigned long (0 đến 4294967295, 4 byte).
    • Kiểu số thực dấu phẩy động: float (kích thước 4 byte, độ chính xác 7-8 chữ số), double (8 byte, 15-16 chữ số), long double (10 byte, 17-18 chữ số).
  2. Nguyên lý tổ chức bộ nhớ và biểu thức logic:
    • Quy tắc định danh phân biệt chữ hoa, chữ thường; độ dài tên mặc định tối đa 32 ký tự.
    • Các hệ đếm số học: Hệ bát phân (tiền tố 0), hệ thập lục phân (tiền tố 0x hoặc 0X).
    • Định dạng ký tự điều khiển: \a (chuông), \b (lùi lề), \n (xuống dòng), \r (về đầu dòng), \t (tab ngang), \0 (ký tự null kết thúc chuỗi).
    • Đánh giá chân trị logic: Giá trị 0 tương ứng với false, mọi giá trị khác 0 được quy ước là true.
  3. Cơ chế gọi hàm và truyền địa chỉ:
    • Vùng nhớ cục bộ được cấp phát khi hàm được gọi và giải phóng hoàn toàn khi thoát khỏi hàm.
    • Quản lý truyền dữ liệu hai chiều thông qua con trỏ tham số (ví dụ: hàm swap(int *u, int *v) sử dụng địa chỉ px = &x, py = &y).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Cài đặt, cấu hình và vận hành trình biên dịch Borland C / Turbo C trên nền DOS/Windows; thao tác các tổ hợp phím chức năng (Ctrl - F9 biên dịch và chạy, Alt - F5 xem màn hình kết quả); sử dụng đúng các định dạng xuất nhập (%d, %f, %c, %s, %e, %x, %o).
  • Kỹ năng phân tích (Analytical skills): Phân tích thuật toán rẽ nhánh, tối ưu hóa các vòng lặp lồng nhau, nhận diện quy luật chuyển đổi kiểu tường minh (float)10/4 và bẫy lỗi kiểu dữ liệu khi chuyển đổi giữa char* và int.
  • Năng lực thực hành giải quyết bài toán: Cài đặt các thuật toán cơ bản trong lập trình như:
    • Kiểm tra tính chẵn lẻ, chia hết, tính năm nhuận;
    • Giải phương trình bậc nhất ($ax + b = 0$) và bậc hai ($ax^2 + bx + c = 0$ sử dụng biệt thức $\Delta = b^2 - 4ac$ và thư viện math.h);
    • Tìm giá trị nhỏ nhất/lớn nhất của dãy số;
    • Thuật toán kiểm tra số nguyên tố (lặp từ 2 đến $\sqrt{n}$), kiểm tra số chính phương ($i \times i == n$);
    • Đảo ngược mảng một chiều, tính tổng chuỗi số lẻ, tính tích ma trận và tích vô hướng hai véc-tơ.

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

Giáo trình thiết lập cơ cấu phân bổ thời gian với ưu thế thực hành rõ rệt: trong tổng số 90 giờ học, thời lượng thực hành trực tiếp trên máy chiếm 54 giờ (chiếm 60%), lý thuyết chiếm 28 giờ (khoảng 31%) và kiểm tra định kỳ chiếm 8 giờ.

Quy trình sư phạm và thực hành

Mỗi bài học được cấu trúc thống nhất theo trình tự 4 bước:

  1. Mục tiêu bài học: Xác định rõ chuẩn kiến thức và thao tác cần đạt;
  2. Cung cấp kiến thức lý thuyết: Định nghĩa cú pháp chuẩn, liệt kê bảng thông số kỹ thuật (bảng mã ASCII, bảng từ khóa, bảng kiểu dữ liệu);
  3. Phân tích ví dụ mẫu: Minh họa trực tiếp bằng các đoạn mã nguồn hoàn chỉnh có chú thích chi tiết từng dòng lệnh;
  4. Hệ thống bài tập tự giải và hướng dẫn code mẫu: Cung cấp mã nguồn tham khảo để người học đối chiếu kết quả thực thi.

Phương pháp kiểm tra và đánh giá

Giáo trình phân định các mốc kiểm tra định kỳ ngay sau các nội dung phức tạp:

  • Đánh giá kỹ năng điều khiển luồng sau Bài 3 (2 giờ kiểm tra);
  • Đánh giá kỹ năng xây dựng chương trình con sau Bài 4 (2 giờ kiểm tra);
  • Đánh giá kỹ năng xử lý mảng và chuỗi sau Bài 5 và Bài 6 (mỗi bài 1 giờ kiểm tra);
  • Đánh giá tổng hợp kỹ năng thao tác con trỏ và cấu trúc dữ liệu sau Bài 7 (2 giờ kiểm tra).

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

Người học được hướng dẫn tận dụng hệ thống tài nguyên có sẵn trong môi trường IDE:

  • Tra cứu cú pháp lệnh và hàm thư viện tức thời bằng tổ hợp phím Ctrl - F1 ngay tại vị trí con trỏ soạn thảo;
  • Sử dụng phím F1 để mở danh mục trợ giúp tổng thể và Alt - F1 để quay lại lịch sử tra cứu;
  • Tuân thủ quy tắc khai báo tệp tiêu đề chuẩn (#include <stdio.h>, #include <math.h>) và quy chuẩn cấu trúc hàm main().

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

  • Tích hợp lịch sử và chuẩn mực học thuật: Giáo trình trích xuất nguồn gốc phát triển của ngôn ngữ C từ các công trình tại phòng thí nghiệm Bell (Bell Labs) gắn liền với hệ điều hành UNIX, trích dẫn trực tiếp công trình kinh điển năm 1978 của Brian Kernighan và Dennis Ritchie (The C Programming Language).
  • Môi trường thực thi tiêu chuẩn Turbo C / Borland C: Tài liệu hướng dẫn chi tiết cách tương tác với trình biên dịch Borland C (BC) từ giao diện dòng lệnh DOS (<ổ đĩa>:\BORLANDC\BIN\BC) cũng như trên nền tảng Windows, giải thích các cơ chế tối ưu hóa độ dài tên định danh trong menu Option - Compiler - Source - Identifier length.
  • Gắn liền với kiến trúc máy tính và phần cứng: Khác với các tài liệu lập trình cấp cao thuần túy, giáo trình tập trung phân tích độ rộng bit/byte thực tế của các kiểu dữ liệu trên bộ nhớ, giải thích bản chất của biến con trỏ, toán tử địa chỉ &, bộ đệm bàn phím (fflush(stdin)) và mã quét bàn phím.
  • Tính ứng dụng kỹ thuật: Các ví dụ toán học và kỹ thuật được chọn lọc trực tiếp nhằm phục vụ việc rèn luyện tư duy thuật toán cho kỹ thuật viên sửa chữa máy tính (chuyển đổi mã ASCII giữa ký tự hoa và thường qua độ lệch giá trị 32, xử lý biểu thức logic, điều khiển ngắt và giao tiếp vào/ra).

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

  1. Học sinh trình độ Trung cấp nghề: Là tài liệu học tập chính khóa cho học sinh ngành Kỹ thuật sửa chữa, lắp ráp máy tính thuộc các trường Trung cấp, Cao đẳng nghề; cung cấp kiến thức nền tảng về phần mềm hệ thống và tư duy giải thuật.
  2. Sinh viên Cao đẳng, Đại học kỹ thuật: Đóng vai trò là tài liệu tham khảo bổ trợ cho sinh viên các ngành Công nghệ thông tin, Kỹ thuật điện tử, Tự động hóa trong giai đoạn tiếp cận môn Lập trình căn bản hoặc Kỹ thuật lập trình.
  3. Giảng viên và Giáo viên dạy nghề: Cung cấp đề cương phân phối chương trình chuẩn (90 tiết), tài liệu hướng dẫn thực hành và ngân hàng bài tập lập trình mẫu có lời giải.
  4. Kỹ thuật viên tin học và người tự học: Phù hợp cho đối tượng kỹ thuật viên muốn củng cố kiến thức về ngôn ngữ C, cơ chế quản lý bộ nhớ của hệ thống máy tính và lập trình vi điều khiển căn bản.

Đ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 trong chương trình đào tạo nghề, có kỹ năng sử dụng máy tính cơ bản và hiểu biết số học đại số thông thường.


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

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

Tài liệu được thiết kế chính khóa cho học sinh trình độ Trung cấp nghề Kỹ thuật sửa chữa, lắp ráp máy tính và kỹ thuật viên tin học. Đồng thời, giáo trình cũng được sử dụng làm tài liệu tham khảo cho sinh viên bậc cao đẳng, đại học.

2. Để học tốt giáo trình này cần trang bị kiến thức nền tảng gì?

Người học chỉ cần hoàn thành các môn học chung về tin học cơ sở, hiểu biết về hệ điều hành máy tính căn bản và kiến thức toán học phổ thông (đại số, phương trình, số học). Không yêu cầu phải có kiến thức lập trình trước đó.

3. Giáo trình này sử dụng môi trường và trình biên dịch nào?

Giáo trình sử dụng môi trường lập trình Turbo C và Borland C trên nền hệ điều hành DOS/Windows, với tệp thực thi chính là BC.EXE. Môi trường này cho phép thao tác trực tiếp với các phím tắt quản trị hệ thống và kiểm soát bộ nhớ.

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

Người học nên kết hợp đọc lý thuyết cú pháp và gõ trực tiếp các đoạn code ví dụ mẫu trong giáo trình vào trình biên dịch, sau đó sử dụng tổ hợp phím Ctrl - F9 để dịch/chạy chương trình và Alt - F5 để quan sát kết quả; chủ động tra cứu lỗi cú pháp qua hệ thống trợ giúp Ctrl - F1.

5. Giáo trình có kèm theo hệ thống bài tập thực hành không?

Có. Giáo trình tích hợp hệ thống bài tập chọn lọc sau các chương lý thuyết, bao gồm các bài toán từ cơ bản (đổi ký tự ASCII, giải phương trình bậc nhất, bậc hai) đến nâng cao (kiểm tra số nguyên tố, số chính phương, thuật toán sắp xếp, hàm đệ quy và thao tác con trỏ), kèm theo hướng dẫn giải mã nguồn mẫu chi tiết.


Kết luận

Giáo trình môn học Ngôn ngữ lập trình (Mã mô đun: MH13) của Trường Cao đẳng Cộng đồng Đồng Tháp là tài liệu đào tạo nghề nghiệp mang tính chuẩn hóa về lập trình C căn bản. Nội dung tài liệu cung cấp đầy đủ hệ thống lý thuyết về kiểu dữ liệu, các cấu trúc điều khiển, kỹ thuật chương trình con và quản trị bộ nhớ qua con trỏ, gắn liền với môi trường thực hành Borland C. Lộ trình đào tạo 90 giờ được thiết kế phân bổ rõ ràng, bảo đảm trang bị nền tảng tư duy thuật toán và kỹ năng lập trình cấu trúc vững chắc cho người học trong lĩnh vực kỹ thuật phần cứng và công nghệ thông tin.