BIG-O GREEN: ELEMENTARY ALGORITHMS

(NHẬP MÔN THUẬT TOÁN)

Bạn muốn học lập trình một cách bài bản ngay từ đầu, để làm nền tảng phát triển nghề nghiệp sau này? Bạn đã học lập trình nhưng vẫn còn mơ hồ và cần hệ thống lại toàn bộ kiến thức? Bạn muốn thành thạo vững chắc một ngôn ngữ lập trình để làm nền tảng cho việc học Thuật Toán sau này?

Khóa học Big-O Green: Introduction to Programming and Problem-Solving sẽ phù hợp với bạn, giúp bạn lần đầu làm quen với các bài toán lập trình, bạn cũng sẽ được làm quen với hệ thống chấm bài tự động, một trong những phương pháp giảng dạy lập trình tiên tiến nhất của những quốc gia phát triển.

Ngôn ngữ minh họa: 3 ngôn ngữ được sử dụng rộng rãi nhất hiện nay C++, Python và Java.

Học phí khóa học: Ưu đãi đặc biệt cho 5 bạn đăng ký học sớm. Chi tiết trong link đính kèm đăng ký bên dưới.

Chúng tôi có chương trình hỗ trợ đóng học phí nhiều lần cho các bạn Học Sinh, Sinh Viên các bạn vui lòng liên hệ qua Email: admin@bigocoding.com để được cung cấp thông tin.

Bạn có thể xem thời gian khai giảng, lịch học cụ thể và đăng ký tại đây

ĐỐI TƯỢNG HỌC PHÙ HỢP

  • Tiên quyết: Học viên không cần biết kiến thức về lập trình, cần có máy tính cá nhân để học.

  • Tùy chọn: Đã học Nhập môn lập trình & Kỹ thuật lập trình nhưng vẫn còn mơ hồ. Hoặc chưa học qua 2 môn học này cũng có thể tham dự.

  • Nếu bạn chưa thuộc đối tượng học phù hợp của lớp học Big-O Green này vui lòng gọi cho chúng tôi qua số điện thoại: 0937.401.483 để được tư vấn học các lớp sẽ mở tiếp theo trong thời gian tới.

BÀI TẬP MINH HỌA KHÓA HỌC

  • Bài tập minh họa bằng Tiếng Việt nhưng sẽ có thêm những bài bằng Tiếng Anh để học viên làm quen các bài tập Thuật Toán sau này.
  • Các bài tập đều được đưa lên hệ thống chấm bài của Big-O học viên có thể làm bài bất cứ đâu, bất cứ khi nào đều có kết quả chấm bài ngay lập tức.
  • Trích từ các bài tập kinh điển trong các môn học lập trình của các trường đại học MIT, Stanford…
  • Trích từ những kỳ thi nổi tiếng như ACM-ICPCOlympic Tin Học (dạng câu đơn giản).

THỜI GIAN VÀ ĐỊA ĐIỂM HỌC

  • Thời gian: 2 tháng (8 tuần)
  • Lịch học: Tuần học 2 buổi các buổi tối trong tuần từ 18:30 – 21:00, tùy lịch lớp sẽ có buổi học cụ thể. 
  • Hình thức học: Offline và online.
  • Học offline tại: Tòa Nhà Jabes 1, Số 244 Cống Quỳnh, phường Phạm Ngũ Lão, Quận 1, Hồ Chí Minh.
  • Học online qua: Zoom.
  • Số lượng học viên mỗi lớp: Tối đa 25  đến 30 học viên.
  • Mỗi lớp có 1 Giảng Viên chính và 5 trợ giảng.
  • Đặc biệt có giờ Office Hours (giờ học phụ đạo) hàng tuần cho học viên ôn lại bài học nếu không theo kịp tiến độ bài học.

SỰ KHÁC BIỆT CỦA CÁC KHÓA HỌC TẠI BIG-O CODING

