9/27/2020

Lập trình hướng đối tượng | Tài liệu, cơ sở ngành CNTT


Lập trình hướng đối tượng là môn học mà ai theo công nghệ thông tin đều phải học, vì nó là nền tảng cho hầu hết các thiết kế hiện nay. Mọi thiết kế đều được mô phỏng bằng hướng đối tượng.


Tại Bách Khoa Hà Nội, các sinh viên sẽ được học lập trình hướng đối tượng (OOP) với minh họa bằng ngôn ngữ lập trình Java. Vì Java là ngôn ngữ 100% hướng đối tượng, có cấu trúc rõ ràng, dễ học và dễ tìm hiểu.

Mình chia sẻ tới mọi người một số tài liệu học OOP để mọi người tham khảo và có thể tự học : 

Ngoài ra, tất cả các bài tập lớn OOP đều có thêm một yêu cầu nữa là bản mô hình hóa về bài của mình bằng ngôn ngữ mô hình hóa thống nhất UML. 

Có một công cụ hỗ trợ mô hình hóa mà mình thích nhất ở đây là Astah, là một công cụ rất tốt, dễ sử dụng, dễ tùy chỉnh, nhìn đẹp mắt. Tuy nhiên, Astah lại mất phí. Nhưng nó lại có bản miễn phí cho sinh viên, chỉ cần có email do trường cấp là có thể sử dụng Astah hoàn toàn miễn phí. Ai chưa biết tải thì làm theo video sau nha ( còn ai không có email trường thì liên hệ mình qua fanpage bên phải để mình cho file lisence nha, vì là mấy thứ nhạy cảm nên không thể công khai) : 

9/22/2020

Toán rời rạc | Tài liệu, cơ sở ngành CNTT


Toán rời rạc là môn cơ sở ngành của hầu hết các môn có dính dáng tới máy tính, và nó là một môn cũng rất quan trọng cho các bạn nào theo ngành IT. Toán rời rạc cung cấp cho mọi người những kiến thức cơ bản về tổ hợp và lý thuyết đồ thị.

Phần tổ hợp thì khá là quen thuộc vì hầu hết mọi người đều được làm quen từ hồi học THPT. Các bài toán đề cập đến như là : bài toán đếm, bài toán liệt kê, bài toán tồn tại, nguyên lý Dirichlet, nguyên lý cực hạn. Sau đó còn có tổ hợp, chỉnh hợp, hoán vị, số Sterling, số Catalan,... Các lý thuyết tổ hợp là nền tảng cho lý thuyết tính toán, độ phức tạp, những bài toán kinh điển như P = NP, ...

Lý thuyết đồ thị là phần mới. Toán rời rạc sẽ đề cập tới khái niệm đồ thị, những loại đồ thị khác nhau, các thuật toán trên đồ thị ( DFS, BFS, Djikstra, ...) và những bài toán có thể giải trên đồ thị ( hay mô hình hóa chúng bằng đồ thị để giải quyết)...

 


Tại trường ĐH Bách Khoa Hà Nội, ngoài các sinh viên viện CNTT thì sinh viên viện Toán cũng phải học toán rời rạc, và theo mình biết thì toán rời rạc của sinh viên viện toán khó hơn một tí so với viện CNTT. Toán rời rạc của viện toán được dạy bởi các thầy/cô viện toán và toán rời rạc của viện CNTT được giảng dạy bởi các thầy/cô viện CNTT. Về phần tài liệu thì mỗi thầy/cô đều có slide khác nhau, nhưng đa số dựa trên giáo trình toán rời rạc của thầy Nguyễn Đức Nghĩa. Nhưng mình khuyên các bạn là không nên học theo giáo trình mà học theo các slide của thầy/cô, các slide của các thầy/cô đều đã được chắt lọc những kiến thức trọng tâm nhất. 

Mình chia sẻ một số tài liệu toán rời rạc để mọi người tham khảo : 

    BÀI GIẢNG - GIÁO TRÌNH (TRƯỜNG KHÁC) 

     SLIDE BÀI GIẢNG (HUST) 

Mình thì mình thích đọc bài giảng của thầy Trần Vĩnh Đức Hơn, thầy viết rất đơn giản nhưng đủ ý và dễ hiểu, tuy nhiên tài liệu của thầy về phần đồ thị nhiều hơn ( kể cả khi học thầy trên lớp thì đa số thầy cũng giảng về phần đồ thị nhiều hơn).