Đại học Ngoại ngữ - Tin học TP. Hồ Chí MinhKHOA CÔNG NGHỆ THÔNG TIN

Học phần: Kỹ thuật lập trình

Thời gian/địa điểm:

Nhóm Thời gian Địa điểm
TH1802 Thứ hai (từ 18/2/2019), 12g45 – 5g45 Phòng B22
TH1804 Thứ hai (từ 18/2/2019), 12g45 – 5g45 Phòng B22

 

Giảng viên: Tôn Quang Toại

 

Liên lạc:

 

Nội dung

  • Mô tả nội dung học phần: Nội dung của học phần "kỹ thuật lập trình" sẽ tập trung vào các kỹ thuật được sử dụng trong quá trình giải quyết một bài toán tin học cơ bản trên máy tính. Nội dung cụ thể gồm 4 phần: Phần thứ nhất sẽ trình bày các cách biểu diễn dữ liệu cơ bản cho bài toán, như: biểu diễn dữ liệu đơn, danh sách, bảng dữ liệu, chuỗi (string), lớp (class). Phần thứ hai sẽ trình bày một số kỹ thuật lập trình cơ bản, như: sắp xếp, tìm kiếm, đặt biến cờ, giá trị lính canh, vòng lặp không xác định, mảng đánh dấu trạng thái, prefix sums, sliding window, two pointers, robot di chuyển trên lưới, đệ quy, xử lý chuỗi. Phần thứ ba sẽ trình bày cách tổ chức chương trình theo ba nguyên lý lập trình hướng đối tượng: đóng gói, thừa kế, đa hình. Phần thứ tư sẽ cung cấp một số chuẩn mực trong quá trình viết code (coding standards) và kỹ thuật debug chương trình. Sau khi hoàn thành môn học này, sinh viên sẽ được trang bị nền tảng vững chắc ban đầu về lập trình, từ đó sinh viên có thể tự học thêm những kỹ thuật lập trình nâng cao khác, cũng như tạo cơ sở để sinh viên có thể tiếp thu tốt các học phần khác.

 

  • Môn học trước: Nhập môn lập trình

 

  • Giáo trình:
  1. Guide to Competitive Programming, Antti Laaksonen, Springer, 2018
  2. The C# Player's Guide, RB Whitaker, Starbound Software, 2015

 

  • Tài liệu tham khảo:
  1. Giáo trình lập trình cơ sở, TS. Lê Đắc Nhường, TS. Nguyễn Gia Như, NXB Xây dựng, 2018

 

Kiểm tra:

  • Quá trình (20%)
  • Giữa kỳ (30%): làm bài thực hành tại phòng máy
  • Cuối kỳ (50%): làm bài tự luận

 

Bài tập thực hành

Lịch học:

STT

Ngày Nội dung

Slides

1 Thứ hai, 18/02/2019 Phát biểu bài toán Giới thiệu
Chương 1
2 Thứ hai, 25/02/2019 Bài tập  
3 Thứ hai, 04/03/2019 Ước lượng độ phức tạp thời gian của thuật toán 1 Chương 2
4 Thứ hai, 11/3/2019 Ước lượng độ phức tạp thời gian của thuật toán 2  
5 Thứ hai, 18/3/2019 Kỹ thuật giá trị lính canh, Kỹ thuật đặt biến cờ Chương 3
6 Thứ hai, 25/3/2019 Kỹ thuật đánh dấu trạng thái, Kỹ thuật mảng đếm Chương 4
7 Thứ hai, 1/4/2019 Kỹ thuật tìm kiếm, Kỹ thuật sắp xếp Chương 5
8, 9 Thứ hai,  Kỹ thuật xử chuỗi  Chương 6
10 Thứ hai,  Kỹ thuật đề quy Chương 7
11 Thứ hai,  Kỹ thuật đóng gói Chương 8
12 Thứ hai,  Kỹ thuật Composition, thừa kế và đa hình Chương 9
13 Thứ hai,  Ôn tập  
14 Thứ hai,  Ôn tập  
15 Thứ hai,  Kiểm tra