1. CHƯƠNG TRÌNH GIẢNG DẠY:

  • Được giảng dạy bởi chuyên gia về Thuật Toán với nhiều năm kinh nghiệm (xem thêm phần “đội ngũ giảng dạy“).
  • Làm việc trên các hệ thống chấm bài nổi tiếng trên thế giới Codeforces, Hackerrank, Hackerearth, SPOJ…
  • Được gặp gỡ và trao đổi với những bạn thành công đi trước chia sẻ kinh nghiệm học tập Thuật Toán và kinh nghiệm làm việc.
  • Mỗi lớp học ngoài Giảng Viên chính đều có 5 trợ giảng: Trợ giảng phụ trách tại lớp và trợ giảng phụ trách diễn đàn riêng của lớp đảm bảo mọi thắc mắc của học viên sẽ được trả lời nhanh chóng mọi lúc mọi nơi.
  • Có diễn đàn môn học dành riêng cho lớp, các câu hỏi sẽ được giải đáp chậm nhất trong vòng 30 phút đến 1 giờ.

2. MỤC TIÊU ĐẠT ĐƯỢC SAU KHÓA HỌC:

  • Hệ thống lại toàn bộ kiến thức Lập Trình nền tảng vững chắc.
  • Giúp bạn có được kiến thức đầy đủ 2 môn học trên Trường là Nhập Môn Lập Trình và Kỹ Thuật Lập Trình.
  • Chuẩn bị đầy đủ kiến thức để bắt đầu cho việc học Thuật Toán và Công Nghệ sau này.
  • Có thể tham dự kỳ thi Olympic Tin Học vòng trường, các khối Cao Đẳng, Không Chuyên.
  • Có thể tham dự kỳ thi online của các trang website nổi tiếng thế giới dành cho các bạn Div 3, Div 2 như Codeforces, Codechef.

 

ĐỀ CƯƠNG CHI TIẾT KHÓA HỌC GREEN

Tìm hiểu khái niệm cơ bản về lập trình. Giới thiệu cấu trúc một chương trình cơ bản, các kiểu dữ liệu và các phép toán số học, luận lý. Làm quen với hệ thống máy chấm bài.

