Khóa học nâng cao về lập trình Java
và cấu trúc dữ liệu + giải thuật
Thông báo: chuyển phòng học sang 207-G2
Tài liệu đọc
Giáo trình Lập trình hướng đối tượng với Java
Clean Code
Effective Java
Head First Design Patterns
Sáng 20/3, Ứng dụng web (tiếp). Chiều nghỉ
18/3 nghỉ, lùi hết các buổi thứ Sáu còn lại vào chủ nhật
11, 13/3 Kết thúc bài tập lớn, Ứng dụng web với SpringBoot+MongoDB
26, 29/2 - Predicate, Function, đa luồng với executor, Bài tập lớn
Bài giảng + Bài tập
Bài tập lớn: Cừu ăn cỏ để tích lũy năng lượng, refactor cỏ và cừu để chuyển màu ra Board
21/2 - Lambda (tiếp), S/C
Bài giảng + Bài tập
Bài tập lớn 1 (50% điểm) Bước 1, tạo cỏ.
19/2/2016 - Java 8: Biểu thức lambda
slide
Code mẫu
Bài tập
11/12, 13/12(S) Ứng dụng GUI (thầy Ngọc).
6/12(S/C) Đa luồng (thầy Ngọc)
code
27/11, 29/11(S/C) thầy Ngọc.
22/11 - Java collection và Iterator; Thư viện Java (S/C)
- Cài cấu trúc Stack generic có thể chứa dữ liệu đủ loại. Có thể bắt đầu từ cài đặt bằng danh sách liên kết
- Sửa cấu trúc Stack đã viết để nó implement interface Iterable, sao cho client có thể duyệt stack mà không quan tâm nó là dạng mảng hay danh sách liên kết.
- Cài cấu trúc hàng đợi ưu tiên với heap bằng cây nhị phân trong mảng. Xem gợi ý tại đây
Hãy viết chương trình client đọc các số nguyên từ input chuẩn, in ra top M số nhỏ nhất (lớn nhất). M là tham số dòng lệnh.
Dữ liệu chạy thử: largeW.txt, largeT.txt.
- Tìm hiểu các cấu trúc Map, HashMap trong thư viện Java. Làm bài Đếm từ
20/11 - Nghỉ
15/11 - Đệ quy - cắt nhánh sớm (S/C)
Sudoku. Bạn thử bắt chước code vẽ hình trong RandomWalk để vẽ lời giải mà bạn tìm được?
Con mã đi tuần (viết chương trình để chạy được, sau đó lắp ghép vào RandomWalk để xem quá trình mã đi tuần hoặc xem quá trình đệ quy quay lui)
13/11 - Luyện tập về đệ quy
Bài toán tám con hậu (đã có gợi ý lời giải)
Một chút GUI: lấy chương trình RandomWalk về chạy thử (cần lấy thêm các file thư viện tại đây). Sau đó sửa chiến lược Walk để (1)cứ đi 10 bước thì mới rẽ; (2)đi thành đường xoắn ốc.
6/11 - Kĩ năng lập trình + thuật toán
Chữa bài buổi trước.
Đệ quy - Chiến lược top-down
PK and interesting language - Chiến lược bottom-up so sánh với top-down.
1/11 (S/C) - Kĩ năng lập trình
Viết các chương trình dưới đây, nộp bài tại hackerearth.com Eat-Sleep-Code, Palindrome, Password
Bài nâng cao: PK and interesting language
Nộp bài:
Tất cả các bài làm đều đặt trong cùng một project, up lên repository tên ss2015 tại bitbucket.org.
Cách làm:
Mở tài khoản tại bitbucket.org (có thể đăng nhập bằng account Google)
Tạo một repository tại bitbucket.org (Create repository) với giao thức Git
Share quyền Read (Access Management) cho uet-oop
Cài git
Học dùng git để đẩy bài vào repo: mẫu
Hướng dẫn chi tiết Git (về nhà đọc sau).