THÔNG TIN MÔ TẢ HỌC THUẬT: GIÁO TRÌNH LẬP TRÌNH CĂN BẢN (MH 11)


Tổng quan về giáo trình (250-300 từ)

Giáo trình môn học Lập trình căn bản (Mã môn học: MH 11) do Trường Cao đẳng Cộng đồng Đồng Tháp biên soạn và ban hành theo Quyết định của Hiệu trưởng vào năm 2017. Giáo trình được thiết kế cho chương trình đào tạo trình độ Trung cấp thuộc ngành Truyền thông và Mạng máy tính. Trong cấu trúc chương trình đào tạo, đây là môn học cơ sở ngành bắt buộc, được bố trí giảng dạy trước môn Cấu trúc dữ liệu nhằm thiết lập nền tảng kỹ thuật lập trình cho người học.

Tổng thời lượng thực hiện môn học là 75 giờ, được phân bổ gồm: 12 giờ lý thuyết; 59 giờ dành cho thực hành, thí nghiệm, thảo luận, bài tập; và 4 giờ dành cho công tác kiểm tra. Mục tiêu đào tạo của giáo trình hướng đến ba chuẩn đầu ra chính:

  • Kiến thức: Người học nắm được cú pháp, công dụng của các câu lệnh trong ngôn ngữ C; hiểu các bước lập trình; có khả năng phân tích yêu cầu bài toán và thiết kế giải thuật giải quyết bài toán.
  • Kỹ năng: Vận dụng được môi trường biên dịch (cụ thể là Borland C), thực hiện thành thạo các thao tác biên tập, sử dụng thực đơn trợ giúp, bẫy lỗi, gỡ rối (debug) và thực thi chương trình trên máy tính.
  • Năng lực tự chủ và trách nhiệm: Thể hiện thái độ học tập nghiêm túc và có khả năng giải quyết độc lập các bài toán kỹ thuật theo từng chương học.

Cấu trúc giáo trình bao gồm 7 chương lý thuyết và thực hành, kèm hệ thống đề thi mẫu, danh mục các hàm chuẩn và phụ lục hướng dẫn viết chương trình, chẩn đoán và sửa lỗi. Điểm đặc thù của tài liệu là phân chia tỷ trọng thực hành chiếm phần lớn thời lượng (59/75 giờ, xấp xỉ 78,6%), tập trung giải quyết khó khăn của người học trong việc chuyển đổi kiến thức lý thuyết sang cài đặt thực tế trên máy tính.


Nội dung kiến thức cốt lõi (500-600 từ)

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

