Giáo trình Học phần: Lập trình ứng dụng (Ngành Công nghệ Thông tin - Trình độ Cao đẳng)

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

Giáo trình Lập trình ứng dụng do Khoa Công nghệ Thông tin – Trường Cao đẳng Công nghệ Thủ Đức biên soạn (ban hành năm 2019 theo Quyết định của trường) là tài liệu học tập chính quy dành cho sinh viên ngành Công nghệ thông tin ở trình độ Cao đẳng. Học phần giữ vị trí trọng tâm trong khối kiến thức chuyên ngành, đóng vai trò bản lề giúp người học chuyển tiếp từ kỹ thuật lập trình cơ bản sang phát triển phần mềm ứng dụng hoàn chỉnh trên nền tảng hệ điều hành Windows.

Mục tiêu học tập của giáo trình được thiết kế nhằm trang bị cho người học hệ thống kiến thức nền tảng về ngôn ngữ C# và môi trường .NET Framework, rèn luyện tư duy lập trình cấu trúc kết hợp lập trình hướng đối tượng, đồng thời hình thành các kỹ thuật cần thiết để xây dựng phần mềm quản lý. Sinh viên hoàn thành học phần có khả năng vận dụng cú pháp C#, thao tác với cấu trúc dữ liệu, thiết kế giao diện đồ họa, truy xuất cơ sở dữ liệu và triển khai kiến trúc phần mềm chuẩn mực, đáp ứng chuẩn đầu ra về năng lực kỹ thuật (L.1) và thói quen tuân thủ quy chuẩn viết mã nguồn chuyên nghiệp (L.4).

Cấu trúc giáo trình gồm 6 chương tuần tự:

  • Chương 1: Tổng quan về lập trình ứng dụng
  • Chương 2: Nền tảng C# cơ bản
  • Chương 3: Lập trình hướng đối tượng trong C#
  • Chương 4: Lập trình ứng dụng Windows Forms
  • Chương 5: Sử dụng ADO.NET
  • Chương 6: Mô hình 3 lớp

Giáo trình tiếp cận theo mô hình tích hợp giữa lý thuyết kiến trúc hệ thống và thực hành cài đặt code trực tiếp, phân tích chi tiết cơ chế thực thi của runtime song song với việc cung cấp hệ thống mã nguồn mẫu rõ ràng.


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

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

