TÀI LIỆU GIẢNG DẠY MÔN HỌC/MÔ ĐUN: LẬP TRÌNH WINDOWS CƠ BẢN (MÃ MÔN: MĐ2012102)
Tổng quan về giáo trình
Tài liệu giảng dạy môn học/mô đun Lập trình Windows cơ bản (Mã mô đun: MĐ2012102) được biên soạn năm 2024 bởi giảng viên Nguyễn Gia Quang Đăng, phục vụ chương trình đào tạo ngành Tin học ứng dụng tại Trường Cao đẳng Kinh tế Kỹ thuật Thành phố Hồ Chí Minh. Môn học giữ vị trí cốt lõi trong khối kiến thức chuyên ngành, cung cấp nền tảng phát triển ứng dụng phần mềm trên nền tảng hệ điều hành Microsoft Windows thông qua ngôn ngữ C# và .NET Framework.
Mục tiêu đào tạo của giáo trình hướng đến việc trang bị cho người học khả năng:
- Trình bày cấu trúc tổng thể và nguyên lý vận hành của chương trình viết bằng C#.
- Vận dụng thành thạo hệ thống kiểu dữ liệu, các toán tử, cấu trúc điều khiển và kỹ thuật lập trình hướng đối tượng cơ bản.
- Xây dựng, thiết kế giao diện và xử lý sự kiện trong ứng dụng Windows Forms.
- Thao tác, xử lý dữ liệu văn bản thông qua các lớp xử lý chuỗi và biểu thức chính quy (Regex).
Giáo trình được cấu trúc thành 5 bài học tuần tự từ lý thuyết nền tảng đến kỹ thuật triển khai ứng dụng thực tế. Điểm đặc thù của tài liệu là phương pháp tiếp cận kỹ thuật tường minh, kết hợp chặt chẽ giữa bảng tra cứu tham số, đoạn mã nguồn (syntax code) và hình ảnh kết quả thực thi trên giao diện dòng lệnh (Console) cũng như giao diện đồ họa.
Nội dung kiến thức cốt lõi
Các chương và chủ đề chính
Nội dung giảng dạy được tổ chức thành 5 bài học chính theo tiến trình sư phạm logic:
- Bài 1: Giới thiệu ngôn ngữ C#: Tổng quan về ngôn ngữ C#, các đặc tính hướng đối tượng, hướng thành phần; kiến trúc và lịch sử các phiên bản .NET Framework (từ .NET 1.0 đến .NET 4.8); cấu trúc tổng quát của một Console Application; các thành phần chính trong môi trường phát triển tích hợp Visual Studio (Solution Explorer, Code Editor, Properties Window, Debug, hệ thống tài liệu MSDN).
- Bài 2: Các thành phần cơ bản trong ngôn ngữ C#: Khái niệm định danh, hệ thống từ khóa (Reserved Keywords và Contextual Keywords); các phương thức nhập/xuất chuẩn (
Console.Write, Console.WriteLine, Console.Read, Console.ReadLine, Console.ReadKey); hệ thống kiểu dữ liệu chung (Common Type System - CTS); phân loại kiểu giá trị (Value Types: kiểu số, struct, enum) và kiểu tham chiếu (Reference Types: class, string, object); các phương pháp chuyển đổi kiểu dữ liệu (ngầm định, tường minh, cơ chế Boxing/Unboxing, toán tử as, lớp Convert, phương thức Parse/TryParse); hệ thống toán tử (số học, gán, tăng/giảm, so sánh, logic); các cấu trúc điều khiển rẽ nhánh (if, if...else, switch...case) và các cấu trúc vòng lặp (while, for, do...while, foreach).
- Bài 3: Chương trình con trong C#: Cấu trúc khai báo và định nghĩa hàm; phạm vi hoạt động của biến và hàm (Scope); nguyên tắc truyền tham số và cơ chế thực thi; quy trình tổ chức và tái sử dụng mã nguồn qua chương trình con.
- Bài 4: Windows Forms: Giới thiệu nền tảng ứng dụng Windows Forms; quy trình tạo mới giao diện ứng dụng desktop; cách thức quản lý và cấu hình các điều khiển giao diện cơ bản (Controls); lập trình và điều khiển các hộp thoại (Dialog Boxes).
- Bài 5: Thao tác với chuỗi: Xử lý chuỗi ký tự bất biến thông qua lớp
String; kỹ thuật tối ưu hóa bộ nhớ và hiệu năng xử lý chuỗi động bằng lớp StringBuilder; ứng dụng biểu thức chính quy (Regular Expressions) qua lớp Regex để kiểm tra và định dạng dữ liệu chuỗi.
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 dựa trên các nguyên lý kỹ thuật cốt lõi:
- Nguyên lý lập trình hướng đối tượng (OOP): Khái quát 4 trụ cột cơ bản gồm trừu tượng (abstraction), đóng gói (encapsulation), đa hình (polymorphism) và kế thừa (inheritance). C# hỗ trợ đơn kế thừa lớp (single class inheritance) kết hợp đa cài đặt giao diện (multiple interface implementation).
- Mô hình bộ nhớ và môi trường thực thi CLR (Common Language Runtime):
- Stack: Lưu trữ trực tiếp dữ liệu của các kiểu giá trị (
Value Types), dữ liệu cục bộ trong hàm với tốc độ cấp phát và giải phóng nhanh.
- Heap: Lưu trữ các đối tượng thuộc kiểu tham chiếu (
Reference Types), được quản lý tự động bởi tiến trình thu gom rác bộ nhớ (Garbage Collection - GC).
- Boxing và Unboxing: Cơ chế chuyển đổi qua lại giữa kiểu giá trị và kiểu tham chiếu
System.Object.
- Cấu trúc chương trình chuẩn: Định nghĩa không gian tên (
namespace), lớp (class), và điểm thực thi khởi đầu duy nhất bắt buộc của chương trình – phương thức static void Main(string[] args).
Kỹ năng phát triển
Thông qua nội dung giảng dạy, người học hình thành các năng lực kỹ thuật:
- Khai báo và cấu hình đúng cú pháp các thành phần chương trình C#, tuân thủ phân biệt chữ hoa - chữ thường (case-sensitive) và kết thúc câu lệnh bằng dấu chấm phẩy (
;).
- Xử lý các luồng nhập/xuất console, chuyển đổi dữ liệu an toàn bằng phương thức
int.TryParse() kết hợp điều kiện dừng xử lý.
- Tổ chức thuật toán điều khiển luồng, lựa chọn linh hoạt cấu trúc rẽ nhánh hoặc vòng lặp tương thích với bài toán.
- Thiết kế giao diện ứng dụng đồ họa Windows Forms, liên kết sự kiện người dùng với các phương thức xử lý logic tương ứng.
Phương pháp giảng dạy và học tập
Giáo trình áp dụng phương pháp sư phạm tiếp cận theo vấn đề kết hợp thực hành thực chứng (Code-First & Demonstration):
- Cấu trúc bài giảng chuẩn hóa: Mỗi bài học đều mở đầu bằng phần Mục tiêu cụ thể (trình bày, phát biểu, vận dụng), tiếp nối bằng Nội dung chính chi tiết và kết thúc bằng Bài tập áp dụng.
- Hệ thống ví dụ mẫu chi tiết: Các khái niệm lý thuyết trừu tượng đều được gắn liền với đoạn mã nguồn hoàn chỉnh. Ví dụ:
- Mô hình hóa đối tượng thông qua lớp
Rectangle gồm hai thuộc tính length, width và các phương thức Acceptdetails(), GetArea(), GetCircuit(), Display().
- Minh họa định dạng xuất chuỗi có tham số dạng chỉ mục:
Console.WriteLine("a = {0}", a).
- Minh họa thuật toán giải phương trình bậc nhất $Ax + B = 0$ có kiểm tra định dạng dữ liệu đầu vào.
- Công cụ và phương thức đánh giá:
- Đánh giá kiến thức lý thuyết qua hệ thống câu hỏi trắc nghiệm và tự luận (khái niệm .NET, công nghệ cốt lõi, vai trò của
static void Main).
- Đánh giá kỹ năng lập trình qua bài tập củng cố: viết chương trình xuất thông tin cá nhân (Tên, Tuổi, Địa chỉ), chương trình kiểm tra số âm/dương bằng toán tử 3 ngôi
(sn < 0) ? "So Am" : "So Duong".
- Hướng dẫn tự học và tra cứu: Tài liệu nhấn mạnh yêu cầu người học chủ động sử dụng phím
F1 để mở và tra cứu tài liệu kỹ thuật MSDN (Microsoft Developer Network) tích hợp sẵn trong môi trường Visual Studio.
Điểm nổi bật và cập nhật
Giáo trình tổng hợp và hệ thống hóa lịch sử phát triển của nền tảng .NET Framework qua từng phiên bản, thể hiện tiến trình hoàn thiện công nghệ từ Microsoft:
| Phiên bản .NET |
Ngày phát hành |
Visual Studio đi kèm |
Hệ điều hành / Tính năng tiêu biểu |
| .NET 1.0 |
2002 |
Visual Studio .NET |
Windows 98, NT 4.0; Phiên bản khởi đầu |
| .NET 1.1 |
04/2003 |
Visual Studio .NET 2003 |
Hỗ trợ ASP.NET Mobile, ODBC, Oracle, IPv6 |
| .NET 2.0 |
07/11/2005 |
Visual Studio 2005 |
Hỗ trợ nền tảng 64-bit, Generic types |
| .NET 3.0 |
06/11/2006 |
Visual Studio 2005 (WinFX) |
Bổ sung WPF (XAML), WCF, WF, Windows CardSpace |
| .NET 3.5 |
19/11/2007 |
Visual Studio 2008 |
Bổ sung LINQ, Lambda expression, Extension methods |
| .NET 4.0 |
12/04/2010 |
Visual Studio 2010 |
Dynamic Language Runtime (DLR), MEF, Memory-mapped files |
| .NET 4.5 |
15/08/2012 |
Visual Studio 2012 |
Tách gói cài đặt Full và Client Profile |
| .NET 4.6 |
20/07/2015 |
Visual Studio 2015 |
Bắt đầu mã nguồn mở .NET Core CLR, hỗ trợ đa bảng mã UTF |
| .NET 4.8 |
18/04/2019 |
Visual Studio 2019 |
Bản cuối của .NET Framework; cải tiến JIT, High DPI cho WPF |
Tài liệu cũng phân loại rõ ràng các mô hình kiến trúc ứng dụng được hỗ trợ trên nền tảng .NET:
- Console Application: Xây dựng ứng dụng dòng lệnh, phục vụ tính toán và xử lý hệ thống.
- Windows Forms & Windows Presentation Foundation (WPF): Công nghệ phát triển ứng dụng giao diện đồ họa người dùng (Desktop GUI).
- ASP.NET: Phát triển ứng dụng web trên nền máy chủ IIS (Web Forms, MVC, Web API).
- ADO.NET & Entity Framework: Cơ chế kết nối và quản lý cơ sở dữ liệu quan hệ (SQL Server, MySQL).
- Windows Communication Foundation (WCF): Xây dựng hệ thống mạng theo kiến trúc hướng dịch vụ (SOA).
Đối tượng sử dụng giáo trình
- Học sinh, sinh viên:
- Học sinh, sinh viên chuyên ngành Tin học ứng dụng, Công nghệ thông tin trình độ Trung cấp và Cao đẳng cần hoàn thành mô đun Lập trình Windows cơ bản.
- Kiến thức tiên quyết (Prerequisites): Đã học qua kiến thức Tin học đại cương và Nhập môn lập trình/Thuật toán.
- Giảng viên và cán bộ đào tạo:
- Làm tài liệu giảng dạy chính thức, khung phân phối tiết học lý thuyết và thực hành tại phòng máy.
- Căn cứ xây dựng ngân hàng đề thi, bài tập trắc nghiệm và thực hành kết thúc môn học.
- Người tự học và kỹ thuật viên:
- Dùng làm tài liệu tham khảo để chuẩn hóa kiến thức cú pháp C#, hệ thống kiểu CTS và phương pháp thiết kế giao diện Windows Forms.
Câu hỏi thường gặp
1. Giáo trình này phù hợp với đối tượng nào?
Giáo trình được biên soạn phục vụ học sinh, sinh viên ngành Tin học ứng dụng (trình độ Trung cấp, Cao đẳng) và những người bắt đầu học lập trình C# trên nền tảng hệ điều hành Windows.
2. Cần chuẩn bị những công cụ gì để thực hành theo giáo trình?
Người học cần cài đặt môi trường phát triển tích hợp Microsoft Visual Studio (phiên bản 2010, 2015, 2017 hoặc 2019) có tích hợp .NET Framework tương ứng để khởi tạo các dự án Console App (.NET Framework) và Windows Forms App.
3. Giáo trình phân định các kiểu dữ liệu trong C# như thế nào?
Giáo trình phân chia kiểu dữ liệu theo hệ thống Common Type System (CTS) thành hai nhóm chính: Kiểu giá trị (Value Types - lưu trên vùng nhớ Stack gồm kiểu số, struct, enum) và Kiểu tham chiếu (Reference Types - lưu trên vùng nhớ Heap gồm class, string, object).
4. Điểm khác biệt giữa hai lệnh xuất dữ liệu Console.Write() và Console.WriteLine() là gì?
Console.Write() in giá trị ra màn hình và giữ nguyên vị trí con trỏ văn bản tại cuối dòng in; trong khi Console.WriteLine() in giá trị ra màn hình và tự động chuyển con trỏ xuống dòng kế tiếp.
5. Có những phương pháp nào để chuyển đổi kiểu dữ liệu trong C# theo giáo trình?
Giáo trình giới thiệu 5 cơ chế chuyển đổi kiểu:
- Chuyển đổi ngầm định (Implicit conversion).
- Chuyển đổi tường minh (Casting operator).
- Cơ chế Boxing và Unboxing.
- Sử dụng toán tử
as (trả về null nếu không tương thích kiểu).
- Sử dụng các phương thức tĩnh của lớp
System.Convert hoặc phương thức Parse() / TryParse().
Kết luận
Tài liệu giảng dạy môn học Lập trình Windows cơ bản (Mã môn: MĐ2012102) do giảng viên Nguyễn Gia Quang Đăng biên soạn cung cấp một cấu trúc học tập chặt chẽ về ngôn ngữ C# và nền tảng .NET Framework. Tài liệu dẫn dắt người học từ việc nắm bắt các thành phần cú pháp cơ bản, hệ thống quản lý bộ nhớ, cấu trúc rẽ nhánh và vòng lặp, đến việc tổ chức chương trình con và phát triển ứng dụng giao diện đồ họa Windows Forms kết hợp kỹ thuật xử lý chuỗi nâng cao. Đây là tài liệu quy chuẩn phục vụ học tập, giảng dạy và tham khảo kỹ thuật trong chương trình đào tạo Tin học ứng dụng.