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

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

    Các chủ đề dự kiến

  • Kĩ năng lập trình
  • Cài đặt thuật toán và cấu trúc dữ liệu
  • Unit testing
  • Thư viện Java
  • Lập trình đa luồng
  • Ứng dụng GUI
  • Ứng dụng web

    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.
  • 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)

    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).