Nội dung giáo trình được triển khai theo tiến trình logic từ kiến trúc môi trường, cú pháp cốt lõi, tư duy đối tượng cho đến lập trình giao diện và xử lý dữ liệu nhiều tầng:

  • Chương 1: Tổng quan về lập trình ứng dụng: Giới thiệu bối cảnh phát triển ngôn ngữ C# và bộ khung .NET Framework (công bố lần đầu tháng 7/2000 tại Orlando); phân tích kiến trúc Common Language Runtime (CLR), hệ thống kiểu chung Common Type System (CTS), thư viện lớp cơ sở (Framework Class Library), quy trình biên dịch hai giai đoạn qua mã trung gian Microsoft Intermediate Language (MSIL) và trình biên dịch Just-In-Time (JIT); chuẩn hóa 4 bước giải quyết bài toán lập trình ứng dụng (xác định mục tiêu, chọn phương pháp, cài đặt chương trình, thực thi kiểm thử).
  • Chương 2: Nền tảng C# cơ bản: Hệ thống hóa các kiểu dữ liệu giá trị (int, long, float, double, decimal, bool, char) và kiểu tham chiếu (string, object); cú pháp khai báo biến, hằng số (const), chuyển đổi kiểu dữ liệu qua System.Parse; hệ thống toán tử số học, quan hệ, logic; cấu trúc điều khiển rẽ nhánh (if-else, switch-case) và lặp (for, foreach, while, do-while, break, continue); mảng một chiều cùng các phương thức thao tác (Length, Sort, Clear, Reverse); cấu trúc tập hợp trong thư viện System.Collections (Array, ArrayList, SortedList, Stack, Queue, Dictionary); phương thức xử lý chuỗi của lớp String; kỹ thuật bẫy lỗi và xử lý ngoại lệ với try-catch-finally-throw và hệ thống lớp dẫn xuất từ System.Exception; kỹ thuật đọc/ghi tập tin văn bản qua thư viện System.IO (File, FileStream, StreamReader, StreamWriter).
  • Chương 3: Lập trình hướng đối tượng trong C#: Trình bày các khái niệm lớp (Class), đối tượng (Object), các đặc trưng cơ bản của OOP (đóng gói, kế thừa, đa hình); hướng dẫn định nghĩa, khai báo thuộc tính, phương thức và xây dựng lớp đối tượng hoàn chỉnh trong C#.
  • Chương 4: Lập trình ứng dụng Windows Forms: Cấu trúc thành phần giao diện, thuộc tính, phương thức và sự kiện của Form; các điều khiển chuẩn (TextBox) và điều khiển đặc biệt (DateTimePicker, MonthCalendar); thiết kế trình đơn (Menu); sử dụng các hộp thoại hệ thống (ColorDialog, FontDialog, OpenFileDialog, SaveFileDialog, MessageBox); kỹ thuật kiểm thử đơn vị (Unit test) và kiểm thử chức năng (Function test).
  • Chương 5: Sử dụng ADO.NET: Kiến trúc truy xuất dữ liệu ADO.NET; phân biệt hai mô hình xử lý dữ liệu kết nối (Connected) và ngắt kết nối (Disconnected); làm việc với các đối tượng thao tác cơ sở dữ liệu (Connection, Command, DataAdapter); kỹ thuật thực thi thủ tục lưu trữ sẵn (Stored Procedure) qua đối tượng Command.
  • Chương 6: Mô hình 3 lớp: Tổng quan kiến trúc phân tầng trong phần mềm; phương pháp phân chia và tổ chức mã nguồn ứng dụng thành 3 tầng độc lập (Tầng trình diễn - Presentation, Tầng xử lý nghiệp vụ - Business Logic, Tầng truy xuất dữ liệu - Data Access).
                      [ BÀI TOÁN ỨNG DỤNG ]
                                |
    +---------------------------+---------------------------+
    |                                                       |
[Chương 1 & 2: Nền tảng]                                [Chương 3: OOP]
- Kiến trúc .NET (CLR, CTS, MSIL, JIT)                  - Khái niệm Lớp, Đối tượng
- Cú pháp C#, Mảng, Collections, String                 - Đặc trưng hướng đối tượng
- Ngoại lệ (Exception) & I/O Tập tin                   - Xây dựng Class trong C#
    |                                                       |
    +---------------------------+---------------------------+
                                |
    +---------------------------+---------------------------+
    |                                                       |
