Code 101: Dành cho ai muốn học lập trình

Càng ngày lập trình trở nên càng phổ biến, cũng như Word và Excel 10–15 năm trước vậy. Để thành công với nghề kỹ sư phần mềm thì cũng cần tố chất phù hợp, nhưng để hiểu và ứng dụng trong cuộc sống thì lập trình cũng không khó hơn Word và Excel. Nếu bạn biết dùng các hàm trong Excel thì có nghĩa là bạn đã lập trình rồi đấy!

Bài viết này giới thiệu một số trò chơi và website dạy tư duy lập trình. Sau đó là các đường dẫn để học Python miễn phí. Cộng đồng VISC có nhiều bạn không làm phần mềm và muốn hiểu hơn về cryptocurrency thì hiểu biết một chút về lập trình sẽ giúp các bạn thoải mái hơn khi đọc các tài liệu kỹ thuật hoặc học các khoá nâng cao.

Lập Trình Là Gì?

Nói một cách đơn giản, lập trình là quá trình viết các lệnh và thao tác để máy tính thực hiện. Nếu bạn có thể chia nhỏ bài toán thành từng bước với các thao tác chi tiết thì bạn có thể bắt đầu lập trình. Không phải lúc nào lập trình cũng là viết ngôn ngữ gần giống tiếng Anh. Những năm 1960 đến những năm 1980, nhiều nơi các nhà khoa học hay nghiên cứu sinh, kỹ sư dùng giấy đục lỗ. Bố tôi cũng vẫn còn giữ một xấp giấy giống thế này:

Ngày nay lập trình đã được bình dân hoá và có vô vàn các ngôn ngữ gần với tiếng Anh thông dụng và thậm chí là xếp các hình khối để diễn tả các bước, các thao thác cho máy tính hiểu:

Lập trình ngày nay đã rất đơn giản và dễ nhập môn hơn ngày xưa rất nhiều. Ở phần sau chúng ta sẽ xem một số trò chơi trong xu hướng gamification để dạy lập trình

Các Trò Chơi Dạy Tư Duy Lập Trình

Trò chơi đầu tiên phải nói đề là Blocky — Do Google và MIT hợp tác sản xuất để dạy tư duy lập trình cho trẻ em và người lớn mới nhập môn:

Blockly | Google Developers
Visual programming editor. Drag and drop blocks to generate executable code. Designed for developers to embed into…developers.google.com

Blocky bắt nguồn từ dự án Scratch của MIT nhưng Scratch thì cần Flash, còn Blocky thì không. Tôi khuyến khích các bạn dùng Blocky vì nó hiện đại hơn.

Trò chơi thứ hai là Human Resource Machine:

Tomorrow Corporation : Human Resource Machine
Tomorrow Corporation is an independent game developer behind indie games Little Inferno and Human Resource Machinetomorrowcorporation.com

Trò chơi rất thú vị và ngộ nghĩnh. Bạn có thể học lập trình trên phone và chơi qua các phần của trò chơi. Cảm ơn bạn Nguyễn Lan Chi đã giới thiệu.

Sau khi làm quen với các trò chơi rèn luyện tư duy lập trình, bạn có thể học một ngôn ngữ lập trình rất hot hiện nay: Python.

Vì Sao Chọn Python?

Ngày nay, số ngôn ngữ lập trình đã lên tới hàng trăm. Theo một thống kê không đầy đủ trên Wikipedia, bạn có thể thấy hơn 700 ngôn ngữ lập trình: https://en.wikipedia.org/wiki/List_of_programming_languages . Theo thống kê của IEEE, Python nằm trong top 10 ngôn ngữ lập trình phổ biến nhất, và năm 2017 Python leo lên vị trí quán quân: https://spectrum.ieee.org/computing/software/the-2017-top-programming-languages

Python cũng rất dễ học và ứng dụng trong nhiều lĩnh vực: Web, desktop, server, công cụ cho quản trị mạng, dạy học, trí tuệ nhân tạo, xử lý ảnh, game, … Bởi vậy tôi chọn Python để giới thiệu với các bạn trong bài viết này.

Các Công Cụ và Tài Liệu Học Python Miễn Phí

Để học một ngôn ngữ lập trình hiệu quả, bạn cần có những công cụ hỗ trợ. Sau đây là trang Learn Python dành cho newbie:

Learn Python – Free Interactive Python Tutorial
LearnPython.org is a free interactive Python tutorial for people who want to learn Python, fast.www.learnpython.org

Bạn có thể chạy trực tiếp trên browser mà chưa phải cài đặt gì. Để hiểu sâu hơn về các vòng lặp, cấu trúc điều kiện, bạn có thể sử dụng công cụ diễn giải Python Tutor:

Python Tutor – Visualize Python, Java, JavaScript, TypeScript, Ruby, C, and C++ code execution
Using this tool, you can write Python 2, Python 3, Java, JavaScript, TypeScript, Ruby, C, and C++ code in your web…pythontutor.com

Sau khi nắm vững các phần cơ bản, bạn có thể tự học các khoá học miễn phí trên Coursera:

Python Courses | Coursera
Learn Python online from 164 Python courses from top institutions like University of Michigan and University of Toronto…www.coursera.org

Hoặc đọc một số tài liệu như Python Crash Course:

Python Crash Course | No Starch Press
“It has been interesting to see, over the last few years, No Starch Press, which produces this book, growing and…www.nostarch.com

Hay là cuốn sách miễn phí “Python rất là cơ bản” dành cho dân lập trình học Python của bạn Võ Duy Tuấn:

Download sách “Python rất là cơ bản”
Hiện nay, Python là một trong những ngôn ngữ lập trình đang được chú ý bởi tính đa dạng về ứng dụng, thư viện phong ph…bloghoctap.com

Tôi cũng rất khuyến khích đọc thêm cuốn “The Hitchhiker’s Guide to Python!” (hoàn toàn miễn phí):

The Hitchhiker’s Guide to Python! – The Hitchhiker’s Guide to Python
This handcrafted guide exists to provide both novice and expert Python developers a best practice handbook to the…docs.python-guide.org

Khi học Python, bạn nên dùng Jupyter Notebook để có thể chạy Python trên browser và sửa code & chạy ngay mà không phải dùng terminal/console nhằm có trải nghiệm tốt nhất. Để cho đơn giản, bạn nên cài đặt luôn trọn gói Anaconda có chứa Jupyter và các thư viện Python phổ biến nhất.

Chúc các bạn học lập trình vui vẻ, tự tin và hiệu quả!

Bài viết của anh Lê Quốc Việt trên medium.com