Tải bản đầy đủ (.pdf) (113 trang)

Xây dựng website dạy ngôn ngữ lập trình c dành cho ngƣời mới bắt đầu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.53 MB, 113 trang )

ĐẠI HỌC HUẾ
TRƢỜNG ĐẠI HỌC KINH TẾ
KHOA HỆ THỐNG THÔNG TIN KINH TẾ

tế

H

uế



in

h

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Đ
ại

họ

cK

XÂY DỰNG WEBSITE
DẠY NGÔN NGỮ LẬP TRÌNH C#
DÀNH CHO NGƢỜI MỚI BẮT ĐẦU

Sinh viên thực hiện: Trƣơng Thị Hồng Nhung
Lớp: K46 Tin học kinh tế


Niên khóa: 2012 – 2016

Huế, tháng 05 năm 2016

Giảng viên hƣớng dẫn
ThS. Lê Viết Mẫn


LỜI CÁM ƠN
Để thực hiện khóa luận này, em xin gửi lời cảm ơn chân thành
đến Trường Đại học Kinh tế - Đại học Huế, toàn bộ thầy cô giáo,
bạn bè đã giúp đỡ em thực hiện đề tài này một cách thuận lợi nhất.

uế

Trước tiên, em xin cảm ơn Nhà trường đã tạo điều kiện thuận
lợi nhất để em hoàn thành chương trình khóa luận của mình. Đây

H

là cơ hội để em có dịp được học hỏi, tìm hiểu và quan trọng nhất là

tế

so sánh được sự khác biệt giữa lý thuyết được học ở nhà trường và
thực tế. Điều này sẽ giúp cho em rất nhiều trong tương lai, khi em

in

h


ra trường và muốn tìm kiếm nhiều cơ hội để phát huy khả năng.
Em cũng xin gửi lời cảm ơn chân thành đến Thạc sĩ Lê Viết

cK

Mẫn, giảng viên Khoa Hệ thống Thông tin Kinh tế đã tận tình
hướng dẫn, giúp đỡ em rất nhiều từ những bước ban đầu cho đến

họ

khóa luận được hoàn thành tốt nhất có thể. Cuối cùng em xin cảm
ơn đến tất cả các thầy cô giáo trong Khoa Hệ thống Thông tin Kinh

Đ
ại

tế, đến gia đình người thân và tất cả bạn bè đã đóng góp ý kiến và
giúp đỡ cho đề tài của em được hoàn thành tốt đẹp.
Em xin chân thành cảm ơn!

Huế, tháng 05 năm 2016
Sinh viên: Trương Thị Hồng Nhung


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

MỤC LỤC

MỤC LỤC ......................................................................................................................1
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU ..................................................3
DANH MỤC CÁC BẢNG BIỂU ..................................................................................3
DANH MỤC CÁC HÌNH VẼ .......................................................................................4
MỞ ĐẦU .........................................................................................................................5

uế

1. Lý do chọn đề tài........................................................................................................5

H

2.Mục tiêu của đề tài .....................................................................................................5
3.Đối tƣợng và phạm vi nghiên cứu .............................................................................6

tế

3.1.Đối tƣợng nghiên cứu ..............................................................................................6

h

3.2.Phạm vi nghiên cứu .................................................................................................6

in

4.Phƣơng pháp nghiên cứu ...........................................................................................6

cK

5.Nội dung khoá luận ....................................................................................................7

CHƢƠNG 1: THỰC TRẠNG GIẢNG DẠY NGÔN NGỮ LẬP TRÌNH C# VÀ
PHƢƠNG PHÁP GIẢNG DẠY ĐIỆN TỬ .................................................................8

họ

1.1.Ngôn ngữ lập trình C# ............................................................................................8

Đ
ại

1.2.Thực trạng việc giảng dạy ngôn ngữ lập trình C# .............................................12
1.3.Phƣơng pháp giảng dạy điện tử ...........................................................................13
CHƢƠNG 2: THIẾT KẾ BÀI GIẢNG NGÔN NGỮ LẬP TRÌNH C# DÀNH
CHO NGƢỜI MỚI BẮT ĐẦU ...................................................................................18
2.1.Mục tiêu và nguyên tắc thiết kế bài giảng ...........................................................18
2.2.Kết cấu loạt bài giảng ............................................................................................19
2.3.Nội dung một số bài giảng.....................................................................................22
2.3.1.Phần 1 – Giới thiệu .............................................................................................22
2.3.2.Phần 2 – Các khái niệm cơ bản .........................................................................23
Sinh viên thực hiện: Trương Thị Hồng Nhung

1


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

2.3.3.Phần 3 – Biến số ..................................................................................................24
2.3.4.Phần 4 – Kiểu logic .............................................................................................26

2.3.5.Phần 5 – Lệnh if else ...........................................................................................27
2.3.6.Phần 6 – Mảng ....................................................................................................29
2.3.7.Phần 7 – Chuỗi (string) ......................................................................................30
2.3.8.Phần 8 – Hàm ......................................................................................................31

uế

2.3.9.Phần 9 – Vòng lặp ...............................................................................................32

H

2.3.10.Phần 10: Cấu trúc .............................................................................................33
2.3.11.Phần 11: Kiểu liệt kê ........................................................................................35

tế

CHƢƠNG 3: PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG WEBSITE DẠY NGÔN
NGỮ LẬP TRÌNH C# DÀNH CHO NGƢỜI MỚI BẮT ĐẦU ...............................37

in

h

3.1.Mô tả website dạy ngôn ngữ lập trình C# dành cho ngƣời mới bắt đầu ..........37

cK

3.2.Phân tích website dạy ngôn ngữ lập trình C# dành cho ngƣời mới bắt đầu ...39
3.2.1.Sơ đồ chức năng kinh doanh (BFD – Business Function Diagram) ..............40
3.2.2.Sơ đồ ngữ cảnh (CD – Context Diagram) ........................................................41


họ