[Chương 4: Windows Forms]                               [Chương 5: ADO.NET]
- Controls, Events, Dialogs                             - Connected & Disconnected
- Unit Test & Function Test                             - Connection, Command, DataAdapter
    |                                                       |
    +---------------------------+---------------------------+
                                |
                    [Chương 6: Mô hình 3 lớp]
                    - Presentation Layer (GUI)
                    - Business Logic Layer (BLL)
                    - Data Access Layer (DAL)

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

  1. Lý thuyết máy ảo và quản lý mã nguồn: Cơ chế quản lý mã nguồn (Managed Code), giải phóng bộ nhớ tự động (Garbage Collection), hệ thống định kiểu an toàn (CTS) và chuyển đổi mã trung gian MSIL thành mã máy cục bộ bằng trình biên dịch JIT.
  2. Nguyên lý hướng đối tượng: Phương pháp mô hình hóa dữ liệu và hành vi thực tế vào cấu trúc lớp, tái sử dụng mã nguồn và kiểm soát phạm vi truy cập.
  3. Kiến trúc phân tầng và truy cập dữ liệu: Mô hình kết nối/ngắt kết nối trong ADO.NET và nguyên lý tách biệt trách nhiệm (Separation of Concerns) trong mô hình 3 lớp.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Cài đặt thuật toán bằng ngôn ngữ C#; thao tác cấu trúc mảng và danh sách động; đọc/ghi dữ liệu tập tin; thiết kế giao diện đồ họa desktop; lập trình tương tác cơ sở dữ liệu quan hệ qua ADO.NET.
  • Kỹ năng phân tích (Analytical skills): Phân tích và lựa chọn cấu trúc dữ liệu phù hợp (ArrayList, Stack, Queue, Dictionary); bắt lỗi và phân loại ngoại lệ hệ thống (IOException, DivideByZeroException, NullReferenceException); phân tách logic xử lý theo mô hình phân tầng.
  • Năng lực thực hành chuyên nghiệp (Practical competencies): Thực hiện kiểm thử đơn vị và kiểm thử chức năng; chuẩn hóa quy trình viết mã nguồn (chuẩn đầu ra L.4); tổ chức và nộp bài tập thực hành qua hệ thống quản trị học tập Moodle.

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

Phương pháp tiếp cận sư phạm (Pedagogical approach)

Giáo trình áp dụng phương pháp diễn dịch kết hợp quy nạp kỹ thuật: xuất phát từ việc phân tích bản chất cơ chế vận hành hệ thống (.NET CLR, bộ nhớ, cấu trúc luồng), tiến tới chuẩn hóa cú pháp ngôn ngữ, minh họa trực quan qua các khối mã nguồn cụ thể, và củng cố bằng bài tập tình huống thực tế. Mỗi chủ đề lý thuyết đều được thiết kế đi kèm với các ví dụ mã lệnh có kết quả thực thi đối soát trực tiếp.

Hệ thống bài tập và thực hành (Practical exercises)

Hệ thống bài tập thực hành được xây dựng theo từng module chuyên biệt gắn với các chuẩn đầu ra cụ thể (như phiếu bài tập thực hành số 1 BT-LTUD-01):

  • Cấu trúc rẽ nhánh: Giải phương trình bậc nhất ($ax + b = 0$), giải phương trình bậc hai, thuật toán tìm giá trị lớn nhất trong 3 số, chương trình xuất câu chào theo khung giờ, thuật toán chuyển đổi năm dương lịch sang năm âm lịch dựa trên phép toán số học tính Can (chia lấy dư cho 10) và Chi (chia lấy dư cho 12).
  • Cấu trúc lặp: Cài đặt thuật toán in dãy số, lọc số chẵn, kiểm tra số nguyên tố bằng cả 3 cấu trúc lặp for, while và do-while.
  • Mảng một chiều: Thao tác tính tổng phân loại số thực âm, số thực dương, tổng số thực so với ngưỡng $X$, tổng số nguyên chẵn/lẻ, tìm phần tử âm lớn nhất và dương nhỏ nhất.
  • Xử lý chuỗi: So sánh chuỗi phân biệt và không phân biệt chữ hoa/thường (Compare), nối chuỗi (Concat), tìm vị trí chuỗi con (IndexOf), chèn chuỗi (Insert).
  • Thao tác tập tin: Đọc/ghi tập tin văn bản sử dụng FileStream, StreamReader, StreamWriter kèm xử lý ngoại lệ I/O.
