Khóa học với 120 bài học và 300 bài tập luyện tập sẽ cung cấp cho bạn trọn vẹn kiến thức từ cơ bản tới nâng cao của ngôn ngữ lập trình Python, các bài tập trong khóa học sẽ được chấm tự động thông qua website Hackerrank và có lời giải chi tiết cho từng bài tập.
Tập trung học lý thuyết đi đôi với thực hành : Với kinh nghiệm 3 năm hướng dẫn lập trình cho các bạn sinh viên công nghệ thông tin, mình nhận thấy các sinh viên IT hiện nay thiếu hụt đi kỹ năng lập trình (coding skill) và khả năng giải quyết bài toán. Việc học lập trình mà không đi kèm với thực hành khiến cho các sinh viên dù học đến 4 5 ngôn ngữ lập trình nhưng vẫn khó khăn khi gặp phải 1 bài toán đơn giản. Vì thế, khóa học của mình bên cạnh cung cấp đầy đủ kiến thức về lý thuyết thì mình muốn tập trung vào thực hành, giúp học viên có thể luyện tập nhiều hơn. Khóa học cung cấp tới 300 bài tập, các bài tập này bao quát hết mọi khía cạnh và các kỹ năng quan trọng của kỹ thuật lập trình, có nhiều mức độ từ dễ, trung bình tới khó.
Chấm bài tự động trên Hackerrank : Hiện nay xu hướng sử dụng các nền tảng chấm bài tự động đang được ưa chuộng vì nhiều ưu điểm : Chấm hoàn toàn tự động bằng máy, Học viên có thể luyện tập và tự chấm bài 24/24, Yêu cầu học viên phải tối ưu thuật toán.
Group hỗ trợ học viên : Việc học lập trình không thể tránh khỏi những thắc mắc, khó khăn trong quá trình học vì thế khóa học cũng có group hỗ trợ học viên khi cần giải đáp thắc mắc.
Python là ngôn ngữ dễ học, cú pháp ngắn gọn phù hợp với người mới
Python được sử dụng để phát triển phần mềm trong nhiều lĩnh vực : Trí tuệ nhân tạo, học máy, Phát triển website, Khoa học dữ liệu...
Ngôn ngữ Python là một trong những ngôn ngữ phổ biến nhất và có nhu cầu tuyển dụng lớn tại Việt Nam
Thu nhập của lập trình viên Python thuộc top cao nhất trong các ngôn ngữ
Sinh viên Công nghệ thông tin chưa có kiến thức về lập trình muốn bắt đầu học lập trình bài bản từ đầu.
Sinh viên Công nghệ thông tin đã học nhiều ngôn ngữ nhưng vẫn không có kỹ thuật lập trình vững chắc.
Các sinh viên ngành khác, người trái ngành muốn chuyển hướng sang làm lập trình.
Các bạn sinh viên muốn theo đuổi các lĩnh vực như AI, Học Máy, Dữ liệu
PHẦN 1 : KIỂU DỮ LIỆU, VÒNG LẶP, HÀM, TOÁN TỬ | ||
---|---|---|
Bài 1 : Vì sao nên học lập trình Python | Công cụ, tài liệu học Python | ||
Bài 2 : Câu lệnh print và các kiểu dữ liệu trong Python | ||
Bài 3 : Chú thích trong Python | ||
Bài 4 : Biến và Kiểu dữ liệu trong Python | Ép kiểu | ||
Bài 5 : Toán tử trong Python | ||
Bài 6 : Nhập dữ liệu từ bàn phím trong Python bằng hàm input và hàm map | ||
Bài 7 : Các hàm phổ biến trong Python (sqrt, pow, floor, factorial, gcd, sum..) | ||
Bài 8 : Cấu trúc rẽ nhánh (if else) trong Python | ||
Bài 9 : Hướng dẫn sử dụng website chấm bài Hackerrank | ||
Bài 10 : Hướng dẫn contest 0 (Làm quen Hackerrank) từ bài 1 tới bài 5 | ||
Bài 11 : Hướng dẫn contest 0 từ bài 6 tới bài 10 | ||
Bài 12 : Hướng dẫn contest 1 (Kiểu dữ liệu, Toán tử, Rẽ nhánh) từ bài 1 tới bài 5 | ||
Bài 13 : Hướng dẫn contest 1 từ bài 6 tới bài 10 | ||
Bài 14 : Hướng dẫn contest 1 từ bài 11 tới bài 15 | ||
Bài 15 : Hướng dẫn contest 1 từ bài 16 tới bài 20 | ||
Bài 16 : Hướng dẫn contest 1 từ bài 21 tới bài 25 | ||
Bài 17 : Hướng dẫn contest 1 từ bài 26 tới bài 30 | ||
Bài 18 : Hướng dẫn contest 1 từ bài 31 tới bài 35 | ||
Bài 19 : Vòng lặp For | ||
Bài 20 : Vòng lặp while và các bài toán áp dụng | ||
Bài 21 : Hướng dẫn contest 2 (Vòng lặp) từ bài 0 tới bài 5 | ||
Bài 22 : Hướng dẫn contest 2 từ bài 6 tới bài 10 | ||
Bài 23 : Hướng dẫn contest 2 từ bài 11 tới bài 15 | ||
Bài 24 : Hướng dẫn contest 2 từ bài 16 tới bài 20 | ||
Bài 25 : Hướng dẫn contest 2 từ bài 21 tới bài 25 | ||
Bài 26 : Hướng dẫn contest 2 từ bài 26 tới bài 30 | ||
Bài 27 : Hàm Trong Python | ||
Bài 28 : Tính tổng ước và đếm ước của một số nguyên | ||
Bài 29 : Kiểm tra số nguyên tố | ||
Bài 30 : Phân tích thừa số nguyên tố | ||
Bài 31 : Số chính phương | ||
Bài 32 : Ước chung lớn nhất, bội chung nhỏ nhất | ||
Bài 33 : Tổ hợp chập K của N | ||
Bài 34 : Số Fibonacci | ||
Bài 35 : Số thuận nghịch - Palindrome | ||
Bài 36 : Số hoàn hảo và định lý Euclid - Euler | ||
Bài 37 : Lý thuyết đồng dư | ||
Bài 38 : Luyện tập viết hàm | ||
Bài 39 : Hướng dẫn contest 3 (Hàm, Lý thuyết số) từ bài 1 tới bài 5 | ||
Bài 40 : Hướng dẫn contest 3 từ bài 6 tới bài 10 | ||
Bài 41 : Hướng dẫn contest 3 từ bài 11 tới bài 15 | ||
Bài 42 : Hướng dẫn contest 3 từ bài 16 tới bài 20 | ||
Bài 43 : Hướng dẫn contest 3 từ bài 21 tới bài 25 | ||
Bài 44 : Hướng dẫn contest 3 từ bài 26 tới bài 30 | ||
PHẦN 2 : KỸ THUẬT ĐỆ QUY VÀ ĐỘ PHỨC TẠP CỦA THUẬT TOÁN | ||
Bài 45 : Các hệ cơ số phổ biến trong lập trình | ||
Bài 46 : Kỹ thuật đệ quy | ||
Bài 47 : Hướng dẫn contest 4 (Đệ quy) từ bài 1 tới bài 5 | ||
Bài 48 : Hướng dẫn contest 4 từ bài 6 tới bài 10 | ||
Bài 49 : Hướng dẫn contest 4 từ bài 11 tới bài 15 | ||
Bài 50 : Hướng dẫn contest 4 từ bài 16 tới bài 20 | ||
Bài 51 : Hướng dẫn contest 4 từ bài 21 tới bài 25 | ||
Bài 52 : Độ phức tạp của thuật toán (Big O Notation) | ||
PHẦN 3 : LIST VÀ TUPLE | ||
Bài 53 : Phạm vi của biến trong Python | ||
Bài 54 : Lý thuyết về List trong Python | ||
Bài 55 : Copy list và list làm tham số cho hàm | ||
Bài 56 : List Sclicing | ||
Bài 57 : Hàm Lambda | ||
Bài 58 : List Comprehension | ||
Bài 59 : 3 Dạng toán cơ bản trên mảng 1 chiều (List) | ||
Bài 60 : Kỹ thuật mảng đánh dấu | ||
Bài 61 : Hướng dẫn contest 5 (List) từ bài 1 tới bài 5 | ||
Bài 62 : Hướng dẫn contest 5 từ bài 6 tới bài 10 | ||
Bài 63 : Hướng dẫn contest 5 từ bài 11 tới bài 15 | ||
Bài 64 : Hướng dẫn contest 5 từ bài 16 tới bài 20 | ||
Bài 65 : Hướng dẫn contest 5 từ bài 21 tới bài 25 | ||
Bài 66 : Hướng dẫn contest 5 từ bài 26 tới bài 30 | ||
Bài 67 : Mảng cộng dồn | ||
Bài 68 : Kỹ thuật cửa sổ trượt | ||
Bài 69 : Sàng số nguyên tố Eratosthenes | ||
Bài 70 : Hướng dẫn contest 6 : Sàng số nguyên tố, mảng cộng dồn | ||
Bài 71 : Unpacking trong Python | ||
Bài 72 : Tuple | ||
Bài 73 : Map và Filter | ||
PHẦN 4 : THUẬT TOÁN SẮP XẾP VÀ TÌM KIẾM | ||
Bài 74 : Hàm sắp xếp (sort) trong Python | ||
Bài 75 : Xây dựng hàm so sánh cho hàm sort bằng cmp_to_key trong functools | ||
Bài 76 : Thuật toán tìm kiếm nhị phân - Binary search | ||
Bài 77 : Các biến thể của thuật toán tìm kiếm nhị phân | ||
Bài 78 : Hướng dẫn contest 7 (Sắp xếp và tìm kiếm) từ bài 1 tới bài 5 | ||
Bài 79 : Hướng dẫn contest 7 từ bài 6 tới bài 10 | ||
Bài 80 : Hướng dẫn contest 7 từ bài 11 tới bài 15 | ||
Bài 81 : Hướng dẫn contest 7 từ bài 16 tới bài 20 | ||
PHẦN 5 : SET VÀ DICTIONARY | ||
Bài 82 : Set trong Python | ||
Bài 83 : Dictionary trong Python | ||
Bài 84 : Counter trong Collections | ||
Bài 85 : Hướng dẫn contest 8 (Set và Dictionary) từ bài 1 tới bài 5 | ||
Bài 86 : Hướng dẫn contest 8 từ bài 6 tới bài 10 | ||
Bài 87 : Hướng dẫn contest 8 từ bài 11 tới bài 15 | ||
PHẦN 6 : MẢNG 2 CHIỀU VÀ MA TRẬN | ||
Bài 88 : Lý thuyết mảng 2 chiều | ||
Bài 89 : Các định nghĩa và phép toán trên ma trận | ||
Bài 90 : Kỹ thuật duyệt các ô liên kề | ||
Bài 91 : Hướng dẫn contest 9 từ bài 1 tới bài 5 | ||
Bài 92 : Hướng dẫn contest 9 từ bài 6 tới bài 10 | ||
Bài 93 : Hướng dẫn contest 9 từ bài 11 tới bài 15 | ||
Bài 94 : Hướng dẫn contest 9 từ bài 16 tới bài 20 | ||
Bài 95 : Hướng dẫn contest 9 từ bài 21 tới bài 25 | ||
PHẦN 7 : XÂU KÝ TỰ | ||
Bài 96 : Lý thuyết về xâu ký tự | ||
Bài 97 : Dạng bài tập liên quan tới tần suất của ký tự trong xâu | ||
Bài 98 : Dạng bài tập liên quan tới từ và chuẩn hóa tên | ||
Bài 99 : Các bài toán với số nguyên lớn trong Python | ||
Bài 100 : Hướng dẫn contest 10 (Xâu ký tự) từ bài 1 tới bài 5 | ||
Bài 101 : Hướng dẫn contest 10 từ bài 6 tới bài 10 | ||
Bài 102 : Hướng dẫn contest 10 từ bài 11 tới bài 15 | ||
Bài 103 : Hướng dẫn contest 10 từ bài 16 tới bài 20 | ||
Bài 104 : Hướng dẫn contest 10 từ bài 21 tới bài 25 | ||
Bài 105 : Hướng dẫn contest 10 từ bài 26 tới bài 30 | ||
Bài 106 : Hướng dẫn contest 10 từ bài 31 tới bài 35 | ||
Bài 107 : Hướng dẫn contest 10 từ bài 36 tới bài 40 | ||
PHẦN 8 : LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG | ||
Bài 108 : Lý thuyết về lập trình hướng đối tượng và xây dựng lớp | ||
Bài 109 : Các hàm quan trọng của một lớp | ||
Bài 110 : Hướng dẫn contest 11 (Hướng đối tượng) từ bài 1 tới bài 5 | ||
Bài 111 : Hướng dẫn contest 11 từ bài 6 tới bài 10 | ||
Bài 112 : Hướng dẫn contest 11 từ bài 11 tới bài 15 | ||
Bài 113 : Hướng dẫn contest 11 từ bài 16 tới bài 20 | ||
Bài 114 : Nạp chồng toán tử cho lớp | ||
Bài 115 : Kế thừa trong Python | ||
Bài 116 : Hướng dẫn contest 11 từ bài 21 tới bài 25 | ||
Bài 117 : Hướng dẫn contest 11 từ bài 26 tới bài 30 | ||
PHẦN 9 : FILE VÀ THƯ MỤC | ||
Bài 118 : Xử lý File trong Python | ||
Bài 119 : Hướng dẫn bài tập xử lý file từ bài 1 tới bài 5 |
Bình luận