3.2.3.Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) ...........................................42
3.2.4.Tích hợp ASPNETDB vào CSDL của website dạy ngôn ngữ lập trình C#

Đ
ại

dành cho ngƣời mới bắt dầu .......................................................................................44
3.3.Thiết kế và xây dựng website dạy ngôn ngữ lập trình C# dành cho ngƣời mới
bắt đầu ..........................................................................................................................46
KẾT LUẬN ..................................................................................................................55
TÀI LIỆU THAM KHẢO...........................................................................................56
PHỤ LỤC .....................................................................................................................57

Sinh viên thực hiện: Trương Thị Hồng Nhung

2


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
Diễn giải

CSDL


Cơ sở dữ liệu

IDE

Integrated Development Environment

SQL

Structured Query Language

uế

Ký hiệu

H

DANH MỤC CÁC BẢNG BIỂU

tế

Bảng 1.1: Những điểm giống và khác nhau giữa C# với Java và C++ ...........................9

Đ
ại

họ

cK

in


h

Bảng 1.2: Từ khóa của ngôn ngữ C# .............................................................................11

Sinh viên thực hiện: Trương Thị Hồng Nhung

3


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

DANH MỤC CÁC HÌNH VẼ
Hình 2.1: Giao diện tương tác với người dùng..............................................................19
Hình 2.2: Giao diện bố cục nội dung bài giảng .............................................................20
Hình 2.3: Giao diện bố cục phần trắc nghiệm ...............................................................21
Hình 3.1: Sơ đồ chức năng kinh doanh .........................................................................40

uế

Hình 3.2: Sơ đồ ngữ cảnh ..............................................................................................41
Hình 3.3: Sơ đồ luồng dữ liệu mức 0 ............................................................................42

H

Hình 3.4: Sơ đồ phân rã chức năng 1.0 .........................................................................42

tế


Hình 3.5: Sơ đồ phân rã chức năng 2.0 .........................................................................43
Hình 3.6: Công cụ ASP.NET SQL Server Registration Tool .......................................45

in

h

Hình 3.7: Mô hình dữ liệu quan hệ (diagram) ...............................................................46
Hình 3.8: Giao diện trang chủ .......................................................................................47

cK

Hình 3.9: Giao diện trang đăng ký ................................................................................47
Hình 3.10: Giao diện trang đăng nhập...........................................................................49

họ

Hình 3.11: Giao diện trang nội dung bài học (1)...........................................................51
Hình 3.12: Giao diện trang nội dung bài học (2)...........................................................51

Đ
ại

Hình 3.13: Giao diện trang trắc nghiệm vui (1) ............................................................52
Hình 3.14: Giao diện trang trắc nghiệm vui (2) ............................................................52
Hình 3.15: Giao diện trang trắc nghiệm vui (3) ............................................................53
Hình 3.16: Giao diện bảng thành tích ............................................................................53

Sinh viên thực hiện: Trương Thị Hồng Nhung


4


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

MỞ ĐẦU

1.

Lý do chọn đề tài
Trong thời đại ngày nay, sự phát triển như vũ bão của công nghệ thông tin đang

ảnh hưởng tới mọi mặt của đời sống xã hội. Trong đó, giáo dục cũng chịu mọi sự tác
động mạnh mẽ của công nghệ thông tin. Sự phát triển của công nghệ thông tin làm cho

uế

lượng tri thức của nhân loại tăng lên rất nhiều. Chính vì vậy, các phương pháp giáo
dục truyền thống không thể nào truyền tải được hết nội dung tri thức. Do đó, việc thay

H

đổi phương pháp dạy và học cho phù hợp với xu hướng phát triển của xã hội là rất cần
thiết.

tế


Trong bối cảnh đó, nền giáo dục nước ta cần được đổi mới phương pháp dạy học

h

theo hướng vận dụng công nghệ thông tin và các thiết bị dạy học nhằm phát huy kỹ

in

năng thực hành và tăng hứng thú học tập của học sinh, sinh viên nhằm nâng cao chất
lượng dạy học.

cK

Với sự phát triển của công nghệ thông tin, kỹ năng lập trình và các công việc liên
quan đến lập trình hiện nay đang rất phổ biến. Đã có nhiều website được xây dựng

họ

nhằm dạy ngôn ngữ lập trình nhưng với ngôn ngữ lập trình C# thì chưa phổ biến.
Việc học ngôn ngữ lập trình C# với học sinh, sinh viên vẫn còn nhiều khó khăn.

Đ
ại

Khối lượng kiến thức tương đối nhiều, thời gian trên lớp học lý thuyết, thời gian thực
hành hạn chế nên thường ít thu hút sự tập trung học tập của học sinh, sinh viên.
Chính vì những lý do trên, tôi chọn “Xây dựng website dạy ngôn ngữ lập trình

C# dành cho ngƣời mới bắt đầu” làm hướng nghiên cứu cho đề tài.


2.

Mục tiêu của đề tài
Mục đích của đề tài này là xây dựng một website dạy ngôn ngữ lập trình C# cho

học sinh, sinh viên, những người mới bắt đầu học lập trình. Website giúp học sinh,
sinh viên, những người mới bắt đầu học khám phá những kiến thức cơ bản của ngôn
ngữ lập trình C# theo cách tương tác, trực quan và thú vị.

Sinh viên thực hiện: Trương Thị Hồng Nhung

5


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

 Mục tiêu cụ thể:
+ Nghiên cứu tổng hợp ngôn ngữ lập trình C#, thực trạng giảng dạy ngôn ngữ lập
trình C# và phương pháp giảng dạy điện tử.
+ Thiết kế hệ thống bài giảng ngôn ngữ lập trình C# theo hướng tương tác, trực
quan và thú vị.
+ Xây dựng website dạy ngôn ngữ lập trình C# dựa trên các bài giảng đã thiết kế

uế

được.

Đối tƣợng và phạm vi nghiên cứu


3.

H

3.1. Đối tƣợng nghiên cứu

tế

