Giới thiệu

Với sự phát triển nhanh chóng của ngành Công nghệ Thông tin trong những năm gần đây, nhu cầu nhân sự trong ngành này tăng mạnh ở cả quy mô thế giới lẫn Việt Nam. Học lập trình không còn là một lựa chọn xa lạ với nhiều thanh niên Việt Nam nữa. Càng ngày càng có nhiều bạn trẻ muốn tìm đến với công việc lập trình, bắt đầu bằng việc tham gia vào các trường đào tạo chính quy, các trung tâm dạy lập trình, hoặc tự học.

Với hàng chục năm làm việc trong ngành Công nghệ Thông tin và trực tiếp tham gia vào công việc đào tạo lập trình viên, chúng tôi nhận ra rằng các bạn trẻ gặp rất nhiều khó khăn trong những thời điểm đầu tiên tiếp xúc với công việc này. Có rất nhiều rào cản khiến cho việc học lập trình trở nên khó khăn hơn, có thể kể đến như do chương trình đào tạo được thiết kế không tốt, giáo trình khó hiểu, chương trình không sát với thực tế, giáo trình không giúp người học xây dựng được kiến thức một cách bài bản và vững vàng. Bên cạnh đó, mặc dù có rất nhiều sách dạy lập trình bằng tiếng Anh rất tốt, nhưng nhiều người lại không sử dụng được tiếng Anh. Đó là những thiệt thòi và khó khăn mà những bạn trẻ đang muốn tìm đến ngành nghề lập trình đang gặp phải hiện nay.

Với mục tiêu giúp những người mới bắt đầu học lập trình được thuận lợi hơn, đội ngũ Giảng viên của Hệ thống Đào tạo Lập trình Hiện đại CodeGym đã biên soạn nên cuốn cẩm nang này và gửi đến các bạn. Cuốn sách này dành cho những người bắt đầu từ con số 0 và mong muốn phát triển năng lực lập trình trong thời gian nhanh nhất. Cuốn cẩm nang được thiết kế một cách khoa học để giúp người học tự xây dựng năng lực của mình thông qua từng hoạt động một. Không có quá nhiều thuật toán phức tạp, nhanh chóng làm ra được các sản phẩm để chứng minh sự tiến bộ của người học, sử dụng ngôn ngữ lập trình Javascript với độ tương tác cao là những đặc điểm nổi bật của cuốn cẩm nang này.

Cuốn cẩm nang này bao gồm 8 chương, lần lượt đề cập đến các khái niệm nền tảng trong lập trình. Tuy nhiên, nội dung của các chương không hoàn toàn được trình bày một cách tuyến tính, mà được tổ chức theo lối tích hợp. Nghĩa là một khái niệm có thể được trình bày trải đều qua nhiều chương khác nhau, giúp cho người học có cơ hội cọ xát nhiều lần, lặp đi lặp lại các thao tác thực hành, giúp xây dựng được một nền tảng hiểu biết và kỹ năng bền vững.

Bố cục của mỗi chương bao gồm các hạng mục:

  • Mục tiêu: Là nơi định nghĩa rõ ràng và dễ hiểu về những kiến thức và kỹ năng mà người học sẽ xây dựng được ở mỗi chương. Khi nắm được các mục tiêu của chương thì có nghĩa là người học sẽ chủ động trong việc tự trả lời các câu hỏi và tự xây dựng được năng lực của mình hướng đến các mục tiêu đó.
  • Giới thiệu: Là nơi trình bày ngắn gọn về từng khái niệm quan trọng được đề cập đến trong mỗi chương. Phần này nhằm giúp người học trả lời được câu hỏi WHAT (tôi đang học cái gì), và WHY (thấy được sự liên quan giữa những khái niệm mình sẽ học với các ứng dụng trong thực tế).
  • Khái niệm: Là phần thân của mỗi chương, trình bày các khái niệm quan trọng nhất liên quan đến chủ đề của chương đó. Mỗi khái niệm được trình bày theo hướng đi từ khái niệm tổng quát đến các ví dụ cụ thể, giúp cho người học dễ hình dung và dần dần xây dựng được hiểu biết vững chắc về từng khái niệm.
  • Bài thực hành: Đây là nội dung được thiết kế theo hướng “cầm tay chỉ việc”, có các hướng dẫn từng bước một giúp cho người học dễ bắt đầu áp dụng các kiến thức vào trong các tình huống cụ thể. Các bài thực hành được thiết kế theo hướng tăng dần về độ khó và quy mô. Kết thúc phần Bài thực hành, người học có thể bắt tay vào tự thực hiện các bài tập để nâng cao kỹ năng của mình.
  • Bài kiểm tra: Đây là mục giúp người học tự đánh giá lại được kiến thức của mình sau khi đã hoàn thành được một chương. Đáp án của các câu hỏi được đặt ở phần cuối của bài kiểm tra, giúp người học tự chấm điểm được. Nếu có những khái niệm nào mà mình trả lời chưa đúng thì người học nên quay trở lại phần trước đó để đọc kỹ hơn.
  • Tổng kết: Là nơi giúp người học rát soát nhanh những kiến thức mà mình đã học được. Phần tổng kết này đã được chúng tôi viết sẵn với nội dung khá ngắn gọn. Nhưng chúng tôi vẫn khuyên người học nên tự viết lại phần tổng kết của riêng mình với mức độ chi tiết hơn, và với cách hiểu của mình. Việc ghi chép này sẽ giúp ích được rất nhiều cho người học trong việc ghi nhớ các khái niệm.