Giáo trình được phân bổ theo tiến trình logic từ các khái niệm cú pháp cơ bản đến các cấu trúc dữ liệu nâng cao và thao tác tệp:

  • Chương 1: Các khái niệm cơ bản (Tổng quan): Trình bày lịch sử phát triển của ngôn ngữ C (từ BCPL năm 1967 của Martin Richards, ngôn ngữ B năm 1970 của Ken Thompson, đến ngôn ngữ C do Dennis Ritchie phát triển tại Bell Labs và chuẩn ANSI C). Giới thiệu đặc điểm của C (32 từ khóa chuẩn, 40 toán tử, tính cô đọng, tương thích, linh động), cấu trúc một chương trình C (tiền xử lý #include, #define, typedef, khai báo biến ngoài, prototype, hàm main(), hàm tự tạo) và các thư viện chuẩn như stdio.h, conio.h, math.h, alloc.h, io.h, graphics.h.
  • Chương 2: Kiểu dữ liệu và phép toán: Cung cấp tập ký tự hợp lệ, quy tắc đặt tên, từ khóa, cú pháp chú thích (/* */ và //), biến và hằng (const, #define). Trình bày các kiểu dữ liệu cơ bản: char (1 byte, miền -128 đến 127), int (2 byte, miền -32768 đến 32767), float (4 byte), double (8 byte), enum, cùng các bổ từ unsigned, signed, short, long. Đi kèm bảng mã quy cách định dạng printf/scanf (%d, %c, %f, %s, %u, %ld, %x, %o) và hệ thống toán tử: số học (+, -, *, /, %), quan hệ (==, !=, >, <, >=, <=), logic (&&, ||, !), thao tác bit (&, |, ^, ~, <<, >>), tăng giảm (++, --), toán tử điều kiện (?:) và bảng phân cấp độ ưu tiên toán tử.
  • Chương 3: Cấu trúc điều khiển: Phân loại lệnh đơn và lệnh phức (khối lệnh { }). Trình bày chi tiết cú pháp, lưu đồ thuật toán và cơ chế thực thi của câu lệnh rẽ nhánh if, if-else, switch-case (kèm break, default) và các vòng lặp for, while, do...while.
  • Chương 4: Hàm: Khái niệm phân chia chương trình thành module, cú pháp định nghĩa hàm, cơ chế truyền tham số hình thức và đối số thực tế, phạm vi biến cục bộ/toàn cục, nguyên mẫu hàm (prototype) và lệnh return.
  • Chương 5: Mảng và con trỏ: Khái niệm, khai báo, khởi tạo, truy xuất mảng 1 chiều và 2 chiều; biến con trỏ, toán tử địa chỉ &, toán tử nội dung *, phép toán trên pointer, cấp phát/giải phóng vùng nhớ (malloc, calloc, free), mối liên hệ giữa mảng và con trỏ, mảng con trỏ và chuỗi ký tự.
  • Chương 6: Kiểu dữ liệu cấu trúc: Cú pháp định nghĩa struct, cấu trúc lồng nhau, khởi tạo, toán tử truy xuất thành phần ., con trỏ trỏ đến struct (->) và cấu trúc đệ quy.
  • Chương 7: File dữ liệu: Khái niệm tệp tin, tổ chức lưu trữ, định nghĩa con trỏ FILE *, các hàm mở/đóng tệp (fopen, fclose) và các thao tác đọc/ghi dữ liệu trên tệp.

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

Giáo trình hình thành nền tảng về lập trình có cấu trúc (Structured Programming) và kỹ thuật quản lý tài nguyên hệ thống ở mức thấp. Người học được trang bị hiểu biết về:

  • Cấu trúc bộ nhớ máy tính, ánh xạ kiểu dữ liệu và bảng mã ASCII (bao gồm các ký tự điều khiển như \a, \b, \t, \n, \r, \0).
  • Cơ chế tiền xử lý chỉ thị và biên dịch chương trình từ mã nguồn (.c) qua mã đối tượng (.obj) đến tệp thực thi (.exe).
  • Luồng điều khiển tuần tự, rẽ nhánh, lặp và phân rã chức năng bằng hàm.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Soạn thảo mã nguồn trên Borland C; khai báo đúng kiểu dữ liệu; sử dụng hàm xuất nhập chuẩn; viết các hàm xử lý dữ liệu và thao tác trực tiếp trên vùng nhớ thông qua con trỏ.
  • Kỹ năng phân tích (Analytical skills): Phân tích bài toán kỹ thuật; xây dựng thuật toán dạng lưu đồ; xác định điều kiện dừng cho các cấu trúc lặp và cấu trúc rẽ nhánh; phân tích lỗi biên dịch và lỗi logic.
  • Năng lực thực tiễn (Practical competencies): Độc lập cài đặt các chương trình giải quyết bài toán nghiệp vụ cụ thể (tính tiền điện, đổi đơn vị đo lường, tính tiền phòng khách sạn, giải phương trình) và xử lý dữ liệu cấu trúc lưu trữ dạng file.

Phương pháp giảng dạy và học tập (300-350 từ)

Giáo trình sử dụng phương pháp sư phạm định hướng thực hành (Practice-oriented approach), trong đó mỗi nội dung kiến thức đều được tổ chức thống nhất theo cấu trúc ba phần:

  1. Phần lý thuyết: Tóm tắt ngắn gọn các nguyên lý cú pháp kèm lưu đồ thuật toán và ví dụ code mẫu hoàn chỉnh.
  2. Phần bài tập: Hệ thống bài tập áp dụng trực tiếp để củng cố kỹ năng lập trình trên máy tính.
  3. Phần kết luận: Tóm lược nội dung cốt lõi, các thao tác bắt buộc phải nắm và những lưu ý kỹ thuật nhằm tránh sai sót khi viết mã.

Hệ thống bài tập trong giáo trình được phân thành hai cấp độ rõ ràng:

  • Cấp độ cơ bản: Yêu cầu người học thực hiện các thao tác nhập xuất, tính toán số học đơn giản (+, -, *, /, %), đổi nhiệt độ F sang C, kiểm tra số âm/dương, chẵn/lẻ, tìm số lớn nhất giữa 2 số.
  • Cấp độ nâng cao (có đánh dấu ký hiệu *): Rèn luyện tư duy thuật toán thông qua các bài toán như giải phương trình bậc nhất ($ax + b = 0$), tính tiền cước karaoke, tính tiền điện bậc thang theo từng khung định mức ($1-100\text{KW}$, $101-150\text{KW}$, $151-200\text{KW}$, $201-300\text{KW}$, trên $300\text{KW}$), tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN), in bảng cửu chương ngang/dọc, vẽ hình học kích thước $d \times r$.

Phương pháp đánh giá kết quả học tập kết hợp giữa quá trình thực hành trên lớp (59 giờ) và các bài kiểm tra định kỳ (4 giờ), căn cứ trên khả năng biên dịch chương trình chạy đúng và xử lý được các trường hợp ngoại lệ. Về phương diện tự học, giáo trình cung cấp hướng dẫn từng bước: sinh viên đối chiếu mã nguồn với các ví dụ mẫu, chủ động tra cứu bảng thông báo lỗi trong phụ lục để chẩn đoán nguyên nhân lỗi biên dịch, từ đó tự hiệu chỉnh mã nguồn mà không phụ thuộc hoàn toàn vào giảng viên.


Điểm nổi bật và cập nhật (250-300 từ)

Giáo trình môn học Lập trình căn bản ban hành năm 2017 được chuẩn hóa dựa trên chương trình khung của Trường Cao đẳng Cộng đồng Đồng Tháp, tích hợp các nội dung mang tính hệ thống phục vụ ngành Truyền thông và Mạng máy tính:

  • Chuẩn hóa cú pháp ANSI C: Tài liệu trình bày hệ thống từ khóa và toán tử theo tiêu chuẩn ANSI C, giúp sinh viên hiểu rõ tính tương thích của mã nguồn khi chuyển đổi giữa các nền tảng máy tính và môi trường biên dịch khác nhau.
  • Tập trung vào tính ứng dụng hệ thống: Giáo trình nêu rõ đặc trưng của ngôn ngữ C trong việc truy cập trực tiếp vào bộ nhớ máy tính, gọi các ngắt DOS/BIOS và lập trình điều khiển linh kiện điện tử. Đây là các kiến thức bổ trợ trực tiếp cho sinh viên theo học khối ngành mạng và phần cứng.
  • Tích hợp phụ lục chẩn đoán lỗi chuyên biệt: Giáo trình dành riêng một phụ lục hướng dẫn viết chương trình, phân tích và sửa các lỗi thường gặp của người mới bắt đầu (như lỗi trôi lệnh nhập chuỗi, lỗi sai quy cách định dạng trong scanf, lỗi thiếu câu lệnh break trong switch-case, hoặc lỗi tràn miền giá trị biến).
  • Gắn kết bài toán thực tế: Hệ thống bài tập không chỉ dừng lại ở các bài toán toán học thuần túy mà được mô phỏng theo các bài toán tính cước dịch vụ thực tế (tính tiền thuê phòng khách sạn theo đơn giá tuần và ngày, tính tiền điện sinh hoạt theo bậc thang), giúp sinh viên làm quen với việc mô hình hóa yêu cầu thực tế thành thuật toán.

Đối tượng sử dụng giáo trình (200-250 từ)

Giáo trình được biên soạn phục vụ các nhóm đối tượng cụ thể trong hệ thống giáo dục nghề nghiệp:

  • Sinh viên: Học sinh - sinh viên theo học trình độ Trung cấp (và hệ Cao đẳng liên thông) chuyên ngành Truyền thông và Mạng máy tính. Giáo trình đóng vai trò là tài liệu học tập chính thức cho mô đun cơ sở MH 11.
  • Điều kiện tiên quyết (Prerequisites): Do là môn học khởi đầu cho khối kiến thức lập trình, môn học không yêu cầu người học phải có kiến thức lập trình trước đó. Người học chỉ cần trang bị các kỹ năng sử dụng máy tính căn bản và kiến thức toán học phổ thông.
  • Giảng viên chuyên ngành: Sử dụng giáo trình làm tài liệu chuẩn để soạn đề cương bài giảng, phân bổ thời lượng 75 giờ giảng dạy trên lớp và phòng máy, cũng như sử dụng hệ thống câu hỏi, bài tập cuối chương và các đề thi mẫu để xây dựng ngân hàng đề kiểm tra.
  • Người tự học và nghiên cứu: Người mới bắt đầu học lập trình C có thể sử dụng giáo trình như một tài liệu tham khảo có tính hệ thống để nắm vững cơ chế hoạt động của con trỏ, mảng và kỹ thuật quản lý bộ nhớ trong C.

Câu hỏi thường gặp (250-300 từ)

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

Giáo trình được thiết kế cho học sinh, sinh viên trình độ Trung cấp và Cao đẳng ngành Truyền thông và Mạng máy tính, cùng những người bắt đầu học lập trình cấu trúc với ngôn ngữ C.

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

Môn học thuộc nhóm cơ sở ngành ban đầu (MH 11), không yêu cầu kiến thức lập trình từ trước. Người học chỉ cần kỹ năng tin học văn phòng căn bản để thao tác cài đặt và vận hành phần mềm biên dịch.

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

Giáo trình có thời lượng thực hành chiếm ưu thế tuyệt đối (59/75 giờ), bài tập được phân loại rõ ràng thành mức cơ bản và nâng cao (có dấu *), kèm theo phụ lục chẩn đoán lỗi cú pháp thực tế và hệ thống đề thi mẫu.

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

Người học nên đọc phần tóm tắt lý thuyết, gõ và biên dịch lại toàn bộ các đoạn mã ví dụ trong từng chương trên Borland C, sau đó hoàn thành các bài tập theo thứ tự từ cơ bản đến bài tập nâng cao có đánh dấu *, kết hợp tra cứu phụ lục để tự sửa lỗi.

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

Giáo trình tích hợp sẵn danh mục các hàm chuẩn C thường dùng (trang 115), hệ thống các đề thi mẫu, danh mục tài liệu tham khảo (trang 127) và phụ lục hướng dẫn sửa lỗi biên dịch.


Kết luận (150 từ)

Giáo trình Lập trình căn bản (MH 11) của Trường Cao đẳng Cộng đồng Đồng Tháp là tài liệu đào tạo có cấu trúc chặt chẽ, cung cấp toàn diện các kiến thức nền tảng về ngôn ngữ C từ cú pháp, câu lệnh điều khiển, hàm, mảng, con trỏ đến cấu trúc và tệp dữ liệu.

Theo lộ trình đào tạo, việc hoàn thành môn học này là điều kiện bắt buộc để người học tích lũy đủ kỹ năng giải thuật và kỹ thuật lập trình trước khi bước vào môn học kế tiếp là Cấu trúc dữ liệu. Để đạt hiệu quả cao, người học cần kết hợp nghiên cứu lý thuyết trong tài liệu với việc thực hành liên tục trên máy tính, đồng thời tham khảo danh mục các hàm chuẩn và bảng mã ký tự ASCII được cung cấp trong phần phụ lục của giáo trình.