Đối tượng nghiên cứu của đề tài là phương pháp giảng dạy ngôn ngữ lập trình
C#.

h

3.2. Phạm vi nghiên cứu

Phƣơng pháp nghiên cứu

cK

4.

in

Các cú pháp, kỹ thuật cơ bản của ngôn ngữ lập trình C#.

- Phương pháp nghiên cứu tài liệu: chủ động tìm kiếm, nghiên cứu các tài liệu,
sách liên quan đến đề tài, các website tương tự để đánh giá những ưu nhược điểm, học

họ


hỏi cách thức hoạt động của website. Từ đó đề ra một mô hình website dạy ngôn ngữ
lập trình C# có nội dung chính xác, khách quan.

Đ
ại

- Phương pháp phân tích, đánh giá: quan sát, nhìn nhận vấn đề, sàng lọc những

kiến thức cần thiết từ cơ bản đến nâng cao, từ đó hoàn thiện khoá luận.
- Phương pháp phân tích, thiết kế hệ thống: tiến hành tổng hợp, phân loại thông

tin. Dựa trên những thông tin thu thập được, kiến thức và nền tảng công nghệ có sẵn,
tiến hành xây dựng website dạy ngôn ngữ lập trình C# dành cho người mới bắt đầu.
- Phương pháp lập trình hướng đối tượng: sau khi tiến hành phân tích, thiết kế
website sẽ lựa chọn ngôn ngữ lập trình C# và ASP.NET với hệ quản trị CSDL
Microsoft SQL Server để quản lý.

Sinh viên thực hiện: Trương Thị Hồng Nhung

6


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

- Phương pháp tổng hợp: hoàn thiện khoá luận dựa trên những kiến thức cơ bản đã
thu nhận được trong quá trình học tập và những tài liệu, kiến thức tích luỹ được trong
quá trình chủ động học hỏi, tìm kiếm.


5.

Nội dung khoá luận
Khóa luận này tập trung tìm hiểu thực trạng giảng dạy ngôn ngữ lập trình C#,

phương pháp giảng dạy điện tử, các khái niệm liên quan đến ngôn ngữ lập trình C#,
thiết kế bài giảng ngôn ngữ lập trình C# cho người mới bắt đầu, phân tích, thiết kế và

H

mở đầu và kết luận, khoá luận này gồm 3 chương:

uế

xây dựng website dạy ngôn ngữ lập trình C# dành cho người mới bắt đầu. Ngoài phần

Chƣơng 1: Thực trạng giảng dạy ngôn ngữ lập trình C# và phƣơng pháp giảng

tế

dạy điện tử. Cụ thể, chương này trình bày khái quát khái niệm lập trình, ngôn ngữ lập
trình, ngôn ngữ lập trình C#, lịch sử hình thành và phát triển của ngôn ngữ lập trình

in

C# và phương pháp giảng dạy điện tử.

h


C#, các đặc điểm của ngôn ngữ lập trình C#, thực trạng giảng dạy ngôn ngữ lập trình

cK

Chƣơng 2: Thiết kế bài giảng ngôn ngữ lập trình C# dành cho ngƣời mới bắt đầu.
Cụ thể, chương này trình bày nội dung các bài giảng ngôn ngữ lập trình C# dựa trên
ngôn ngữ lập trình C#.

họ

Chƣơng 3: Phân tích, thiết kế và xây dựng website dạy ngôn ngữ lập trình C#
dành cho ngƣời mới bắt đầu. Đây là nội dung chính của khoá luận. Cụ thể, chương

Đ
ại

này trình bày các bước mô phỏng mô hình website, phân tích, thiết kế giao diện
website và chạy thử website. Tên website là “Website dạy ngôn ngữ lập trình C# dành
cho người mới bắt đầu”. Đây là website được cài đặt bằng ngôn ngữ C# và ASP.NET.
Trong đó, ASP.NET được dùng để xây dựng giao diện tương tác với người dùng; còn
C# là ngôn ngữ lập trình bên dưới. Website có thao các CSDL sử dụng Microsoft SQL
Server.

Sinh viên thực hiện: Trương Thị Hồng Nhung

7


Khóa luận tốt nghiệp


GVHD: ThS. Lê Viết Mẫn

CHƢƠNG 1
THỰC TRẠNG GIẢNG DẠY NGÔN NGỮ LẬP TRÌNH C#
VÀ PHƢƠNG PHÁP GIẢNG DẠY ĐIỆN TỬ
1.1. Ngôn ngữ lập trình C#
1.1.1. Khái niệm lập trình

uế

Lập trình máy tính (gọi tắt là lập trình; tiếng Anh: programming) là kỹ thuật cài
đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một hoặc nhiều

tế

1.1.2. Khái niệm ngôn ngữ lập trình

H

ngôn ngữ lập trình để tạo ra một chương trình máy tính.

Ngôn ngữ lập trình (tiếng Anh: programming language) là một tập con của ngôn

h

ngữ máy tính. Ngôn ngữ lập trình là một hệ thống được ký hiệu hoá để miêu tả những

in

tính toán (qua máy tính) trong một dạng mà cả con người và máy đều có thể đọc và


cK

hiểu được. Một ngôn ngữ lập trình phải thỏa mãn được hai điều kiện cơ bản là:
1. Phải dễ hiểu và dễ sử dụng đối với người lập trình, để con người có thể dùng nó

họ

giải quyết các bài toán khác.

2. Phải miêu tả một cách đầy đủ và rõ ràng các tiến trình (tiếng Anh: process), để có
thể chạy được trên các máy tính khác.

Đ
ại

1.1.3. Ngôn ngữ lập trình C#
Ngôn ngữ lập trình C# là ngôn ngữ hướng đối tượng đơn giản, trong sáng, chỉ

gồm khoảng 80 từ khoá và hơn 10 kiểu dữ liệu cơ sở. C# bao gồm tất cả những hỗ trợ
cho cấu trúc, thành phần (component), lập trình hướng đối tượng. C# được xây dựng
dựa trên nền tảng của ngôn ngữ C++ và Java.
Ngôn ngữ lập trình C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó,
người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Anders Hejlsberg là một kiến
trúc sư website nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.

