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.

Source code

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

Slide

Thực hành (GitHub Campus Advisors)

Tham khảo :

1. Ben Lynn, Git Magic

2. Trang chủ Github

3. Trang trợ giúp của Github

Chủ đề 2 - Lập trình Windows Form

Slide

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:

  1. Calculator
  2. Sở thú Sài gòn
  3. Photo Tool
  4. Đề tài kết thúc học phần
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 :

4. Trang blog, web :

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 :

  1. 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.
  2. 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.