Review học thuật toán trên Coursera

Tháng trước mình đang định học lại thuật toán cho bài bản thì tình cờ thấy một khóa học thuật toán gồm 5 khóa nhỏ trên Coursera, được gọi là một Specialization. Một khóa nhỏ kéo dài 4 tuần, học hết 1 Specialization thì cỡ 5 tháng smile emoticon Thấy giới thiệu hay quá cái mình đăng ký học liền.
Đúng là tiền nào của nấy, lần đầu tiên trong cuộc đời biết đến greedy algorithm, divide and conquer, knapsack, dynamic programming là gì.
Một khóa mà tới 5 người thay phiên dạy, có chỗ để thảo luận và submit code luôn. Một khóa nhỏ có tất cả 20 bài tập gồm cả quiz và assignment. Mỗi tuần đều có assignment để submit code. Assignmemnt thì pass 2/5 hoặc 3/5 tùy theo tuần thì qua, cũng có deadline hẳn hoi, không nộp thì fail như thường.
Về nội dung thì bao hay, người ta dạy từ cơ bản đến nâng cao. Từ đặt vấn đề, giới thiệu giải thuật, đến tốc độ giải thuật các kiểu. Assignment lúc nào cũng có một bài cực khó cho các thanh niên “con nhà người ta”. Trong forum, anh instructor support nhiệt tình, không hiểu chỗ nào cứ hỏi, trả lời đến khi nào hiểu thì thôi.
Hiện 1 khóa là $79, nhưng Coursera cho phép xin financial aid, mấy bạn cứ submit nói em còn sinh viên, không đủ tiền là người ta học miễn phí liền, mà học nhớ pass để lấy chứng chỉ giống mình bên dưới pacman emoticon, không pass là lần sau xin financial aid nữa sẽ không được.
Quay lại vấn đề thuật toán, năm nhất mình đi học giải thuật đúng 2 buổi, một buổi lý thuyết với thi thực hành, cuối kỳ thi vừa đủ điểm qua môn smile emoticon. Hồi xưa mình nghĩ học chi ba cái sort rồi danh sách liên kết, cây chi cho mệt xác. Mấy ngôn ngữ cấp cao thì .sort() là ra, dữ liệu thì cứ bỏ vô list, vector đi, rảnh quá bỏ vô stack, queue làm gì. Giờ máy tính cũng i5, i7 hết rồi, nó xử lý như tốc độ ánh sáng, cần gì phải tối ưu thuật toán.
Nhưng đúng là tuổi trẻ bồng bột, cứ tưởng mình hơn người, đi học winform, unity, mobile app, web đồ chứ ai học chi thuật toán tốn thời gian, có ứng dụng được gì đâu. Nhưng những gì mình học đều bắt nguồn từ kiến nền tảng như thuật toán mà ra. Hơn nữa muốn sản phẩm vượt trội thì phải có điểm khác biệt.
Bây giờ ai cũng có thể tự làm một cái mạng xã hội như Facebook, Amazon, Youtube cả. Nhưng làm sao khi người dùng up một cái ảnh lên mạng xã hội là hệ thống tự nhận diện khuôn mặt, yêu cầu tag tên vào. Làm sao khi người dùng xem video hài Trấn Thành thì Youtube gợi ý hài Trường Giang, Hoài Linh mà không phải gợi ý hoạt hình siêu nhân gao. Làm sao khi mua sách Fifty Shades of Grey thì Amazon gợi ý mua nguyên cả combo 3 quyển + DVD phim. Vô vàn câu hỏi làm sao như vậy. Chỉ có thuật toán mới giải quyết được.
Mấy bạn nào có suy nghĩ giống mình năm nhất thì nên học thuật toán, OOP đồ nhiều vô để không phải học lại như mình. Còn mấy cái platform game, mobile đồ từ học cũng được, có nền tảng là học nhanh lắm. Nên học trên Coursera vừa hay lại có chứng chỉ đồ kẹp vô linkedin nhìn cho đẹp :smiley:
Link khóa học:

28 Likes

Quá tuyệt :heart_eyes:
Hè này sẽ cày thuật toán. Mà xin học sinh có được free phải không anh?

1 Like

Bạn xin cái certificate đó có khó không hay chỉ cần pass hết là có? Nếu mình bị trễ deadline thì có xin được certificate không? Thanks :smiley:

Hôm trước có học cái này, mà phần Bài tập nó không cho submit (bắt phải mua nên nản luôn :()

Bác cho em xin link forum khóa với.
EM vào phần discuss mà không thấy ai xin cả :frowning:

Có thể học free nếu là sinh viên hả anh, nếu dealine mà ko nộp thì khóa đó có học được nữa không anh

haha, chúc mừng nha, mà tiếng anh chưa ổn lắm thì nên học không ông nhỉ?

Bạn click vào cái dòng Learn more and apply là được :smile: .

1 Like

Ai xin cũng được, không nhất thiết phải học sinh.

Pass hết là được, trễ deadline phải đợi đến kỳ sau để làm.

Mình không hiểu bạn hỏi gì. Forum thảo luận thì sau khi enroll khóa học sẽ hiện lên.

Học mà không pass thì không xin được financial aid cho các khóa khác.

Tiếng Anh không ổn thì xác định ráng xem sub + tra từ điển.

Có phải canh đúng giờ học không anh nhỉ?
Hay chỉ kiểu xem lecture video lúc nào cũng được rồi pass Assignment là ok?

1 Like

Anh cho em hỏi là để tham gia khóa này, mình cần biết trước những gì không?

Ví dụ: Cần phải biết C ; C++ ; OOP ; CTDL ; POINTER ; … ?

2 Likes

Đây nè bạn :grin:

What background knowledge is necessary?
Basic knowledge of at least one programming language (C/C++, Java, Python): loops, arrays, stacks, recursion. Basic knowledge of mathematics: proof by induction, proof by contradiction.

2 Likes

Anh Khoa có thể hướng dẫn em làm sao để có thể xin phép financial aid bên Coursera không. Nghe anh giới thiệu khóa này hay, nhân lúc hè muốn củng cố kiến thức giải thuật cho chắc.

bảo lần đầu biết mấy thuật toán trên thì hơi hư cấu, bởi vì trong sách giải thuật nào cũng có cả mà. Nhưng chắc là khóa học cũng dạy nhiều cái mới lạ, để khi nào xem thử

như thế này là xin được rồi phải không anh ??

Làm sao xin thế bác . :frowning:

Hư cấu gì bạn, mình không biết thật đó.

đúng rồi, vậy là ok rồi đó

Lâu nay e học trên đó nếu học từng khóa của specialization thì miễn phí còn muốn lấy certificate thì mới phải đóng tiền.

Nếu bạn nào gặp khó trong việc trả lời để nhận được khóa học miễn phí thì có thể tham khảo câu trả lời ở đây nhé
https://scriptsvn.com/techniques/cach-tra-loi-cac-cau-hoi-de-nhan-duoc-khoa-hoc-mien-phi-cua-coursera/

2 Likes

Không biết có hiệu quả hay không, chứ thấy câu trả lời khá chuối cho 3 câu hỏi :v nhất là câu trả lời thứ 3, không ăn nhậu gì với câu hỏi :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?