Sinh viên thực hiện: Trương Thị Hồng Nhung

8



Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

C# được phê chuẩn bởi European Computer Manufacturers Association (ECMA)
và International Standards Organization (ISO).
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm
Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ
cấp độ cao (high-level) đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.
Ngôn ngữ lập trình C# được phát triển dựa trên nền tảng của ngôn ngữ C++ và

uế

Java. Trong đó 70% giống Java, 10% giống C++, 5% giống Visual Basic, 15% là mới.
Bảng 1.1: Những điểm giống nhau giữa C# với Java và C++
-

Giống Java

 Struct types

 Object-orientation (single

 Operator oveloading

tế

inheritance)


 Pointer arithmetic in unsafe

 Interfaces

 Some syntactic details

in

h

 Generics

 Namespaces

họ

 Strong typing

cK

 Exceptions
 Threads

Giống C++

H

-

 Garbage collections

 Reflection

Đ
ại

 Dynamic loading of code
 ...

Nguồn: Pro C# 2010 and the .NET 4 Platform (Andrew Troelsen): Ch. 1: The Philosophy of .NET

1.1.4. Các đặc điểm của ngôn ngữ lập trình C#
Ngôn ngữ lập trình C# có các đặc điểm sau đây:
- C# là ngôn ngữ đơn giản

Sinh viên thực hiện: Trương Thị Hồng Nhung

9


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++,
bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo
(virtual base class). Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng Java và C++ nhưng
nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là
loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi.
- C# là ngôn ngữ hiện đại
C# có các đặc tính của một ngôn ngữ hiện đại như là xử lý ngoại lệ, thu gom bộ


uế

nhớ tự động, những kiểu dữ liệu mở rộng và bảo mật mã nguồn.

H

Con trỏ được tích hợp vào ngôn ngữ C++. Chúng là nguyên nhân gây ra những
rắc rối của ngôn ngữ này. C# loại bỏ những phức tạp và rắc rối phát sinh bởi con trỏ

tế

dựa trên bộ thu gom bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợp vào ngôn

in

- C# là ngôn ngữ hướng đối tượng

h

ngữ C#.

C# hỗ trợ các đặc tính của ngôn ngữ hướng đối tượng (Object-oriented language)

(polymorphism).

cK

như là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình


họ

- C# là ngôn ngữ mạnh mẽ và mềm dẻo
Với ngôn ngữ C#, chúng ta chỉ bị giới hạn ở chính bởi bản thân hay là trí tưởng

Đ
ại

tượng của chúng ta. Ngôn ngữ này không đặt những ràng buộc lên những việc có thể
làm. C# được sử dụng cho nhiều các dự án khác nhau như là tạo ra ứng dụng xử lý văn
bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ
khác.

- C# là ngôn ngữ ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa (77 từ khoá). Phần lớn các từ
khóa được sử dụng để mô tả thông tin. Bảng sau liệt kê các từ khóa của ngôn ngữ C#:

Sinh viên thực hiện: Trương Thị Hồng Nhung

10


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

abstract

default


foreach

object

sizeof

unsafe

as

delegate

goto

operator

stackalloc

ushort

base

do

if

out

static


using

bool

double

implicit

override

string

virtual

break

else

in

params

struct

volatile

byte

enum


int

private

case

event

interface

protected

uế

Bảng 1.2: Từ khóa của ngôn ngữ C#

catch

explicit

internal

public

extern

is

readonly


true

checked

false

lock

ref

try

class

finally

long

return

typeof

const

fixed

namespace

sbyte


uint

continue

float

new

sealed

ulong

decimal

for

null

short

unchecked

void

this

while

throw


char

họ

cK

in

h

tế

H

switch

Nguồn:

- C# là ngôn ngữ hướng module

Đ
ại

Mã nguồn C# có thể được viết trong các lớp, những lớp này chứa các phương

thức thành viên của nó. Lớp và phương thức có thể được sử dụng lại trong ứng dụng
hay các chương trình khác. Bằng cách truyền các mẫu thông tin đến những lớp hay
phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả.
- C# là một ngôn ngữ phổ biến
C# là một trong những ngôn ngữ lập trình mới nhất. Nhưng ngôn ngữ này có một

số lý do để trở thành một ngôn ngữ phổ biến. Một trong những lý do chính là
Microsoft và sự cam kết của .NET. Nhiều sản phẩm của công ty này đa chuyển đổi và
viết lại bằng C#. Bằng cách sử dụng ngôn ngữ này, Microsoft đã xác nhận khả năng
Sinh viên thực hiện: Trương Thị Hồng Nhung

11


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

của C# cần thiết cho những người lập trình. .NET là một sự thay đổi trong cách tạo và
thực thi những ứng dụng. Ngoài hai lý do trên, ngôn ngữ C# phổ biến do những đặc
tính của ngôn ngữ này được đề cập trong mục trước như: đơn giản, hướng đối tượng,
mạnh mẽ.
Ngoài các đặc điểm trên, C# còn có các đặc điểm tiến bộ sau:
- Không yêu cầu con trỏ.
- Quản lý bộ nhớ tự động thông qua trình gom rác (Garbage Collector).
(structure) và thuộc tính lớp (class properties).

H

- Cho phép chồng hàm cho các kiểu dữ liệu tự tạo.

uế

- Cấu trúc cú pháp hình thức cho kiểu dữ liệu liệt kê (enumeration), cấu trúc

tế


- Sử dụng cú pháp tương tự khuôn mẫu trong C++ để lập trình các generic.
- Hỗ trợ hoàn toàn cho các kỹ thuật lập trình dựa trên giao diện.

h

1.2. Thực trạng việc giảng dạy ngôn ngữ lập trình C#

in

Hiện nay, nhu cầu nhân lực ngành công nghệ thông tin rất lớn. Đây là ngành rất

