Lập trình nâng cao
HTTT 4243
3 tín chỉ, 45 tiết
Cập nhật ngày 10 tháng 11 năm 2017
Mô tả môn học
Lập trình nâng cao tiếp nối những nội dung của hai môn học Cơ sở lập trình và Lập trình Hướng đối tượng. Môn học này tập trung vào kỹ thuật lập trình Windows Form để tạo ra các ứng dụng với giao diện người dùng thân thiện. Thông qua việc xây dựng các phần mềm ứng dụng, môn học cung cấp một cách có hệ thống các khái niệm và công cụ của lập trình Windows Form như : giao diện người sử dụng, Form, hệ thống các điều khiển (Control), thuộc tính của các điều khiển (Property), sự kiện (Event), mô hình lập trình MVC (Model-View-Control), cách điều khiển sự tương tác giữa các Form, kiểm tra hợp lệ dữ liệu, gắn kết dữ liệu (Data Binding),...
Môn học này sử dụng ngôn ngữ lập trình C# và phần mềm Visual Studio Community 2017. Mã nguồn các ứng dụng được quản lý thông qua chương trình Quản lý phiên bản mã nguồn GitHub Classroom.
Học phần này được giảng dạy theo phương pháp chủ động. Sinh viên được chia theo nhóm hai sinh viên để thay nhau làm các bài tập và bài thi cuối khoá. Phần mềm trong bài thi cuối khoá là tự chọn và phải có sự đồng ý của giáo viên giảng dạy. Sinh viên sẽ chủ động nghiên cứu các tài liệu được cung cấp (hoặc tự tìm các tài liệu giấy / trên mạng) và áp dụng các kiến thức thu lượm được để lập trình các phần mềm trong bài tập và bài thi. Vai trò của giáo viên là hướng dẫn các kiến thức cơ bản, các phương pháp, cách thức xây dựng chương trình Windows Form, cung cấp những tài liệu cần thiết cho sinh viên, giải đáp các thắc mắc và kiểm tra tiến độ.
Nội dung môn học
Các kiến thức và kỹ năng của kỹ thuật lập trình Windows Form sẽ được truyền đạt thông qua việc xây dựng 4 ứng dụng mẫu sau:
1. Hello World
Ứng dụng đơn giản luôn được lập trình khi học bất kỳ một ngôn ngữ lập trình nào. Ứng dụng này được dùng để mô phỏng các bước lập trình Windows Form, các thành phần cơ bản của một chương trình Windows Form.
2. Calculator
Chương trình này nhằm tạo ra một máy tính bỏ túi, tương tự chương trình Calculator của hệ điều hành Windows.
Thông qua chương trình này, sinh viên học được các kiến thức sau:
- Điều khiển (Control) và cách đặt tên tiền tố các Control
- Các điều khiển cơ bản: Button, Label, TextBox
- Thuộc tính của các điều khiển (Property)
- Sự kiện (Event)
- Cách thức tạo giao diện người dùng bằng tính năng kéo thả
- Layout (Anchor và Dock)
- Thứ tự tab (Tab Order)
Làm và nộp bài tập tại Assignment Calculator
3. Sở thú Sài gòn
Đây là một ứng dụng vui để quản lý các con thú trong một sở thú. Qua chương trình này, sinh viên học được các kiến thức sau:
- Các điều khiển: MenuStrip, ListBox, ToolTip, ImageList, Timer, TableLayoutPanel
- Tính năng Drag Drop
- Đọc và ghi dữ liệu tập tin văn bản
Làm và nộp bài tập tại Assignment Sở thú Sài gòn
4. Photo Tool
Photo Tool là chương trình cho phép quản lý, xem, chỉnh sửa thông số, vẽ ảnh, quản lý album ảnh. Qua chương trình này, sinh viên học được các kiến thức sau:
- Form SDI và MDI
- GDI+
- Các điều khiển: Menu, Context Menu, Toolbar, Status bar, ImageList, Dialogbox, Progress bar, Numeric Up Down, Panel Control, Group Box,...
- Splash Screen
- Kỹ thuật tạo User Control
- Cách lưu trữ thông số của ứng dụng
Tài liệu tham khảo: Erik Brown, Windows Form in Action, second edition, Manning, 2006. (PDF)
Làm và nộp bài tập tại Assignment Photo Tool
Các tài liệu cho hai chủ đề lý thuyết của môn học:
Chủ đề 1 - Quản lý phiên bản mã nguồn
Thực hành (GitHub Campus Advisors)
Tham khảo :
Chủ đề 2 - Lập trình Windows Form
Tham khảo :
1. Đọc tài liệu về các Control - Demo các Control
2. Đọc mục 5.4.11 Hướng dẫn đặt tên Control
3. Đọc một số quy tắc hữu ích khi thiết kế Form (Mục II)
Phương pháp đánh giá
Kết quả học tập được đánh giá dựa vào các bài tập và bài thi cuối khóa với các trọng số như sau :
- Bài tập (Điểm quá trình) : 40 %
- Bài thi cuối khoá : 60 %
Làm và nộp Đề tài kết thúc học phần tại Assignment Đề tài kết thúc học phần.
Tất cả các bài tập và bài thi cuối khoá của môn học này là bài làm nhóm (hai sinh viên) phải được nộp thông qua GitHub Classroom Lập trình nâng cao và tuân theo những Quy định nộp bài tập.
Bên cạnh đó, hình thức điểm thưởng / phạt sẽ được áp dụng để đánh giá chuẩn bị bài, trả lời câu hỏi tại lớp. Cứ mỗi 10 điểm thưởng / phạt, sinh viên sẽ được cộng / bị trừ 1 điểm vào điểm quá trình (40 %). Điểm danh chuyên cần sẽ trở thành điểm trừ và cũng trừ vào điểm quá trình (40%) với cách quy đổi là vắng 1 buổi lý thuyết không có lý do rõ ràng trừ 1 điểm.
GitHub Classroom
GitHub Classroom là công cụ miễn phí cho phép tổ chức, quản lý các bài thực hành, bài tập cho các lớp học. Giáo viên sẽ ra đề bài thực hành, bài tập; sinh viên sẽ tham gia vào làm bài và nộp bài thông qua công cụ này.
GitHub Classroom dành cho môn học này là Classroom Lập trình nâng cao. Để tham gia vào Classroom này, bạn chỉ cần bấm một trong các liên kết bài tập dưới đây, rồi bấm nút Accept the assignment. Bạn sẽ nhận được email mời tham gia vào Classroom Lập trình nâng cao và một kho mới trên GitHub để bạn làm và nộp bài tập đó.
Việc làm, lưu và nộp bài là theo quy trình của GitHub. Do đó, bạn nên đọc kỹ hướng dẫn của GitHub hoặc đọc bài viết Lập trình "an tâm" cùng anh GitHub và xem video dưới đây:
Liên kết GitHub Classroom cho các bài tập trong học phần này:
Mỗi bài tập trên đều có thời hạn nộp bài. Xem thời hạn nộp bài tại Lịch học của lớp.
Tài liệu tham khảo
Các tài liệu tham khảo được sử dụng trong suốt khóa học là :
1. Sách về ngôn ngữ lập trình C# và nền tảng .NET :
- Dương Quang Thiện, Lập trình Visual C# thế nào ? - Tập 3 : Lập trình giao diện người dùng theo C#, Nhà xuất bản Tổng hợp TP.HCM, năm 2005.
- Dương Quang Thiện, Lập trình Visual C# thế nào ? - Tập 7 : Sổ tay kỹ thuật lập trình, Nhà xuất bản Tổng hợp TP.HCM, năm 2005.
- Phạm Công Ngô, Lập trình C# - Từ cơ bản đến nâng cao, Nhà xuất bản Giáo dục, năm 1999. (Thư viện)
- Nguyễn Ngọc Bình Phương & Thái Thanh Phong, Các giải pháp lập trình C#, Nhà xuất bản Giao thông Vận tải, năm 2006. (PDF)
- Andrew Troelsen, Pro C# 2010 and the .NET 4 Platform, fifth edition, Apress, 2010. (PDF)
- Erik Brown, Windows Form in Action, second edition, Manning, 2006. (PDF)
3. Các playlist trên Youtube :
- Playlist của thầy Nguyễn Đình Hoa Cương
- iTV2Vietnam, Học lập trình C#
- Lập trình trực quan của Nguyễn Thanh Tâm
- Playlist của anhdiepmmk
- Nguyễn Tuấn Anh - Chương trình đấu trường 100
- Nguyễn Tuấn Anh - Chương trình quản lý sinh viên
- Playlist Học lập trình
4. Trang blog, web :
- Dạy C Sharp
- MSDN
- C# Việt Nam
- Lập trình trực quan của Nguyễn Thanh Tâm
- Blog của Tuan Anh
- hoclaptrinhweb.com
- IT_Soft, Bộ video lập trình C# từ Console đến Windows Form
Thảo luận
Bạn có ý kiến hay muốn thảo luận liên quan đến nội dung môn học này, thì bạn có thể truy cập vào trang web của nhóm mail (mail group) Lập trình nâng cao hoặc gởi email đến địa chỉ email của nhóm mail này : ltnc_hce@googlegroups.com.
Nhóm mail này yêu cầu đăng ký để có thể tham gia, đọc bài và viết phản hồi. Bạn cần có một tài khoản của Google (tài khoản email của Gmail) để đăng ký.
Bạn có thể đăng ký bằng một trong hai cách sau :
- Truy cập vào trang web của nhóm mail Lập trình nâng cao, đăng nhập bằng tài khoản Google của bạn, bấm vào link Đăng ký thành viên, nhập thông tin của bạn (Họ tên, ngày sinh, địa chỉ, nghề nghiệp), rồi bấm nút Áp dụng để tham gia nhóm này.
- Sử dụng địa chỉ Gmail của bạn để tạo một email với tiêu đề Đăng ký nhóm Lập trình nâng cao, nội dung là thông tin của bạn (Họ tên, ngày sinh, địa chỉ, nghề nghiệp), rồi gởi đến email lvman@hce.edu.vn.
Các yêu cầu đăng ký sẽ được hồi đáp không quá 24h.
Sau khi kết thúc khoá học hoặc bạn không muốn nhận các email từ nhóm mail nữa thì bạn thực hiện bỏ đăng ký nhóm như sau : Trong màn hình của nhóm mail, bấm nút Cài đặt của tôi, chọn mục Rời khỏi nhóm này trong danh mục xổ xuống.