Nhóm bài tập Yêu cầu kỹ thuật chính Phương thức / Cấu trúc áp dụng
Cấu trúc rẽ nhánh Giải PT bậc 1, bậc 2, tìm Max 3 số, tính Can-Chi if-else, switch-case, toán tử %
Cấu trúc lặp Duyệt dãy số, lọc số chẵn, kiểm tra số nguyên tố for, while, do-while
Mảng một chiều Phân loại và tính tổng số học, tìm Min/Max Mảng, Length, Sort, Clear, Reverse
Xử lý chuỗi So sánh, ghép nối, tìm kiếm, cắt chèn Lớp String (Compare, IndexOf, Insert)
Tập tin & Ngoại lệ Đọc/ghi text, bắt lỗi chia 0, kiểm tra đường dẫn StreamReader, StreamWriter, try-catch

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

  • Phương pháp đánh giá: Đánh giá quá trình thông qua các bài tập thực hành nộp trực tuyến qua hệ thống Moodle môn học, căn cứ trên hai tiêu chí: mức độ đáp ứng thuật toán giải quyết bài toán vừa và nhỏ (L.1) và mức độ chuẩn hóa cấu trúc mã nguồn theo quy định (L.4); kết hợp đánh giá kiểm thử phần mềm qua Unit test và Function test.
  • Hướng dẫn tự học: Người học cần tự biên dịch và thực thi từng ví dụ mẫu trên môi trường Visual Studio IDE; tự tạo các ca kiểm thử biên (như chia cho số 0, nhập sai định dạng đường dẫn tập tin) để quan sát cơ chế bắt lỗi của khối try-catch-finally; thực hiện đầy đủ các bài tập tự luyện từ console đến giao diện Windows Forms.

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

  • Dữ liệu thực tế gắn với nhu cầu nhân lực: Giáo trình tích hợp các số liệu thống kê thực tế về vị thế của ngôn ngữ C# (ngôn ngữ phổ biến thứ 4 sau Java, PHP, Python với khoảng 31% nhà phát triển sử dụng thường xuyên; cộng đồng lớn thứ 3 trên StackOverflow với hơn 1,1 triệu chủ đề; hơn 17.000 việc làm ghi nhận năm 2017 theo thống kê từ VietnamWorks) nhằm xác lập định hướng nghề nghiệp rõ ràng cho sinh viên ngành CNTT.
  • Trình bày toàn diện kiến trúc .NET Framework: Tài liệu phân tích sâu cấu trúc hạ tầng từ tầng CLR, CTS, trình biên dịch JIT đến thư viện FCL, giúp sinh viên hiểu rõ cơ chế biên dịch trung gian MSIL thay vì chỉ học cú pháp bề mặt. Nền tảng này cho phép người học nắm được khả năng tương tác đa ngôn ngữ (chẳng hạn kế thừa một lớp viết bằng VB.NET sang C#).
  • Hệ thống hóa toàn diện các lớp dữ liệu và I/O: Giáo trình cung cấp bảng tra cứu chi tiết kèm mô tả tham số của các lớp Collections (ArrayList, SortedList, Stack, Queue, Dictionary), các phương thức trong lớp String, các lớp ngoại lệ kế thừa từ SystemException, cùng các chế độ mở file (FileMode.Create, FileMode.Append, FileMode.CreateNew) với bảng mã Encoding.Unicode.
  • Tích hợp kỹ thuật kiểm thử và kiến trúc đa tầng: Khác với các tài liệu lập trình căn bản thuần túy, giáo trình đưa trực tiếp nội dung kiểm tra đơn vị (Unit test), kiểm tra chức năng (Function test) ở Chương 4 và phương pháp phát triển phần mềm theo Mô hình 3 lớp ở Chương 6, kết nối chặt chẽ với quy trình phát triển phần mềm thực tế trong doanh nghiệp.

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

  • Sinh viên mục tiêu: Sinh viên năm thứ nhất và năm thứ hai theo học trình độ Cao đẳng khối ngành Công nghệ thông tin tại các trường cao đẳng, đại học kỹ thuật.
  • Yêu cầu điều kiện tiên quyết (Prerequisites): Người học cần có kiến thức cơ bản về tin học đại cương, tư duy giải thuật và đã làm quen với cấu trúc lập trình cơ bản (giáo trình có các điểm đối chiếu cú pháp điều khiển và cấu trúc rẽ nhánh, vòng lặp tương đồng với C++).
  • Đối với giảng viên: Tài liệu cung cấp đề cương chi tiết, hệ thống ví dụ code mẫu và khung bài tập thực hành chuẩn hóa theo mã bài tập (BT-LTUD-01) kèm chuẩn đầu ra (L.1, L.4), phục vụ trực tiếp công tác biên soạn bài giảng lý thuyết, tổ chức giờ thực hành phòng máy và thiết lập tiêu chí chấm điểm trên hệ thống Moodle.
  • Đối với người tự học và nghiên cứu: Phù hợp làm tài liệu tham khảo kỹ thuật cho lập trình viên muốn tiếp cận bài bản nền tảng C# .NET, nắm bắt phương thức truy xuất dữ liệu ADO.NET (thao tác Stored Procedure, DataAdapter) và nguyên lý tổ chức mã nguồn theo mô hình 3 lớp trên nền tảng Windows.

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

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

Tài liệu được biên soạn chính quy cho sinh viên trình độ Cao đẳng ngành Công nghệ thông tin, đồng thời phù hợp với những người bắt đầu học lập trình C# muốn nắm vững nền tảng kiến trúc .NET Framework và phát triển ứng dụng desktop.

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

Người học cần có kiến thức cơ sở về giải thuật và cấu trúc lập trình cơ bản (tương đương kiến thức trong ngôn ngữ C/C++), hiểu biết về logic số học và các khái niệm cơ bản về hệ điều hành, tập tin.

3. Giáo trình này có điểm gì khác biệt so với các tài liệu lập trình C# căn bản khác?

Giáo trình không dừng lại ở mức cú pháp Console mà mở rộng trực tiếp sang phát triển ứng dụng giao diện đồ họa Windows Forms, tích hợp kỹ thuật kiểm thử phần mềm (Unit test/Function test), xử lý cơ sở dữ liệu với ADO.NET và định hướng cấu trúc dự án chuẩn theo Mô hình 3 lớp.

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

Người học nên kết hợp đọc lý thuyết cơ chế với việc gõ và chạy trực tiếp các đoạn mã mẫu trong sách; làm đầy đủ hệ thống bài tập thực hành theo từng chương; thực hiện kiểm thử biên cho các hàm xử lý chuỗi, mảng và thao tác tập tin; chủ động thiết kế lại các bài toán theo mô hình phân tầng ở chương cuối.

5. Có hệ thống tài liệu và công cụ bổ trợ nào đi kèm giáo trình?

Học phần sử dụng môi trường phát triển tích hợp (IDE) Visual Studio, hệ thống quản trị học tập Moodle để tiếp nhận và nộp bài tập thực hành theo mã chuẩn, cùng hệ thống tài liệu thư viện lớp .NET Framework Class Library (FCL).


Kết luận (150 từ)

Giáo trình Lập trình ứng dụng của Khoa Công nghệ Thông tin – Trường Cao đẳng Công nghệ Thủ Đức cung cấp một khung chương trình đào tạo chuẩn xác, mang tính hệ thống cao về ngôn ngữ C# và nền tảng .NET Framework. Tài liệu dẫn dắt người học qua một lộ trình học tập chặt chẽ: bắt đầu từ cơ chế vận hành của máy ảo Common Language Runtime (CLR), củng cố cú pháp lập trình và cấu trúc dữ liệu cốt lõi, tiếp cận nguyên lý hướng đối tượng, phát triển giao diện Windows Forms có tích hợp kiểm thử, và hoàn thiện kỹ năng xây dựng phần mềm quản lý tương tác dữ liệu ADO.NET theo mô hình 3 lớp. Đây là tài liệu học thuật cơ sở, đáp ứng đầy đủ yêu cầu đào tạo chuyên môn và rèn luyện kỹ năng thực hành cho sinh viên ngành Công nghệ thông tin.