cK

hấp dẫn và có nhiều trường đào tạo. Nhưng việc học ngôn ngữ lập trình C# với học
sinh, sinh viên, những người mới bắt đầu học lập trình vẫn còn nhiều khó khăn. Việc
dạy, truyền tải nội dung lý thuyết trên lớp chiếm nhiều thời gian, chủ yếu về nhà thực

họ

hành nên chưa thực sự hiệu quả, giảm sự hứng thú học tập của học sinh, sinh viên,
những người mới bắt đầu học lập trình.

Đ
ại

Có rất nhiều trường lớp, trung tâm dạy ngôn ngữ lập trình C# với nhiều hình thức

(học trên lớp, học trực tuyến, …) hay các phần mềm ứng dụng, các website ra đời hỗ
trợ việc dạy ngôn ngữ lập trình C#.

Theo thống kê của Blog TopDev, trang web lớn về tìm kiếm cơ hội việc làm

CNTT ở Việt Nam, có 15 nguồn học C# dành cho người mới bắt đầu là: Tutorial
Point, C# Station, LearnCS.org, ZetCode, Microsoft C# Training, Udemy, Eduonix,
EDX, O‟Reilly School of Technology, Channel9.msdn.com, Những nền tảng
Programming with C#, Free Book Center, BookBoon, C# Programming, C#
Essentials. Đây là các nguồn học rất nổi tiếng và hiệu quả. Tuy nhiên, những người

Sinh viên thực hiện: Trương Thị Hồng Nhung

12


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

mới bắt đầu học sẽ cảm thấy nhàm chán, bất tiện và khó khăn khi đọc các nguồn tiếng
Anh, đặc biệt là người Việt Nam. Vậy nên, các nguồn học trên chưa thực sự gây hứng
thú học tập cho học sinh, sinh viên, những người mới bắt đầu học ngôn ngữ lập trình
C#.
Nhiều tài liệu, sách, giáo trình tiếng Việt được biên soạn nhưng chúng chưa thực
sự đầy đủ như các tài liệu tiếng Anh. Hơn nữa, việc đọc hay tìm kiếm theo từng nội
dung cũng làm giảm sự hứng thú với môn học và mất nhiều thời gian. Các tài liệu điển

uế

hình như:

H


- Đặng Quế Vinh, Giáo trình Kỹ thuật lập trình 1, Nhà xuất bản Thống kê, năm
2005.

tế

- Dương Quang Thiện, Lập trình Visual C# thế nào? – Tập 1: C# Căn bản và
Visual Studio .NET IDE, Nhà xuất bản Tổng hợp TP.HCM, năm 2005.

h

- Dương Quang Thiện, Lập trình Visual C# thế nào? – Tập 2: C# và .NET

in

Framework, Nhà xuất bản Tổng hợp TP.HCM, năm 2005.

cK

Bên cạnh đó, các trang web dạy ngôn ngữ lập trình C# bằng tiếng Việt (ví dụ:
vietjack.com, Myclass.vn, daynhauhoc.com, …), các video hướng dẫn (ví dụ: C# 101
của thầy Nguyễn Đình Hoa Cương, …), các blog hỗ trợ học tập (ví dụ: MSDN, C#

họ

Việt Nam) cũng phát triển mạnh. Nhưng nội dung vẫn còn nặng về lý thuyết, chưa có
sự tương tác tốt với người học, khả năng khám phá trực tiếp trên bài học là còn yếu.

Đ
ại


 Qua nghiên cứu các tài liệu giảng dạy trên, khóa luận nhận thấy rằng đối với

học sinh, sinh viên, những người mới bắt đầu học ngôn ngữ lập trình C#, người giảng
dạy phải truyền tải được các kiến thức cơ bản, đầy đủ và dễ hiểu về ngôn ngữ lập trình
C#. Các nội dung giảng dạy phải là các khái niệm cơ bản, các cú pháp, kỹ thuật cơ bản
của ngôn ngữ lập trình C# như: C# là gì, cấu trúc chương trình C#, cách tạo một
chương trình C# cơ bản, các cú pháp cơ bản, các kiểu dữ liệu, biến, toán tử, vòng lặp,
hàm, mảng, chuỗi, struct, enum, … Đó chính là các nội dung được chú trọng thiết kế
cho website dạy ngôn ngữ lập trình C# dành cho người mới bắt đầu trong đề tài này.

1.3. Phƣơng pháp giảng dạy điện tử

Sinh viên thực hiện: Trương Thị Hồng Nhung

13


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

Bài giảng điện tử là một hình thức tổ chức bài lên lớp mà ở đó toàn bộ kế hoạch
hoạt động dạy học đều thực hiện thông qua môi trường multimedia do máy vi tính tạo
ra. Multimedia được hiểu là đa phương tiện, đa môi trường, đa truyền thông. Trong
môi trường multimedia, thông tin được truyền dưới dạng: văn bản (text), đồ họa
(graphics), ảnh động (animation), ảnh tĩnh (image), âm thanh (audio) và phim video
(video clip). Đặc trưng cơ bản của bài giảng điện tử là toàn bộ kiến thức của bài học,
mọi hoạt động điều khiển của giảng viên đều được multimedia hóa.


uế

Dạy học bằng bài giảng điện tử là cách hiệu quả để thực hiện đổi mới giáo dục.
hoàn toàn phụ thuộc vào người giảng viên đứng lớp.

H

Tuy nhiên, bài giảng điện tử chỉ là công cụ, còn việc sử dụng sao cho có hiệu quả là

tế

Thực tế cho thấy, để chuẩn bị cho một bài giảng điện tử, người giảng dạy phải
mất khá nhiều thời gian để chuẩn bị từ việc xây dựng ý tưởng, soạn nội dung bài

h

giảng, thiết kế bài giảng và thiết kế hình ảnh sao cho phù hợp với nội dung bài giảng.

in

