KHOA HỆ THỐNG THÔNG TIN KINH TẾ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC 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 Giảng
Trang 1KHOA HỆ THỐNG THÔNG TIN KINH TẾ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
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 Giảng viên hướng dẫn Lớp: K46 Tin học kinh tế ThS Lê Viết Mẫn Niên khóa: 2012 – 2016
Huế, tháng 05 năm 2016
Đại học Kinh tế Huế
Trang 2Để 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 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
là cơ hội để em có dịp được học hỏi, tìm hiểu và quan trọng nhất là
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
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 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 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
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
Đại học Kinh tế Huế
Trang 3MỤ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
1 Lý do chọn đề tài 5
2.Mục tiêu của đề tài 5
3.Đối tượng và phạm vi nghiên cứu 6
3.1.Đối tượng nghiên cứu 6
3.2.Phạm vi nghiên cứu 6
4.Phương pháp nghiên cứu 6
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
1.1.Ngôn ngữ lập trình C# 8
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
Đại học Kinh tế Huế
Trang 42.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
2.3.9.Phần 9 – Vòng lặp 32
2.3.10.Phần 10: Cấu trúc 33
2.3.11.Phần 11: Kiểu liệt kê 35
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
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
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
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# 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
Đại học Kinh tế Huế
Trang 5DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
Ký hiệu Diễn giải
IDE Integrated Development Environment
SQL Structured Query Language
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1: Những điểm giống và khác nhau giữa C# với Java và C++ 9
Bảng 1.2: Từ khóa của ngôn ngữ C# 11
Đại học Kinh tế Huế
Trang 6DANH 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
Hình 3.2: Sơ đồ ngữ cảnh 41
Hình 3.3: Sơ đồ luồng dữ liệu mức 0 42
Hình 3.4: Sơ đồ phân rã chức năng 1.0 42
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
Hình 3.7: Mô hình dữ liệu quan hệ (diagram) 46
Hình 3.8: Giao diện trang chủ 47
Hình 3.9: Giao diện trang đăng ký 47
Hình 3.10: Giao diện trang đăng nhập 49
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
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
Đại học Kinh tế Huế
Trang 7MỞ ĐẦU
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 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 đổ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
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 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ỹ 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
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 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 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
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ị
Đại học Kinh tế Huế
Trang 83.1 Đối tƣợng nghiên cứu
Đố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#
3.2 Phạm vi nghiên cứu
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ỏ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
- 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ý
Đại học Kinh tế Huế
Trang 9- 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
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à 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
mở đầu và kết luận, khoá luận này gồm 3 chương:
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ử 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 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 C# và phương pháp giảng dạy điện tử
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#
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
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
Đại học Kinh tế Huế
Trang 10CHƯƠ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
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 ngôn ngữ lập trình để tạo ra một chương trình máy tính
1.1.2 Khái niệm ngôn ngữ lập trình
Ngôn ngữ lập trình (tiếng Anh: programming language) là một tập con của ngôn 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 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à 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ó 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
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
Đại học Kinh tế Huế
Trang 11C# đượ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à 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++
Pointer arithmetic in unsafe
Some syntactic details
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
Đại học Kinh tế Huế
Trang 12C# 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ộ nhớ tự động, những kiểu dữ liệu mở rộng và bảo mật mã nguồn
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ỏ 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 ngữ C#
- C# là ngôn ngữ hướng đối tượng
C# hỗ trợ các đặc tính của ngôn ngữ hướng đối tượng (Object-oriented language) như là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism)
- 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 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
Trang 13Bảng 1.2: Từ khóa của ngôn ngữ C#
abstract default foreach object sizeof unsafe
as delegate goto operator stackalloc ushort
bool double implicit override string virtual
case event interface protected this while
catch explicit internal public throw char
return typeof const fixed namespace sbyte
Nguồn: https://vi.wikipedia.org
- C# là ngôn ngữ hướng module
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
Đại học Kinh tế Huế
Trang 14củ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)
- 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 (structure) và thuộc tính lớp (class properties)
- Cho phép chồng hàm cho các kiểu dữ liệu tự tạo
- 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
1.2 Thực trạng việc giảng dạy ngôn ngữ lập trình C#
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 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à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
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
Đại học Kinh tế Huế
Trang 15mớ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 hình như:
- Đặ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
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
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ử
Đại học Kinh tế Huế
Trang 16Bà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
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 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à hoàn toàn phụ thuộc vào người giảng viên đứng lớp
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 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 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ừ 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 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 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:
Trang 17 Đả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, đánh giá trắc nghiệm khách quan ở những mức độ khác nhau
Hiệu ứng chữ, hình ảnh, màu sắc, âm thanh, chuyển động được sử dụng có mức
độ, 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ú ý của người học
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 thanh ồn ào sẽ giảm hứng thú học tập của người học
- Về kỹ thuật:
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
Đại học Kinh tế Huế
Trang 18 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ả:
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 cứu, phát triển các kỹ năng cần thiết, có thái độ đúng đắn
Đá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 thức tổ chức khác khó đạt được
Bài giảng điện tử cần đảm bảo các yêu cầu sau:
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 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:
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 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
Đại học Kinh tế Huế
Trang 19 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:
Đầy đủ: có đủ yêu cầu nội dung bài học
Chính xác: đảm bảo không có thông tin sai sót
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ừ 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ữ
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 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ừ
đó, 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 tập, thực hành nâng cao
Đại học Kinh tế Huế
Trang 20CHƯƠ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, 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 ngữ lập trình C# dành cho người mới bắt đầu mà tôi đã thiết kế được
2.1 Mục tiêu và nguyên tắc thiết kế bài giảng
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ơ 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ơ bản về lập trình C#
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, 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 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,
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
Đại học Kinh tế Huế
Trang 21Hình 2.1: Giao diện tương tác với người dùng
2.2 Kết cấu loạt bài giảng
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 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
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
Đại học Kinh tế Huế
Trang 22- 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
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ê,
giới thiệu lệnh lựa chọn switch case
Bố cục bài giảng:
Các bài giảng được trình bày trên website theo bố cục như trong hình 2.2
Hình 2.2: Giao diện bố cục bài giảng
Đại học Kinh tế Huế
Trang 23Trong đó:
- 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:
Phần trắc nghiệm được trình bày trên website theo bố cục như trong hình 2.3
Hình 2.3: Giao diện bố cục phần trắc nghiệm
Trang 24- 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
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 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 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):
Trang 25- 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 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 niệm cơ bản trong C# theo hình thức trắc nghiệm
Nội dung bài giảng
- 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à 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ị>;
Trang 26- Giải thích: Có thể khai báo biến bất cứ đâu trong chương trình Biến có kiểu dữ liệu và tên Một biến sau khi đã khai báo thì có thể gán giá trị và sử dụng nó để tính toán
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về biến trong C# theo hình thức trắc nghiệm
Đại học Kinh tế Huế
Trang 27 Nội dung bài giảng
- Phần giới thiệu: Biến phải được khai báo và khởi gán giá trị trước khi có thể sử
dụng nó để tính toán Cú pháp khai báo và khởi gán giá trị: <kiểu_dữ_liệu>
<tên_biến> = <giá_trị>; Dấu “=” được gọi là phép gán Lưu ý rằng chúng ta không
thể thay đổi kiểu dữ liệu của biến mà chỉ có thể thay đổi giá trị của biến mà thôi
bằng một câu lệnh Người học chỉ cần bấm nút “Chạy” để biên dịch chương trình
- Giải thích: Chúng ta có thể khởi tạo biến bất cứ lúc nào sau khi đã khai báo Hoặc chúng ta có thể khai báo và khởi tạo biến cùng một lúc
- Các phát biểu về khai báo và khởi tạo biến trong một bước duy nhất (xem lại
cách khai báo biến y ở đoạn mã nguồn trên), giúp người học hiểu rõ bản chất về cách
khai báo và khởi tạo biến
- Khái niệm khai báo biến, giúp người học biết được khai báo biến thực chất là việc tạo ra một biến hay xác định tên và kiểu dữ liệu của biến
- Khái niệm khởi tạo biến, giúp người học hiểu rõ khở tạo là gì, nên khởi tạo biến khi nào, khởi tạo để làm gì, tránh việc sử dụng biến đề tính toán khi chưa khởi tạo giá trị cho biến
- Cách khai báo biến, giúp người học nắm vững cú pháp khai báo cũng như các
Đại học Kinh tế Huế
Trang 28- Cách khởi tạo biến, giúp người học nắm vững cách khởi tạo cũng như các quy tắc khi khởi tạo biến
- Các phát biểu về việc khai báo một biến mà không cho nó một giá trị, giúp người học củng cố lại kiến thức về khai báo biến một lần nữa
- Đưa ra một đoạn mã nguồn về cách khai báo và khởi tạo biến, giúp người học
tư duy tốt hơn
- Đưa ra một đoạn mã nguồn cụ thể về phép toán tăng giảm, giúp người học tư duy và nắm chắc kiến thức hơn
2.3.4 Phần 4 – Kiểu logic
Mục đích bài giảng
- Phần này giới thiệu khái quát về kiểu logic, cách thức hoạt động của các phép
so sánh logic (so sánh hơn, so sánh hơn hoặc bằng, so sánh bằng, so sánh khác) và các toán tử thường được sử dụng trong biểu thức logic (toán tử Not, toán tử And, toán tử Or)
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về kiểu logic trong C# theo hình thức trắc nghiệm
Nội dung bài giảng
- Phần giới thiệu: Toán tử And được gọi là toán tử logic And (và) Nếu cả hai toán hạng đều có giá trị khác 0 thì điều kiện trở lên true
Trang 29- Các phát biểu về kiểu trả về của các phép so sánh, toán tử, giúp người học hiểu
rõ bản chất của bool, khi nào nên sử dụng bool
- Cách kiểm tra giá trị của biến, giúp củng cố kiến thức
- Cách đảo ngược giá trị của biến
- Đưa ra một đoạn mã nguồn cụ thể về phép so sánh hơn, giúp người học nắm chắc kiến thức hơn
- Đưa ra một đoạn mã nguồn cụ thể về phép so sánh lớn hơn hoặc bằng (>=) kết hợp với toán tử điều kiện, giúp người học tư duy tốt hơn
- Đưa ra một đoạn mã nguồn kết hợp các toán tử AND, OR, giúp người học tư duy tốt hơn
- Đưa ra một đoạn mã nguồn cụ thể có biểu thức điều kiện, giúp người học củng
cố kiến thức về giá trị trả về của từng phép toán khác nhau
- Các phát biểu về các ký hiệu liên quan đến bool, giúp người học nắm vững kiến thức, tránh việc nhầm lẫn trong quá trình học
2.3.5 Phần 5 – Lệnh if else
Mục đích bài giảng
- Phần này giới thiệu về lệnh điều kiện if else trong C#
- Phân tích chương trình để làm rõ khái niệm về if else, cách thức hoạt động của lệnh, các phép so sánh (so sánh bằng, so sánh chuỗi) và các toán tử thông dụng (các toán tử logic, toán tử điều kiện) trong C#
Đại học Kinh tế Huế
Trang 30- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về lệnh điều kiện if else trong C# theo hình thức trắc nghiệm
Nội dung bài giảng
- Phần giới thiệu: Bất cứ khi nào chúng ta muốn biết nếu có điều gì là đúng hay
sai, chúng ta có thể kiểm tra bằng câu lệnh if , theo sau là một giá trị logic trong dấu
- Giải thích: b=s==6 là đúng nên b sẽ nhận giá trị true Lệnh if(b) (nghĩa là nếu b
là true) là đúng nên câu lệnh trong mệnh đề if này được thực thi
Phần trắc nghiệm
Phần trắc nghiệm của Phần 5 – Lệnh if else bao gồm 5 câu nhằm hệ thống các kiến thức sau:
- Số lượng khối lệnh if else có thể sử dụng trong một chương trình C#
- Yêu cầu của lệnh if else, giúp người học nắm vững yêu cầu cơ bản của lệnh if else trong C#
- Đưa ra một đoạn mã nguồn cụ thể về lệnh if else, giúp người học nắm vững cách thức hoạt động của lệnh if else, câu lệnh if được thực hiện khi nào, câu lệnh else được thực hiện hoặc bỏ qua khi nào
- Kết quả trả về của biểu thức logic And, giúp người học củng cố kiến thức về phép logic And
- Kết quả trả về của biểu thức logic Or, giúp người học củng cố kiến thức về phép logic Or
s
b
Đại học Kinh tế Huế
Trang 312.3.6 Phần 6 – Mảng
Mục đích bài giảng
- Phần này giới thiệu về mảng trong C#
- Phân tích chương trình để làm rõ khái niệm về mảng, cách khai báo, khởi tạo
mảng, cách truy xuất mảng, cách thức hoạt động của mảng trong C#
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về mảng trong
C# theo hình thức trắc nghiệm
Nội dung bài giảng
- Phần giới thiệu: Chúng ta có thể xác định kích thước mảng bằng thuộc tính
Đoạn mã nguồn trên giới thiệu cách xác định kích thước mảng (hay đếm số
lượng phần tử của mảng) sử dụng thuộc tính Length Người học lựa chọn 1 trong 3 đáp
án “Count”, “Size()” hay “Length” và bấm “Chạy” để biên dịch chương trình
Đại học Kinh tế Huế
Trang 32- Cách khai báo mảng, giúp người học nắm vững cú pháp khai báo cũng như các cách khai báo mảng hợp lệ trong C#
- Các phát biểu về chỉ số của mảng, giúp người học hiểu rõ về bản chất, chức năng của chỉ số của mảng
- Đưa ra một đoạn mã nguồn cụ thể về kết quả trả về của mảng, giúp người học hiểu và tư duy tốt hơn về mảng trong C#
2.3.7 Phần 7 – Chuỗi (string)
Mục đích bài giảng
- Phần này giới thiệu về chuỗi trong C#
- Phân tích chương trình để làm rõ khái niệm về chuỗi, cách khai báo chuỗi, cách truy xuất chuỗi và một số thao tác trên chuỗi (lấy độ dài chuỗi, nối chuỗi, so sánh bằng, sao chép chuỗi, chèn chuỗi)
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về chuỗi trong C# theo hình thức trắc nghiệm
Nội dung bài giảng
- Phần giới thiệu: Chúng ta sử dụng cú pháp <tên chuỗi>[chỉ_số] để truy xuất một ký tự trong chuỗi tại vị trí chỉ_số trong chuỗi chỉ_số có giá trị từ 0 đến (size – 1)
Trang 33- Cách tạo ra một biến c có kiểu dữ liệu char, giúp người học củng cố kiến thức
về cách khai báo biến trong C#
- Cách lấy độ dài chuỗi, giúp người học nắm vững các thuộc tính của chuỗi trong C#
- Đưa ra một đoạn mã nguồn cụ thể về cách chèn chuỗi, nối chuỗi, giúp người học nắm vững các hàm chuỗi trong C#
2.3.8 Phần 8 – Hàm
Mục đích bài giảng
- Phần này giới thiệu về các hàm, phương thức trong C#
- Phân tích chương trình để làm rõ hàm Write, định nghĩa phương thức, mục đích
sử dụng hàm, kết quả trả về của hàm và cách truyền giá trị cho hàm trong C#
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về hàm trong C# theo hình thức trắc nghiệm
Nội dung bài giảng
- Phần giới thiệu: Một phương thức là một nhóm lệnh cùng nhau thực hiện một
tác vụ System.Console.Write() là một phương thức được dùng khá thường xuyên
- Mã nguồn:
Đại học Kinh tế Huế
Trang 34static void Main( string [] args)
{
string st = "Sử dụng hàm in dữ liệu" ; Console.Write(st);
}
Đoạn mã nguồn trên giới thiệu hàm Write của lớp System.Console Người học
chỉ cần bấm “Chạy” để biên dịch chương trình
- Phần này giới thiệu khái quát về các dạng vòng lặp cơ bản trong C#
- Phân tích chương trình để làm rõ vòng lặp while, do while, for, vòng lặp lồng nhau và biến điều khiển trong C#
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về vòng lặp trong C# theo hình thức trắc nghiệm
Nội dung bài học
Đại học Kinh tế Huế
Trang 35- Phần giới thiệu: Vòng lặp do while làm việc trong cùng một cách thức, ngoại
trừ các khối lệnh được thực hiện ít nhất một lần trước khi điều kiện được kiểm tra
Đoạn mã nguồn trên giới thiệu cách hoạt động của vòng lặp do while trong C#
Người học chỉ cần bấm “Chạy” để biên dịch chương trình
- Kết quả: 6
- Giải thích: Chương trình sẽ thực hiện vòng lặp 1 lần vì biểu thức điều kiện
(dem<5) là false Vòng lặp do while thực sự rất hữu ích trong một số trường hợp
Trang 36- Phần này giới thiệu khái quát về kiểu cấu trúc (structure) trong C#
- Phân tích chương trình để làm rõ khái niệm cấu trúc (struct), cách tạo một struct
cơ bản, cách truy xuất struct, phép gán trong struct, mảng kiểu struct và struct lồng nhau trong C#
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về struct trong C# theo hình thức trắc nghiệm
Nội dung bài giảng
- Phần giới thiệu: Trong C#, một cấu trúc (structure) là một kiểu dữ liệu Nó giúp bạn tạo một biến đơn mà giữ dữ liệu liên quan của các kiểu dữ liệu đa dạng Sử dụng
từ khóa struct để tạo một cấu trúc
Đoạn mã nguồn trên giới thiệu một cấu trúc ToaDo Người học chỉ cần bấm
“Chạy” để biên dịch chương trình
- Giải thích: Chương trình vừa tạo một kiểu dữ liệu mới ToaDo, nó cũng tương
tự như các kiểu bình thường (int, string, float, …) Các cấu trúc được khai báo trong
class Program và ngoài các hàm Dễ thấy rằng khai báo một cấu trúc chỉ như một cái
“khuôn” (không được cấp phát bộ nhớ)
Trang 37- Các phát biểu về khai báo struct trong C#
- Các phát biểu về đặc điểm struct trong C#
- Cách truy xuất thành phần của struct, giúp người học nắm vững toán tử truy xuất struct (toán tử dấu chấm)
- Cách khai báo struct, giúp người học củng cố kiến thức về cú pháp, cách khai báo một struct hợp lệ
2.3.11 Phần 11: Kiểu liệt kê
Mục đích bài giảng
- Phần này giới thiệu khái quát về kiểu liệt kê (enumeration) trong C#
- Phân tích chương trình để làm rõ khái niệm kiểu liệt kê (enum), cách khai báo enum, nhập liệu số và chuỗi kiểu enum, lệnh lựa chọn switch case trong C#
- Xây dựng bài “Trắc nghiệm vui” để kiểm tra kiến thức lý thuyết về enum trong C# theo hình thức trắc nghiệm
Nội dung bài giảng
- Phần giới thiệu: Kiểu liệt kê (enumeration) là một tập những hằng số nguyên
được đặt tên Cú pháp khai báo: enum identifier[:base-type] { enumeration_list };
Trong đó:
base-type: là kiểu dữ liệu của mỗi thành phần (mặc định là int)
enumeration_list: sử dụng dấu phẩy để phân cách các định danh
o Định danh đầu tiên được gán giá trị 0, sau đó tăng lên 1 cho định danh sau
o Có thể xác định giá trị cho các định danh này
static void Main( string [] args)
Trang 38Đoạn mã nguồn trên giới thiệu khái niệm enum trong C# Người học chỉ cần bấm “Chạy” để biên dịch chương trình
- Giải thích: Chúng ta có thể tạo ra một kiểu liệt kê với từ khóa enum Không có vấn đề gì nếu chúng ta tạo ra một lớp (class), một cấu trúc (struct) hoặc một liệt kê (enum) với cú pháp như nhau
- Cách phân cách các định danh của enum trong C#
- Các phát biểu về đặc điểm của enum, giúp người học nắm vững kiến thức cơ bản về đặc điểm của enum trong C#
- Cách khai báo enum, giúp người học củng cố kiến thức về cú pháp khai báo cũng như các cách khai báo một enum hợp lệ trong C#
- Đưa ra các phát biểu về lệnh lựa chọn switch case trong C#
Như vậy, trong chương này, khóa luận đã trình bày được mục tiêu và nguyên tắc thiết kế bài giảng điện tử, kết cấu loạt bài giảng và nội dung một số bài giảng ngôn ngữ lập trình C# dành cho người mới bắt đầu Loạt bài giảng đã được thiết kế một cách đơn giản, dễ hiểu, nội dung ngắn gọn, súc tích, tính tương tác, trực quan cao
Đại học Kinh tế Huế
Trang 39CHƯƠ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
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
Website dạy ngôn ngữ lập trình C# dành cho người mới bắt đầu là 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ị
Website được thiết kế đảm bảo các yêu cầu sau:
- Website giới thiệu, cung cấp đầy đủ và đúng đắn các kiến thức cơ bản về ngôn
ngữ lập trình C# đã được thiết kế ở chương 2
- Các kiến thức được trình bày trực quan, sinh động sao cho học sinh, sinh viên,
những người mới bắt đầu học dễ dàng thao tác và nắm bắt được kiến thức
- Cung cấp cho học sinh, sinh viên, những người mới bắt đầu học một lượng kiến
thức đầy đủ, đa dạng từ cơ bản đến nâng cao
- Có các câu hỏi tổng hợp kiến thức giúp củng cố và đánh giá được kiến thức của
học sinh, sinh viên, những người mới bắt đầu học
- Thiết kế một website dạy ngôn ngữ lập trình C# theo hướng tương tác, vui vẻ
nhằm tăng hứng thú của học sinh, sinh viên, những người mới bắt đầu học đối với môn
học
- Thiết kế một website dạy ngôn ngữ lập trình C# có giao diện thân thiện với
người dùng Website cần chạy mượt và ổn định, tốc độ tải trang nhanh và tính an toàn,
Trang 40Đầu tiên, người dùng truy cập địa chỉ http://daycsharp.somee.com/ để vào website Trang chủ web hiển thị trình chiếu (slide) ảnh giới thiệu và hướng dẫn các bước thao tác, các điều khiển trên website, giúp người dùng nhanh chóng nắm bắt được cách hoạt động của website
Website hỗ trợ người dùng đăng ký, đăng nhập tài khoản Người dùng cần đăng
ký một tài khoản mới; một người dùng có thể đăng ký nhiều tài khoản khác nhau
Website cần lưu giữ thông tin tài khoản người dùng thông qua: mã tài khoản, tên tài
khoản, mật khẩu, email Sau khi đã đăng ký tài khoản thành công, người dùng có thể
đăng nhập ngay vào website để học (Website vẫn hiển thị đầy đủ nội dung và chức năng khi người dùng đã hoặc chưa đăng nhập tài khoản)
Website tổ chức các bài học theo từng phần Mỗi phần gồm nhiều bài học và tập trung giải quyết một nội dung cụ thể về ngôn ngữ lập trình C# Cấu trúc bài giảng đã
được trình bày ở mục 2.2 Kết cấu loạt bài giảng ở chương 2 Người dùng có thể học
các bài học theo thứ tự từ trên xuống để nắm bắt kiến thức đầy đủ và xuyên suốt hơn Hoặc có thể lựa chọn bài học không theo một thứ tự, quy tắc nào Điều này giúp người học chủ động, linh hoạt hơn trong quá trình học
Cuối mỗi phần là một bài “Trắc nghiệm vui” gồm nhiều câu hỏi lý thuyết theo hình thức trắc nghiệm Người dùng trả lời các câu hỏi để ghi điểm Mỗi câu trả lời đúng được cộng 1 điểm, trả lời sai không có điểm Điểm số này được website lưu tự
động vào “bảng thành tích”, bao gồm các thông tin: điểm test 1 (điểm bài “trắc nghiệm vui” phần C# cơ bản), điểm test 2 (điểm bài “trắc nghiệm vui” phần Biến), điểm test 3 (điểm bài “trắc nghiệm vui” phần Kiểu logic), điểm test 4 (điểm bài “trắc nghiệm vui” phần Lệnh if else), điểm test 5 (điểm bài “trắc nghiệm vui” phần Mảng), điểm test 6 (điểm bài “trắc nghiệm vui” phần Chuỗi), điểm test 7 (điểm bài “trắc nghiệm vui” phần Hàm), điểm test 8 (điểm bài “trắc nghiệm vui” phần Vòng lặp), điểm test 9 (điểm bài “trắc nghiệm vui” phần Cấu trúc), điểm test 10 (điểm bài “trắc nghiệm vui” phần Kiểu liệt kê) Tuy nhiên, điểm số này chỉ được cập nhật khi người dùng đã đăng nhập tài khoản thành công Người dùng có thể làm lại “trắc nghiệm vui” nhiều
lần để nâng cao điểm số Website sẽ cập nhật điểm số cao nhất sau mỗi lần học
Đại học Kinh tế Huế