Skip to main content

Cơ sở dữ liệu và giải thuật

Enrollment in this course is by invitation only

Cơ sở dữ liệu và giải thuật

Xin chào các bạn!

Trong thế giới thực sẽ có 3 loại định dạng dữ liệu phổ biến là dữ liệu có cấu trúc, phi cấu trúc và bán cấu trúc. Đối với mỗi loại định dạng dữ liệu sẽ có cách lưu trữ và quản lý khác nhau, ví dụ như dữ liệu có cấu trúc sẽ có các DBMS để quản lý và lưu trữ, dữ liệu phi cấu trúc và bán cấu trúc thường sẽ được lưu dưới dạng tệp, ... Trong môn học này, các bạn sẽ được học về cách quản lý và lưu trữ định dạng dữ liệu có cấu trúc bằng một DBMS rất phổ biến là MySQL. Đồng thời để có thể sử dụng dữ liệu một cách hiệu quả thì bạn cần hiểu về cấu trúc dữ liệu và các thuật toán áp dụng trên dữ liệu đó. Cấu trúc dữ liệu có thể được xem như là 1 phương pháp lưu trữ dữ liệu trong máy tính nhằm sử dụng một cách có hiệu quả các dữ liệu này. Và để sử dụng các dữ liệu một cách hiệu quả thì cần phải có các thuật toán áp dụng trên các dữ liệu đó. Do vậy, cấu trúc dữ liệu và giải thuật là 2 yếu tố không thể tách rời và có những liên quan chặt chẽ với nhau. Việc lựa chọn một cấu trúc dữ liệu có thể sẽ ảnh hưởng lớn tới việc lựa chọn áp dụng giải thuật nào.

Phần đầu của môn học các bạn sẽ được giới thiệu những khái niệm cơ bản nhất như khái niệm cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, ngôn ngữ truy vấn dữ liệu. Ngoài ra các bạn cũng sẽ bước đầu được tiếp xúc với cách viết các câu truy vấn cơ bản trong MySQL.

Tiếp đó, trong phần hai các bạn sẽ được học về các kiểu dữ liệu phổ biến trong MySQL, đặc biệt trong phần này các bạn sẽ được học về các kiểu lệnh JOIN để thực hiện truy vấn kết hợp trên nhiều bảng.

Trong phần 3, các bạn sẽ được học về khái niệm giải thuật cơ bản như giải thuật tham lam, giải thuật chia để trị, quy hoạch động, ... đồng thời bạn cũng sẽ vận dụng các giải thuật ấy để giải quyết các bài toán đề bài đưa ra.

Trong phần 4, các bạn sẽ tìm hiểu về các khái niệm cơ bản trong cấu trúc dữ liệu là mảng, danh sách liên kết và ngăn xếp, hàng đợi.

Phần cuối cùng cũng là phần đặc biệt trong môn học này, được thiết kế để dạy cho bạn các kỹ thuật toán học quan trọng được sử dụng trong lập trình cơ chế trò chơi máy tính và hình ảnh.

Chúc các bạn học tốt!


MỤC TIÊU MÔN HỌC

Sau khi học xong môn này, học viên sẽ đạt được các chuẩn kiến thức, kỹ năng đầu ra như sau:

  • Hiểu về các khái niệm cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu, ngôn ngữ truy vấn.
  • Hiểu và biết cách sử dụng thành thạo các lệnh truy vấn dữ liệu.
  • Nắm được các giải thuật cơ bản.
  • Hiểu về cấu trúc dữ liệu tuyến tính cơ bản.
  • Nắm được cách xác định tạo độ, góc trong trò chơi.
  • Hiểu về component Transform của Unity


TRẢI NGHIỆM HỌC TẬP

Để bắt đầu, các bạn nên dành một vài phút khám phá môn học và cấu trúc chung. Môn học sẽ có 5 phần, gồm 20 bài học. Mỗi bài sẽ có một (hoặc vài) đoạn video yêu cầu học viên phải xem kỹ, một hoặc vài bài đọc thêm phải đọc kỹ và trả lời quiz. Sau mỗi phần, học viên sẽ được yêu cầu viết luận và thảo luận trực tiếp với Mentor. Để việc học tập được hiệu quả, hãy luôn trau dồi kiến thức, không ngừng học hỏi, nghiên cứu và lập cho mình một kế hoạch học tập hợp lý để hoàn thành khóa học một cách xuất sắc.