Ngoài kiến thức căn bản về tin học, giáo viên còn cần có niềm đam mê thật sự với việc
thiết kế vốn đòi hỏi sự sáng tạo, sự nhạy bén, tính thẩm mỹ để “săn tìm” tư liệu từ

cK

nhiều nguồn, chọn giải pháp cho sử dụng công nghệ, sau đó mới đi vào thiết kế.
Không lạm dụng công nghệ nếu chúng không tác động tích cực đến quá trình giảng

họ


dạy của giáo viên và kết quả học tập của học sinh, sinh viên. Công nghệ mô phỏng nếu
không phản ánh đúng nội dung, giá trị nghệ thuật và thực tế thì không nên sử dụng.

Đ
ại

Với bài giảng điện tử, giáo viên được giảm nhẹ việc thuyết giảng, tăng cường đối
thoại, thảo luận với học sinh, sinh viên. Học sinh, sinh viên được thu hút, kích thích
khám phá tri thức, có điều kiện quan sát vấn đề, chủ động nêu câu hỏi và nhờ vậy quá
trình học tập trở nên hứng thú, sâu sắc hơn. Tuy nhiên, vẫn còn không ít giáo viên gặp
khó khăn trong việc thiết kế bài giảng điện tử.
 Bài giảng điện tử cần đảm bảo các tiêu chí sau:
-

Về nội dung:

 Đảm bảo tính chính xác, phù hợp với chương trình đào tạo, với nội dung và tính
đặc thù bộ môn; với phương pháp, kỹ thuật và hình thức tổ chức dạy học.

Sinh viên thực hiện: Trương Thị Hồng Nhung

14


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

 Đảm bảo tính khoa học (nhất là nguồn tài liệu khai thác từ internet) và phù hợp
với đối tượng dạy học.

 Cấu trúc chặt chẽ, logic, định hướng tư duy tích cực cho người học.
 Xác định rõ kiến thức cơ bản, kiến thức trọng tâm của bài học, các vấn đề đang
còn tranh luận, các nội dung mà người học cần tích cực, chủ động, sáng tạo trong
nghiên cứu, nhận thức và luyện tập.
 Khai thác lợi thế của công nghệ thông tin trong thiết kế các hình thức kiểm tra,

-

uế

đánh giá trắc nghiệm khách quan ở những mức độ khác nhau.
Về hình thức:

hứng thú học tập, nghiên cứu của học sinh, sinh viên.

H

 Đảm bảo tính trực quan, tạo sự sinh động, hấp dẫn, thu hút sự chú ý, kích thích

tế

 Thiết kế các slide phù hợp (nên từ 20 -25 slide /1 tiết); màu sắc hài hòa, giao

h

diện thân thiện; thống nhất bảng mã Unicode, cỡ chữ vừa đủ quan sát (24 – 28), trình

in

bày đẹp, diễn đạt ngắn gọn, làm nổi bật kiến thức trọng tâm.

 Hiệu ứng chữ, hình ảnh, màu sắc, âm thanh, chuyển động được sử dụng có mức
của người học.

cK

độ, hài hòa, hợp lý. Không lạm dụng kỹ thuật để thỏa mãn sự hiếu kỳ, phân tán chú ý
Lưu ý: màu sắc thiếu trực quan, mờ nhạt hoặc sặc sỡ dễ gây phản cảm; âm

-

họ

thanh ồn ào sẽ giảm hứng thú học tập của người học.
Về kỹ thuật:

Đ
ại

 Tiện ích trong tổ chức dạy học; thích ứng với điều kiện sẵn có; đa dạng các

hình thức liên kết nội dung bài học với các nguồn học liệu đa phương tiện (các file âm
thanh, hình ảnh, video clip, file trình diễn bài giảng có tích hợp video, …), với phần
mềm giáo khoa và các công cụ chuyên biệt khác.
 Dễ tạo các mối liên hệ tương tác (giữa người dạy với người học, giữa người học
với người học) dạy học với tài liệu mở, dẫn dắt người học xây dựng bài, củng cố, khắc
sâu kiến thức.

Sinh viên thực hiện: Trương Thị Hồng Nhung

15



Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

 Giúp người học hình thành các kỹ năng tự học, tự nghiên cứu, kỹ năng hợp tác,
chia sẻ thông tin, vận dụng kiến thức vào thực tế, tự đánh giá kết quả học tập, hình
thành tư tưởng, thái độ học tập đúng đắn.
 Thiết kế bài giảng đảm bảo cho người dạy thuận lợi, làm chủ kỹ thuật, thao tác
nhuần nhuyễn, kết hợp nhịp nhàng trình chiếu với ghi chép, giữa các hoạt động dạy và
học, giữa hướng dẫn nhận thức với quản lý, kiểm tra đánh giá người học.
-

Về hiệu quả:

cứu, phát triển các kỹ năng cần thiết, có thái độ đúng đắn.

uế

 Thực hiện được mục tiêu bài học, người học hiểu bài, hứng thú học tập, nghiên

H

 Đánh giá được kết quả học tập của người học, hiệu quả bài học của người dạy.
 Phát huy được tác dụng nổi bật của bài giảng điện tử mà các bài giảng theo hình

tế

thức tổ chức khác khó đạt được.


h

 Bài giảng điện tử cần đảm bảo các yêu cầu sau:

in

Yêu cầu của một bài giảng điện tử là tích hợp các ứng dụng công nghệ thông tin
sao cho phù hợp với nội dung, mục đích dạy học, đảm bảo đặc trưng bộ môn, góp

cK

phần tích cực hóa hoạt động học tập của học sinh, sinh viên, làm tăng hiệu quả dạy
học. Có thể cụ thể hóa thành các yêu cầu sau:
Yêu cầu về nội dung:

họ

-

Cần trình bày nội dung bài giảng điện tử với lý thuyết cô đọng, được minh họa

Đ
ại