Các bạn đừng quyên, có thêm rất nhiều tài nguyên phục vụ cho việc học lập trình được chia sẻ tại website của CodeGym và tại kho GitHub của CodeGym.

Mặc dù đội ngũ Giảng viên chúng tôi đã nỗ lực trong việc hoàn thiện cuốn sách này với tiêu chí dễ hiểu, khoa học và hiệu quả dành cho người mới bắt đầu, tuy nhiên khó để tránh khỏi các sai sót trong quá trình biên soạn. Vì vậy, chúng tôi rất mong nhận được các ý kiến phản hồi và đóng góp của mọi người thông qua email info@codegym.vn.

Cảm ơn và chúc các bạn sớm hoàn thành được cẩm nang này.



    Nội dung

    Chương 1 – Nhập môn lập trình
    1. Mục tiêu
    2. Giới thiệu
    3. Máy tính hoạt động như thế nào?
    4. Phần mềm được tạo ra như thế nào?
    5. Ngôn ngữ lập trình
    6. Quy trình tạo ra một phần mềm
    7. Các vai trò trong lập trình
    8. Thuật toán
    9. Mô tả thuật toán bằng mã giả
    10. Mô tả thuật toán bằng lưu đồ
    11. Một số cấu trúc thường gặp trong thuật toán
    12. Một ứng dụng JavaScript đơn giản
    13. Cài đặt công cụ lập trình
    14. Bài thực hành
    15. Bài tập
    16. Bài kiểm tra
    17. Tổng kết
    Chương 2 – Biến, kiểu dữ liệu và toán tử 37
    1. Mục tiêu
    2. Giới thiệu
    3. Biến
    4. Kiểu dữ liệu
    5. Phép toán toán học
    6. Phép toán logic
    7. Phép toán so sánh
    8. Đọc dữ liệu từ bên ngoài
    9. Hiển thị dữ liệu
    10. Bài thực hành
    11. Bài tập
    12. Bài kiểm tra
    13. Tổng kết
    Chương 3 – Câu lệnh điều kiện
    1. Mục tiêu
    2. Giới thiệu
    3. Cấu trúc điều kiện
    4. Cấu trúc điều kiện if-else
    5. Cấu trúc điều kiện if-else lồng nhau
    6. Cấu trúc điều kiện if-else bậc thang
    7. Cấu trúc điều kiện switch-case
    8. Bài thực hành
    9. Bài tập
    10. Bài kiểm tra
    11. Tổng kết
    Chương 4 – Câu lệnh lặp
    1. Mục tiêu
    2. Giới thiệu
    3. Câu lệnh lặp
    4. Câu lệnh lặp while
    5. Câu lệnh lặp do-while
    6. Câu lệnh lặp for
    7. Câu lệnh lặp lồng nhau
    8. Câu lệnh break
    9. Câu lệnh continue
    10. Bài thực hành
    11. Bài tập
    12. Bài kiểm tra
    13. Tổng kết
    Chương 5 – Mảng
    1. Mục tiêu
    2. Giới thiệu
    3. Mảng
    4. Duyệt qua các phần tử của mảng
    5. Mảng nhiều chiều
    6. Các giải thuật với mảng
    7. Bài thực hành
    8. Bài tập
    9. Bài kiểm tra
    10. Tổng kết
    Chương 6 – Hàm 127
    1. Mục tiêu
    2. Giới thiệu
    3. Hàm
    4. Giá trị trả về của hàm
    5. Tham số của hàm
    6. Phạm vi của biến
    7. Hàm đệ quy
    8. Bài thực hành
    9. Bài tập
    10. Bài kiểm tra
    11. Tổng kết
    Chương 7 – Thuật toán tìm kiếm
    1. Mục tiêu
    2. Giới thiệu
    3. Tìm kiếm tuyến tính
    4. Tìm kiếm nhị phân
    5. Độ phức tạp của thuật toán
    6. Bài thực hành
    7. Bài tập
    8. Bài kiểm tra
    9. Tổng kết
    Chương 8 – Thuật toán sắp xếp
    1. Mục tiêu
    2. Giới thiệu
    3. Thuật toán sắp xếp nổi bọt
    4. Thuật toán sắp xếp chèn
    5. Thuật toán sắp xếp chọn
    6. Bài thực hành
    7. Bài tập
    8. Bài kiểm tra
    9. Tổng kết
    Phụ lục: Tài nguyên lập trình




      Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.