Lập trình C Từ cơ bản đến chuyên sâu ( kèm riêng )
Lập trình C Từ cơ bản đến chuyên sâu ( kèm riêng )
Mục tiêu của khóa học
- Học từ cơ bản đến chuyên sâu lập trình C.
- Thay đổi, nâng cấp tư duy lập trình
- Phát triển kỹ năng viết mã C chính xác và hiệu quả
- Nắm vững các cấu trúc dữ liệu và thuật toán cơ bản
- Áp dụng kiến thức vào các dự án thực tế
Thông tin giáo viên
- Giáo viên : Nguyễn Nhựt Thanh
- Giáo viên dạy lập trình C, Python, AI, ôn thi học sinh giỏi quốc gia
- Giải Tư Tin Học Trẻ Cấp Quốc Gia.
- Giải Ba Khoa Học, Kĩ Thuật Cấp Tỉnh.
- Giải Ba Cuộc Thi Tin Học Trẻ Cấp Tỉnh.
- Giải Nhì Thanh Thiếu Niên Cấp Thành Phố.
- Giải Nhất Khoa Học Kĩ Thuật Cấp Trường.
Đối tượng học viên
- Học sinh, sinh viên mất gốc lập trình.
- Học sinh, sinh viên mới bắt đầu học lập trình.
- Sinh viên ngành Công nghệ Thông tin muốn tìm hiểu sâu về C.
- Những người muốn học ngôn ngữ lập trình cơ bản trước khi chuyển sang các ngôn ngữ khác
- Lập trình viên muốn củng cố kiến thức cơ bản về ngôn ngữ C
Sự khác biệt khoá học
- 9 Lý Do nên lựa chọn Fullhouse Dev mà không phải trung tâm khác.
- 1. 100% Giáo viên đạt giải lập trình thi đấu quốc gia hoặc làm việc doanh nghiệp lớn.
- 2. Lộ trình, Slide bài giảng được biên soạn cẩn thận và chuyên sâu.
- 3. Giáo viên giảng dạy vô cùng dễ hiểu được kiểm duyệt kỹ trước khi vào lớp.
- 4. Hệ thống Website chấm tự động với 600-800 bài tập chuyên sâu có lời hướng dẫn giải.
- 5. Kèm 1:1 bất kỳ khi nào học viên cần.
- 6. Đo lường đánh giá được số bài tập làm được, số bài đúng, số bài sai, thời gian tham gia học từng bạn.
- 7. Phương pháp học châu âu Flipped Classroom, Mind Map, Mentor System.
- 8. cuộc thi định kỳ, quà tặng, nhắc nhở thúc đẩy học tập.
- 9. Chứng nhận sau khoá học.
Phương pháp giảng dạy
- Phương pháp học châu âu Flipped Classroom, Mind Map, Mentor System.
Nội dung chương trình học
Phần 1: Nhập xuất, Kiểu dữ liệu, Cấu trúc rẽ nhánh, Vòng Lặp, Hàm
Lịch sử và ứng dụng của ngôn ngữ C.
Cách cài đặt và sử dụng IDE/Compiler (Code::Blocks, Visual Studio, GCC).
Cấu trúc cơ bản của một chương trình C.
Kiểu dữ liệu cơ bản (int, float, char).
Biến và hằng số.
Phép toán và biểu thức.
Câu lệnh if, if-else, if-else if-else.
Câu lệnh switch-case.
Giới thiệu về thư viện <math.h>.
Giới thiệu về bảng mã ASCII:
Các lỗi thường gặp với điều kiện.
Giải đáp và hướng dẫn chi tiết bài tập thực hành phần 1
Phân tích và tối ưu giải pháp cho các bài toán
Vòng lặp for, while, do-while.
Sử dụng break và continue.
Bài toán cơ bản sử dụng vòng lặp.
Vòng lặp For và các biến thể
Các dạng vòng lặp for thường gặp trong lập trình
Câu lệnh break và continue trong vòng lặp
Vòng lặp While và Do-While: đặc điểm và ứng dụng
Kỹ thuật tách chữ số sử dụng vòng lặp while
Cách tạo và kiểm soát vòng lặp vô hạn
Bài tập thực hành: Vòng lặp (40 bài tập đa dạng)
Chữa bài tập về vòng lặp.
Giới thiệu về hệ đếm: Hex, Dec, Octal, Bin
"Định nghĩa, gọi hàm và khái niệm cơ bản
+ Khái niệm hàm, cách định nghĩa và gọi hàm.
+ Phân biệt biến toàn cục và biến cục bộ.
+ Áp dụng vào các bài toán đơn giản."
Chữa bài tập về hàm và lý thuyết số
"Giới thiệu về thư viện <stdlib.h>
Lý thuyết số cơ bản
+ Số nguyên tố
+ Phân tích thừa số nguyên tố
+ Số chính phương
Chữa một số bài cơ bản"
Lý thuyết số nâng cao
+ Số Fibonacci, Số Hoax, Số Palindrome, Số hoàn hảo (Perfect Number)
+ Phi hàm Euler
+ Tam giác Pascal
+ Công thức Legendre
Hướng dẫn kết hợp để viết chương trình thỏa mãn một hoặc nhiều tính chất cùng lúc"
Chữa bài tập về hàm và lý thuyết số
Khái niệm về đệ quy, cách hoạt động của stack trong đệ quy.
Các bài toán đệ quy cơ bản:
+ Tính giai thừa.
+ Tính Fibonacci.
+ Tìm ước chung lớn nhất (GCD) bằng đệ quy."
Phần 2: Mảng 1 chiều, mảng 2 chiều & Thuật Toán Sắp Xếp, Tìm Kiếm.
Khái niệm và cách khai báo mảng một chiều.
Truy cập và thao tác trên các phần tử của mảng.
Bài toán cơ bản: Tính tổng, tìm min/max.
Duyệt mảng/chuỗi sử dụng đệ quy."
Chữa bài tập về mảng một chiều
Duyệt mảng/chuỗi sử dụng đệ quy
Tổng quan về thuật toán sắp xếp.
Các thuật toán cơ bản:
+ Bubble Sort.
+ Selection Sort.
+ Insertion Sort.
Phân tích độ phức tạp (O(n^2)).
Bài tập thực hành: Viết hàm sắp xếp và ứng dụng trong bài toán thực tế.
Khái niệm, khai báo và thao tác cơ bản trên mảng hai chiều
+ Khái niệm và cách khai báo mảng hai chiều.
+ Cách truy cập và thao tác cơ bản trên các phần tử của mảng.
Áp dụng vào các bài toán đơn giản liên quan đến ma trận
Ứng dụng nâng cao và bài toán ma trận
+ Duyệt và thao tác trên đường chéo chính và đường chéo phụ.
+ Đảo ngược hàng/cột của ma trận.
+ Tính tổng các phần tử trên viền của ma trận (boundary elements).
+ Nhân hai ma trận A x B
Cải tiến từ bài Project cũ, thực hiện các yêu cầu như sắp xếp và quản lý
Chữa bài tập về mảng một chiều và mảng hai chiều
Phần 3: Con trỏ, Mảng động, Chuỗi ký tự, Struct, File, Danh sách liên kết
Khái niệm con trỏ và cách khai báo, sử dụng con trỏ cơ bản.
Nắm được mối quan hệ giữa con trỏ và mảng.
Quản lý bộ nhớ động với malloc, calloc, và free
Xử lý chuỗi bằng con trỏ (đếm ký tự, sao chép chuỗi).
Xây dựng ma trận động, thực hiện các phép toán cơ bản như cộng hai ma trận hoặc tìm phần tử lớn nhất.
Quản Lý Bộ Nhớ Động
- Khái niệm về bộ nhớ động
- Các hàm quản lý bộ nhớ động
- Quy trình Quản Lý Bộ Nhớ Động
- Lưu Ý Khi Sử Dụng Bộ Nhớ Động
Khái niệm về chuỗi trong C.
Giới thiệu về thư viện <string.h>
Các hàm thao tác cơ bản với chuỗi (strlen, strcpy, strcat, strcmp).
Thao tác với số Bignum
+ Cộng, trừ, nhân, chia hai số Bignum.
+ Kiểm tra số Bignum là số chẵn/lẻ.
+ Kiểm tra Bignum chia hết cho N (2, 3, 5, 7, 11)
Chữa bài tập về chuỗi ký tự
Cải tiến từ bài Project cũ, thực hiện các yêu cầu tách dữ liệu từ chuỗi, quản lý nhiều nhiều trường dữ liệu
Khái niệm và khai báo cấu trúc.
+ Khái niệm Struct
+ Cú pháp khai báo và sử dụng Struct
+ Truy cập các thành phần của Struct và con trỏ struct.
Struct nâng cao
+ Struct trong mảng
+ Struct lồng nhau
+ Con trỏ và Struct
Struct nâng cao , kết hợp chữa bài tập
Chữa bài tập về mảng một chiều con trỏ và Struct
Cải tiến từ bài Project cũ nhưng bây giờ sẽ sử dụng struct để lưu sản phẩm, thêm thao tác CRUD
Mở, đọc, ghi file (text và binary).
Câu lệnh thao tác với file (fopen, fclose, fread, fwrite).
Các lỗi thường gặp khi làm việc với file.
Giới thiệu về danh sách liên kết (Linked List)
+ Định nghĩa và ứng dụng.
+ So sánh với mảng (Array).
Cấu trúc của danh sách liên kết
+ Node và con trỏ.
+ Cách tổ chức dữ liệu trong danh sách liên kết.
Các thao tác cơ bản trên Danh sách liên kết đơn
+ CURD
+ In ra danh sách liên kết
+ Load test case form file
Danh sách liên kết đơn nâng cao
Chữa bài tập danh sách liên kết
Chữa bài tập về danh sách liên kết
Giới thiệu về Danh sách liên kết đôi
So sánh với Danh sách liên kết đơn
Cài đặt Stack và Queue sử dụng danh sách liên kết.
Giới thiệu về danh sách liên kết vòng.
Sự khác biệt giữa danh sách liên kết đơn/đôi và danh sách liên kết vòng.
Ứng dụng thực tế của danh sách liên kết vòng (như hệ thống tác vụ vòng, bộ định thời).
Phần 4: Ôn tập kết thúc khoá học
Cải tiến từ bài Project cũ, cho học viên đọc file sản phẩm và lưu vào chương trình và thực hiện các yêu cầu đề ra
Ôn tập toàn bộ các nội dung đã học.
Làm bài tập tổng hợp.
Thảo luận các vấn đề khó hoặc chưa rõ.
Làm bài kiểm tra cuối khóa.
Phân tích bài làm và nhận xét.
Định hướng học (Thuật toán, hệ thống nhúng, v.v.).