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

Kỹ thuật lập trình 2019 – 2020

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

Nhóm Thời gian Địa điểm
TH1905, TH1906  Thứ ba (từ 03/02/2020 – 16/05/2020), Tiết 07-09, 12g45 – 15g15 Phòng B44
TH1901, TH1902 Thứ ba (từ 03/02/2020 – 16/05/2020), Tiết 10-12, 15g30 – 18g00 Phòng B44

 

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

 

Liên lạc:

 

Nội dung

  • Đề cương: 

 

  • 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ứ ba, 04/02/2020 Phát biểu bài toán Giới thiệu
Chương 1
2 Thứ ba, 11/02/2020 Bài tập Chương 1
3 Thứ ba, 18/02/2020 Ước lượng độ phức tạp thời gian của thuật toán 1 Chương 2
4 Thứ ba, 25/02/2020 Ước lượng độ phức tạp thời gian của thuật toán 2 Chương 2
5 Thứ ba, 03/03/2020 Kỹ thuật giá trị lính canh, Kỹ thuật đặt biến cờ Chương 3
6 Thứ ba, 10/03/2020 Kỹ thuật đánh dấu trạng thái, Kỹ thuật mảng đếm Chương 4
7 Thứ ba, 17/03/2020 Kỹ thuật tìm kiếm, Kỹ thuật sắp xếp Chương 5
8, 9

Thứ ba, 24/03/2020

Thứ ba, 31/03/2020

Kỹ thuật xử chuỗi  Chương 6
10 Thứ ba, 07/04/2020 Kỹ thuật đề quy Chương 7
11 Thứ ba, 14/04/2020 Kỹ thuật đóng gói Chương 8
12 Thứ ba, 21/04/2020 Kỹ thuật Composition, thừa kế và đa hình Chương 9
13 Thứ ba, 28/04/2020 Ôn tập  
14 Thứ ba, 05/05/2020 Ôn tập  
15 Thứ ba, 12/05/2020 Kiểm tra