sinh động và có tính tương tác cao, rõ nét mà phương pháp giảng dạy bằng lời khó
diễn tả. Để thực hiện yêu cầu này, giảng viên cần phải hiểu rất rõ vấn đề cần trình bày,
phải thể hiện các phương pháp sư phạm truyền thống. Đồng thời, giảng viên cần phải
có kỹ năng về tin học để thực hiện các minh họa, mô phỏng hoặc tận dụng chọn lọc từ
tư liệu điện tử có sẵn.

-

Yêu cầu về phần câu hỏi - giải đáp:

 Kiểm tra, đánh giá người học có hiểu nội dung (từng phần, toàn bài) vừa trình
bày không.

Sinh viên thực hiện: Trương Thị Hồng Nhung

16


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

 Liên kết một chủ đề đã dạy trước với chủ đề hiện tại hay kế tiếp. Câu hỏi cần
được thiết kế sử dụng đa phương tiện để kích thích người học vận động trí não để tìm
câu trả lời.
-

Yêu cầu phần thể hiện khi thiết kế:
Các nội dung chuẩn bị của hai phần trên khi thể hiện trình bày cần được bảo

đảm các yêu cầu sau:

 Chính xác: đảm bảo không có thông tin sai sót.

uế


 Đầy đủ: có đủ yêu cầu nội dung bài học.

H

 Trực quan: hình vẽ, âm thanh, bảng biểu trực quan, sinh động, hấp dẫn người
học.

tế

Từ những vấn đề trên, tôi thực hiện đề tài “Xây dựng website dạy ngôn ngữ
lập trình C# dành cho ngƣời mới bắt đầu” nhằm tạo ra một website dạy ngôn ngữ

h

lập trình C# theo hướng tương tác, vui vẻ, giúp học sinh, sinh viên, những người mới

in

bắt đầu học lâp trình nắm vững những kiến thức cơ bản của ngôn ngữ lập trình C#. Từ

cK

đó, tạo động lực cho học sinh, sinh viên, những người mới bắt đầu học lập trình học

Đ
ại

họ

tập, thực hành nâng cao.


Sinh viên thực hiện: Trương Thị Hồng Nhung

17


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

CHƢƠNG 2
THIẾT KẾ BÀI GIẢNG NGÔN NGỮ LẬP TRÌNH C#
DÀNH CHO NGƢỜI MỚI BẮT ĐẦU

Dựa trên những phân tích về thực trạng việc giảng dạy ngôn ngữ lập trình C# và
phương pháp giảng dạy điện tử trong chương 1, chương này sẽ trình bày mục tiêu,

uế

nguyên tắc thiết kế bài giảng, kết cấu loạt bài giảng, nội dung một số bài giảng ngôn

2.1. Mục tiêu và nguyên tắc thiết kế bài giảng

H

ngữ lập trình C# dành cho người mới bắt đầu mà tôi đã thiết kế được.

tế

Loạt bài giảng ngôn ngữ lập trình C# dành cho người mới bắt đầu sẽ cung cấp

cho người học các kiến thức cơ bản về ngôn ngữ lập trình C# qua các khái niệm từ cơ

h

bản đến nâng cao, được xây dựng cho người mới học để giúp họ hiểu các khái niệm cơ

in

bản về lập trình C#.

tương tác, trực quan.

Đơn giản: Mỗi bài giảng tập trung bám sát vào một nội dung cụ thể về ngôn

họ

-

cK

Hệ thống bài giảng ngôn ngữ lập trình C# được xây dựng theo hướng đơn giản,

ngữ lập trình C#. Nội dung được chắt lọc nhưng đảm bảo tính đầy đủ và chính xác cao.
Điều này giúp học sinh, sinh viên nắm rõ bản chất, nội dung bài học một cách rõ ràng,

Đ
ại

cụ thể và dễ hiểu.
-


Tương tác: Website cho phép người dùng tương tác trực tiếp với bài học (hình

2.1). Người dùng lựa chọn và thay đổi đáp án đã chọn để hiểu rõ cách thức hoạt động,
ý nghĩa bài học hơn; có thể quay lại, thực hiện lại một bài học nhiều lần.
-

Trực quan: Bài giảng được trình bày rõ ràng, trực quan, sinh động, giúp người

học dễ dàng thao tác, sử dụng, tránh gây nhàm chán.

Sinh viên thực hiện: Trương Thị Hồng Nhung

18


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

in

2.2. Kết cấu loạt bài giảng

h

tế

H


uế

Hình 2.1: Giao diện tƣơng tác với ngƣời dùng

cK

Loạt bài giảng được chia thành nhiều phần, mỗi phần đảm nhiệm một nội dung
khác nhau của ngôn ngữ lập trình C#. Sau mỗi bài giảng là bài “Trắc nghiệm vui” bao
gồm các câu hỏi lý thuyết theo hình thức trắc nghiệm. Cụ thể, bài giảng được chia

-

họ

thành 11 phần như sau:

Phần 1 – Giới thiệu: tạo, biên dịch và chạy chương trình minh họa. Phân tích

Đ
ại

ngắn gọn chương trình để giới thiệu cấu trúc chương trình C#, cách thức tạo ra một
chương trình C#.
-

Phần 2 – C# cơ bản: giới thiệu một số khái niệm cơ bản của ngôn ngữ lập trình

C# như mã nguồn, biến, các kiểu dữ liệu.
-


Phần 3 – Biến: khái niệm, cách thức khai báo, khởi tạo biến.

-

Phần 4 – Kiểu logic: khái niệm, các phép so sánh logic và các toán tử thường

được sử dụng trong biểu thức logic.
-

Phần 5 – Lệnh if else: khái niệm, các phép so sánh và các toán tử thông dụng.

Sinh viên thực hiện: Trương Thị Hồng Nhung

19


Khóa luận tốt nghiệp

-

GVHD: ThS. Lê Viết Mẫn

Phần 6 – Mảng: khái niệm, cách thức khai báo, khởi tạo mảng và truy xuất vào

phần tử của mảng.
-

Phần 7 – Chuỗi: khái niệm, cách thức khai báo, khởi tạo chuỗi, truy xuất vào