Trong thời gian học (dự kiến là 6 tuần), việc phân bổ tuần học là rất quan trọng. Nếu các bạn có bất cứ câu hỏi nào hãy kết nối với Mentor để được giải đáp.


CẤU TRÚC MÔN HỌC

Phần 1: Cơ bản về cơ sở dữ liệu và ngôn ngữ truy vấn dữ liệu SQL.

  • Bài 1: Tổng quan về cơ sở dữ liệu và ngôn ngữ truy vấn SQL
  • Bài 2: Tạo một cơ sở dữ liệu và thao tác với bảng
  • Bài 3: CURD
  • Bài 4: Các hàm làm việc với dữ liệu chuỗi
  • Bài 5: Toán tử logic

Phần 2: Kiểu dữ liệu trong MySQL và truy vấn kết hợp nhiều bảng

  • Bài 6: Tinh chỉnh mệnh đề SELECT
  • Bài 7: GROUP BY và các hàm tổng hợp (Aggregate Function)
  • Bài 8: Các kiểu dữ liệu phổ biến trong MySQL
  • Assignment 1 - Truy vấn dữ liệu nhân sự

Phần 3: Cơ bản về giải thuật

  • Bài 9: Tổng quan về giải thuật
  • Bài 10: Giải thuật tham lam
  • Bài 11: Giải thuật chia để trị
  • Bài 12: Giải thuật quy hoạch động
  • Bài 13: Các giải thuật sắp xếp cơ bản
  • Assignment 2 - Sắp xếp, tìm kiếm cơ bản

Phần 4: Cấu trúc dữ liệu tuyến tính cơ bản

  • Bài 14: Mảng và danh sách liên kết
  • Bài 15: Ngăn xếp và hàng đợi

Phần 5: Toán trong lập trình trò chơi

  • Bài 16: Giới thiệu về lập trình game
  • Bài 17: Tọa độ
  • Bài 18: Vector
  • Bài 19: Sự va chạm
  • Bài 20: Affine Transformation
  • Assignment 3 - Kiểm tra va chạm

CHUYÊN GIA THIẾT KẾ MÔN HỌC

THIẾT KẾ MÔN HỌC: Th.S Nguyễn Hải Nam


NGUỒN HỌC LIỆU

Trong thời đại hiện nay, mỗi môn học đều có nhiều nguồn tài liệu liên quan kể cả sách in và online, FUNiX Way không quy định một nguồn học liệu cụ thể mà khuyến cáo để học viên chọn được nguồn phù hợp nhất cho mình. Trong quá trình học từ nhiều nguồn khác nhau theo lựa chọn cá nhân đó, khi sinh viên phát sinh câu hỏi thì sẽ được kết nối nhanh nhất với mentor để được giải đáp. Toàn bộ phần đánh giá bao gồm các câu hỏi trắc nghiệm, bài tập, dự án và thi vấn đáp do FUNiX thiết kế, xây dựng và thực hiện.

Các môn học của FUNiX không quy định bắt buộc tài liệu học tập, sinh viên có thể chủ động tìm và học từ bất kỳ nguồn nào phù hợp, kể cả sách in hay nguồn học liệu online (MOOC) hay các website. Việc sử dụng các nguồn đó do học viên chịu trách nhiệm và đảm bảo tuân thủ các chính sách của chủ sở hữu nguồn, trừ trường hợp họ có sự hợp tác chính thức với FUNiX. Nếu cần hỗ trợ, học viên có thể liên hệ phòng đào tạo FUNiX để được hướng dẫn.

Dưới đây là một số nguồn học liệu của môn học mà học viên có thể tham khảo sử dụng. Việc liệt kê nguồn dưới đây không nhất thiết hàm ý rằng FUNiX có sự hợp tác chính thức với chủ sở hữu của nguồn: Coursera, tutorialspoint, edX Training, or Udemy.


KÊNH PHẢN HỒI

FUNiX sẵn sàng đón nhận và trao đổi về mọi ý kiến góp ý, phản hồi liên quan đến học liệu qua email program@funix.edu.vn