Nghề lập trình (nói chung) đang dành được sự yêu thích và lựa chọn của rất nhiều các bạn trẻ đam mê công nghệ.
Từ lập trình phần mềm, lập trình Front End, lập trình Back End, lập trình ứng dụng điện thoại….. cho đến lập trình nhúng, hay gần đây nhất là AI (trí tuệ nhân tạo) đang cực kỳ phát triển, với rất nhiều những khóa học từ online cho tới các trung tâm đào tạo offline.
Có một câu hỏi mà nhiều bạn trẻ vẫn luôn thắc mắc đó là, học lập trình thì có cần phải giỏi toán hay không? Vâng, nếu như bạn cũng đang đi tìm câu trả lời thì đây, hôm nay chúng ta sẽ cùng nhau làm việc này nhé 🙂
Mục Lục Nội Dung
#1. Thuật toán là gì?
Có tý liên quan đến cụm từ Toán học 🙂
Một thuật ngữ, một khái niệm thường gặp nhất khi nhắc tới lập trình đó chính là THUẬT TOÁN.
Lúc đầu nghe qua thì có vẻ nó sẽ liên quan nhiều đến Toán học. Nhưng điều này chỉ đúng một phần thôi, bởi thực chất thuật toán (hay còn gọi là giải thuật) là cách để giải quyết vấn đề đặt ra bằng phương pháp lập trình.
Hay nói cách khác, đơn giản hơn thì thuật toán là một trình tự các bước để giải quyết một vấn đề nào đó.
Một ví dụ cho các bạn dễ hiểu, lấy ví dụ về thuật toán trong đời sống đi. Khi bạn nấu cơm chẳng hạn, thì quy trình các bước sẽ là: Lấy gạo => cho vào nồi => vo gạo => cắm điện => chín cơm.
=> Vâng, đó chính là thuật toán đấy ạ, chứ không có gì quá cao siêu khó hiểu đâu 🙂
Một ví dụ khác: Làm cách nào để một thiết bị nhận biết được màu đen và màu đỏ?
Lúc này, thuật toán được đưa ra là giá trị X (đỏ) sẽ bao gồm những đặc tính vật lý về màu đỏ mà cảm biến thu được, giá trị Y (đen) sẽ xác định khi X không thỏa mãn bất kì một đặc tính màu (đỏ) nào.
Khi hoàn tất, chúng ta sẽ có một hệ thống xác định chỉ 2 màu đỏ/đen như sau: Cảm biến thu nhận màu sắc, phân tích và so sánh với những điều kiện hiện có, nếu không giống nhau => hệ thống sẽ cho ra vật thể trước cảm biến là màu đen.
#2. Ứng dụng môn Toán học trong lập trình
Chúng ta cần phải hiểu rằng, máy tính không tự động xác định bất kỳ điều gì cả, những thứ mà nó hiển thị (cho chúng ta thấy) đều là từ những thứ mà chúng ta đã lập trình sẵn ra cho nó, nó chỉ thực hiện theo các hàm, lệnh và công thức… Nghe có vẻ hơi khó hiểu đúng không ạ 🙂
Khi bạn di chuyển con trỏ chuột trên màn hình máy tính, bản thân máy tính không hề biết vị trí con trỏ chuột ở đâu trên màn hình để hiển thị. Vậy nên các lập trình viên phải sử dụng những công thức, tọa độ để xác định vị trí => để máy tính hiểu và hiển thị cho chúng ta thấy => đó chính là toán.
Hay đơn giản là khả năng đếm ký tự trong Word, máy tính chẳng thể nào biết được có bao nhiêu ký tự và ký tự tiếp theo được tính như thế nào. Các nhà lập trình đã gán giá trị, hàm và cách tính toán ký tự để máy tính hiểu và hiển thị cho chúng ta => đó chính là toán.
Một ví dụ nữa là cửa sổ phần mềm, khi thu nhỏ hay phóng to, tại sao chúng lại thu nhỏ đúng chỗ và phóng to vừa màn hình như vậy? Bạn đã bao giờ thắc mắc như vậy chưa?
Vâng, các lập trình viên đã thiết kế một công thức để máy tính hiểu và biết được độ phân giải, kích thước của màn để đạt được kết quả như mong muốn => đó chính là toán.
………
#3. Toán là điều kiện cần để học lập trình
Như trong các ví dụ bên trên thì chúng ta có thể thấy, gần như những tác vụ đơn giản nhất cũng đều cần tới Toán học.
Từ việc phóng to/ thu nhỏ cửa sổ ứng dụng => phải có công thức rõ ràng để xác định kích thước màn hình, cho đến những việc đơn giản nhất như di chuột => cũng cần phải có những công thức hay phép toán để máy tính biết được con trỏ chuột đang ở đâu, tọa độ nào và hiển thị ra màn hình…….
Những thao tác này đều liên quan đến những công thức toán học, hình học, hình học không gian, hay những phép toán đại số thông thường để đưa ra một giá trị nhất định.
Vậy nên là khó, thậm chí rất khó để có thể làm được nếu không biết những công thức hay phép tính toán học này. Không phải tự nhiên mà Toán học luôn được xem là môn học cơ bản trong mọi lĩnh vực đâu các bạn.
#4. Vậy tóm lại thì học lập trình có cần giỏi Toán?
Qua những gì mình vừa phân tích bên trên thì rõ ràng toán học là rất cần thiết trong lập trình.
Tuy nhiên, bạn không cần phải quá giỏi Toán thì mới học lập trình được, biết căn bản là được. Giỏi toán thì có thể không cần nhưng chắc chắn rằng bạn phải biết cơ bản về Toán học, phải hiểu được những thứ cơ bản nhất.
Chương trình Toán phổ thông là một ví dụ !
Để từ đó bạn có thể tìm ra những phương pháp, những cách thức cụ thể để áp dụng vào lập trình => như vậy mới đạt được yêu cầu mà phần mềm đề ra.
Đọc tới đây nhiều bạn sẽ nghĩ, vậy mình không thể học lập trình được rồi, vì không vững Toán cho lắm (một điều mà không ít bạn gặp phải). Tuy nhiên, có một thứ đó chính sự đam mê, đam mê đủ mạnh sẽ thay đổi cách bạn tiếp cận với Toán học.
Có thể trước đây bạn không thích môn Toán, thậm chí là sợ môn Toán, bạn cho rằng mình không phù hợp với Toán học => có thể đúng là như vậy, nhưng đã bao giờ bạn đã thử thay đổi cách tiếp cận chưa?
Nhiều khi là do bạn học sai phương pháp, hoặc do một yếu tố nào đó, ví dụ như giáo viên dạy chán chết, bạn chưa tìm được sự hứng thú với môn Toán. Vậy bạn hãy thay đổi cách học đi !
Mình lấy ví dụ môn Lịch sử, đâu phải do môn Lịch sử không hay đâu, vậy tại sao trong giờ Lịch sử học sinh lại thờ ơ và buồn ngủ như thế?
Nó là do cách truyền tải của giáo viên thôi, còn thực tế thì bạn có thể lên Youtube mà xem, những video về Lịch sử Việt Nam được rất nhiều bạn trẻ quan tâm. Video triệu view là bình thường, vậy chứng tỏ môn Lịch sử đâu có chán như vậy !
Lập trình và toán cũng vậy thôi, không có quá nhiều sự khác biệt.
Lập trình xưa nay chưa bao giờ là thiếu toán, bởi từ những ngày đầu tiên, khởi nguồn của máy tính đã là các dãy nhị phân 0 và 1 rồi.
Vậy nên nếu đã có ý định theo nghiệp lập trình thì hãy cố gắng nắm tốt kiến thức Toán học phổ thông nha các bạn, có thể không cần giỏi nhưng chắc chắn phải nắm vững những kiến thức cơ bản nhất.
Công nghệ thông tin là tương lai của thế giới và lập trình sẽ vẫn là vua của các loại nghề trong ít nhất vài chục năm nữa, nên hãy chuẩn bị ngay từ bây giờ khi còn trên ghế nhà trường các bạn nhé.
Đừng quên chia sẻ bài viết này nếu bạn thấy nó hữu ích, chúc các bạn thành công !
Đọc thêm:
- 5 thái độ của một lập trình viên thành công
- 5 yếu tố để trở thành một lập trình viên toàn diện hơn
- Tại sao lập trình viên nên học cấu trúc dữ liệu và giải thuật?
- Chia sẻ với bạn 5 bí kíp để trở thành một lập trình viên “cứng”
CTV: Lê Đinh Hoàng Vũ – Blogchiasekienthuc.com
Edit by Kiên Nguyễn