Viết một chương trình cơ bản:

  • Nhập xuất dữ liệu từ màn hình.
  • Thực hiện một số phép toán số học cơ bản.
  • Giới thiệu cấu trúc điều kiện, rẽ nhánh: khái niệm và các lưu ý.

    Giải quyết các bài toán thực tế:

  • Kiểm tra 1 năm có phải là năm nhuận hay không.
  • Tính tiền điện hàng tháng theo mức sử dụng.
  • Giới thiệu cấu trúc vòng lặp: khái niệm, phân loại và các kỹ thuật xử lí với vòng lặp.

    Giải quyết các bài toán thực tế:

  • Tính số gạch cần để lát sàn nhà.
  • Tính sức chứa của một chuyến tàu điện.
  • Tìm hiểu về chương trình con: Khái niệm, cấu trúc, công dụng.

    Giới thiệu về biến cục bộ, biến toàn cục.

    Giới thiệu về cách chia file chương trình.

    Cài đặt 1 số hàm cơ bản thường hay dùng:

  • Kiểm tra số nguyên tố.
  • Tìm ước chung lớn nhất của 2 số nguyên.
  • Tìm hiểu về kiểu dữ liệu mảng, mảng 1 chiều: khái niệm, cách truy xuất phần tử, các kỹ thuật xử lí trên mảng 1 chiều.

    Giới thiệu phương pháp kiểm tra lỗi sai chương trình, tìm lỗi nhanh

    Giới thiệu các phương pháp tính toán và tiếp cận nhanh bài toán

    Giải quyết 1 số bài toán thực tế:

  • Giải quyết bài toán mua hàng trái cây trong siêu thị.
  • Quản lí mã số của các nhân viên trong công ty.
  • Kiểm tra bài post nào có nhiều lượt like nhất.
  • Tìm hiểu về mảng 2 chiều và nhiều chiều: khái niệm, cách truy xuất phần tử mảng, các kĩ thuật xử lí trên mảng 2 chiều

    Giải quyết 1 số bài toán thực tế:

  • Chơi cờ vua.
  • Đếm số lượt like của 1 album ảnh trên mạng xã hội.
  • Tìm hiểu về chuỗi và kiểu kí tự: khái niệm, kĩ thuật lập trình với chuỗi kí tự.

    Giới thiệu về bảng mã ASCII.

    Các bài tập ứng dụng:

  • Chuẩn hóa tên.
  • Đếm các kí tự phân biệt.
  • Kỳ thi giữa kỳ của khóa học.

    Tìm hiểu về Kỹ thuật lập trình đệ quy cơ bản: Khái niệm và phân loại, các kỹ thuật đệ quy.

    Giới thiệu cơ bản về cấu trúc dữ liệu nâng cao Stack.

    Giải quyết các bài toán kinh điển bằng đệ quy:

  • Tìm số Fibonnaci.
  • Ứng dụng chuyển đổi giữa nhị phân và thập phân.
  • Tìm hiểu về struct/class: Áp dụng struct/class để tạo ra kiểu dữ liệu mới giúp tránh nhầm lẫn và dễ quản lí chương trình.

    Giới thiệu về getters and setters trong việc truy xuất và can thiệp vào các thuộc tính trong struct/class.

    Giải quyết các bài toán thực tế:

  • Tìm kiếm và lưu trữ thông tin học sinh/nhân viên.
  • Tìm điểm xa nhất trong hệ trục tọa độ hai chiều (2D).
  • Tìm hiểu về các Thuật Toán sắp xếp kinh điển.

    Giới thiệu sơ nét và làm quen với độ phức tạp Thuật Toán.

    Giải quyết vấn đề thực tiễn:

  • Sắp xếp mã số và điểm số của một danh sách các sinh viên.
  • Tìm giải pháp giúp Vasya xây dựng tháp.
  • Giới thiệu về danh sách liên kết, lưu trữ danh sách kết đơn FIFO và LIFO, các thao tác cơ bản trên danh sách liên kết đơn.

    Pointer con trỏ: Bài học thêm cho ngôn ngữ C++.

    Giải quyết các bài toán về danh sách liên kết đơn:

  • Tìm phòng trống của khách sạn dựa trên thông tin cho trước.
  • Tìm danh sách liên kết theo chiều ngược lại (reversed linked list).
  • Ôn tập lại kiến thức học viên đã học. Với các bài toán:

  • Số Fibonacci.
  • Tìm kiếm các phần tử theo yêu cầu.
  • Tạo danh sách các node theo quy định.
  • Giới thiệu về cấu trúc dữ liệu phân cấp cây (Tree) trong lập trình: Định nghĩa, phân loại và các khái niệm cơ bản liên quan đến Tree.

    Tìm hiểu về cấu trúc dữ liệu Binary Tree (cây nhị phân), đặc biệt là Binary Search Tree (cây tìm kiếm nhị phân): các thao tác và phép duyệt trên cây tìm kiếm nhị phân.

    Giải quyết các bài toán về cây:

  • Tìm sinh viên với số điểm cao nhất.
  • Hình tượng hóa cây nhị phân theo hướng nhìn từ trên xuống.
  • Phép duyệt cây nhị phân theo cấp (level order traversal).
  • Giới thiệu cấu trúc dữ liệu đồ thị: Định nghĩa đồ thị, các dạng đồ thị, bậc của đỉnh, biểu diễn đồ thị, đẳng cấu đồ thị, đồ thị con – đồ thị bộ phận, dây chuyền, đường đi.

    Giải các bài toán cơ bản về cấu trúc dữ liệu đồ thị:

  • Tìm bậc của đỉnh trong một đồ thị vô hướng.
  • Tính tích trọng số các cạnh khuyên trong một đồ thị có hướng.
  • Kỳ thi cuối kỳ.