phần tử của chuỗi, các thao tác cơ bản trong chuỗi.

-

Phần 8 – Hàm: hàm và các định nghĩa liên quan đến hàm.

-

Phần 9 – Vòng lặp: giới thiệu cách thức hoạt động của các vòng lặp cơ bản

như while, do while, for.
Phần 10 – Cấu trúc: định nghĩa, cách tạo một cấu trúc và các thao tác cơ bản

uế

-

trong cấu trúc.

Phần 11 – Kiểu liệt kê: khái niệm, cách thức khai báo, nhập liệu kiểu liệt kê,

H

-

giới thiệu lệnh lựa chọn switch case.

tế

 Bố cục bài giảng:

Đ

ại

họ

cK

in

Hình 2.2: Giao diện bố cục bài giảng

h

Các bài giảng được trình bày trên website theo bố cục như trong hình 2.2.

Sinh viên thực hiện: Trương Thị Hồng Nhung

20


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

Trong đó:
-

Khung 1: Giới thiệu nội dung bài giảng.

-


Khung 2: Mã nguồn minh họa cho nội dung bài giảng.

-

Khung 3: Kết quả biên dịch mã nguồn ở khung 2.

-

Khung 4: Giải thích nội dung bài giảng.

-

Khung 5: Các nút thao tác.

 Bố cục phần trắc nghiệm:

Đ
ại

họ

cK

in

h

tế

H


Hình 2.3: Giao diện bố cục phần trắc nghiệm

uế

Phần trắc nghiệm được trình bày trên website theo bố cục như trong hình 2.3.

Trong đó:
-

Khung 1: Nội dung câu hỏi.

-

Khung 2: Danh sách các đáp án.

Sinh viên thực hiện: Trương Thị Hồng Nhung

21


Khóa luận tốt nghiệp

-

GVHD: ThS. Lê Viết Mẫn

Khung 3: Giải thích nội dung câu hỏi. Phần giải thích đối với câu trả lời đúng

và sai là khác nhau giúp người học nắm vững kiến thức hơn.

-

Khung 4: Nút thao tác. Khi trả lời sai sẽ không được trả lời lại.

2.3. Nội dung một số bài giảng
Trong phần này, khóa luận chỉ trình bày tóm tắt nội dung một số bài giảng. Nội
dung đầy đủ tất cả các bài giảng có thể xem ở phần Phụ lục.

2.3.1. Phần 1 – Giới thiệu
Phần này giới thiệu khái quát về một chương trình C#, cách tạo, biên dịch và

H

-

uế

 Mục đích bài giảng
chạy chương trình minh họa.

Phân tích ngắn gọn chương trình để giới thiệu về cấu trúc một chương trình C#,

tế

-

 Nội dung bài giảng

Phần giới thiệu (phần hiển thị trên website ở khung số 1 trong hình 2.2): Mỗi


cK

-

in

và các kiểu chú thích trong C#.

h

các khối lệnh, thư viện (using), không gian tên (namespace), lớp (class), hàm Main()

project được đặt trong một solution. Mỗi solution có thể chứa nhiều project. Một
project bao gồm một hoặc nhiều đơn vị biên dịch (compilation units) và được biên

-

họ

dịch thành một tập tin assembly (.exe hoặc .dll).
Mã nguồn (phần hiển thị trên website ở khung số 2 trong hình 2.2):
Program.cs

Đ
ại

using System;
namespace Baitap
{
class Program

{
static void Main(string[] args)
{
Console.Write ("Hello World");
Console.ReadKey ();
}
}
}

Mã nguồn trên giới thiệu cấu trúc một chương trình C#. Người học chỉ cần bấm
nút “Chạy” (xem khung số 5 ở hình 2.2) để biên dịch chương trình.
Sinh viên thực hiện: Trương Thị Hồng Nhung

22


Khóa luận tốt nghiệp

GVHD: ThS. Lê Viết Mẫn

-

Kết quả: Hello World

-

Giải thích (phần hiển thị trên website ở khung số 3 trong hình 2.2): Các tập tin

.cs là các tập tin mã nguồn C#. Mỗi tập tin nên chứa cài đặt cho một và chỉ một lớp.
Program.cs là tập tin mặc định đầu tiên được tạo ra trong project để chứa đoạn chương

trình, là điểm bắt đầu của chương trình.

2.3.2. Phần 2 – Các khái niệm cơ bản
 Mục đích bài giảng
Phần này giới thiệu khái quát các khái niệm cơ bản của ngôn ngữ lập trình C#.

-

Phân tích ngắn gọn chương trình để giới thiệu về mã nguồn; biến, cách khai báo

uế

-

H

biến; cách khai báo và sử dụng các kiểu dữ liệu cơ bản gồm kiểu chuỗi, các kiểu số và
các toán tử cơ bản trong C# như toán tử cộng (+, -), toán tử nhân (*, /).
Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về các khái

tế

-

niệm cơ bản trong C# theo hình thức trắc nghiệm.

Phần giới thiệu: Các biến được tạo ra bắt đầu với một kiểu dữ liệu, theo sau là

in


-

h

 Nội dung bài giảng

cK

tên biến và gán giá trị cho biến với phép gán “=”.
Cú pháp khai báo biến: <kiểu_dữ_liệu> <tên_biến> = <giá_trị>;
Mã nguồn:

họ

-

Đ
ại

static void Main(string[] args)
{
string ten = "C#";
ten =
;
"Học C#"
"Học lập trình"

Console.Write (ten);

}


Đoạn mã nguồn trên giới thiệu về biến và cách khai báo biến trong C#. Người
dùng có thể lựa chọn đáp án “Học C#” hoặc “Học lập trình” (xem hình 2.1 để rõ cách
thao tác); sau đó, bấm nút “Chạy” để xem kết quả và lời giải thích cho từng trường
hợp.
-

Kết quả: Học C# (hoặc Học lập trình).

Sinh viên thực hiện: Trương Thị Hồng Nhung

23


×