Contents
Chào bạn, bài viết này dành cho các bạn mới bắt đầu học lập trình về cách luyện tập code hằng ngày. Trong bài, mình ví dụ với ngôn ngữ Swift và bạn có thể áp dụng tương tự với ngôn ngữ khác.
Câu chuyện
Hiện tại, trong cuộc cánh mạng 4.0 thì ngành Công Nghệ Thông Tin nỗi lên rất nhiều. Nhiều bậc phụ huynh định hướng con cái thi vào các trường CNTT. Tuy nhiên, nếu con đường của bạn hoàn toàn đơn giản, từ khi bắt đầu học CNTT và ra trường làm CNTT. Nhưng lại …
Cuộc đời không như là mơ.
Ngay cả những bạn được học hành chính quy thì số lượng bạn tốt nghiệp ra trường mà code được thì cũng chiếm 30%. Và cũng bên cạnh nhu cầu cao của thị trường, thì nhiều bạn học các ngành khác cũng chuyển hướng sang CNTT.
Và câu chuyện cũng không như là mơ.
Con đường được lựa chọn là nhiều bạn vào các công ty CNTT để làm thực tập sinh. Hi vọng học hành nhanh và có 1 việc làm sau đó. Lúc bắt đầu, hầu hết các bạn đều 100% đều khí thế ngút trời. Nhưng sự thật là rụng dần theo thời gian.
Vấn đề
Quay lại câu chuyện rụng dần theo thời gian thì
- Nhiều bạn trụ được 3 ngày
- Vài bạn trụ được 1~2 tuần
- Số ít vượt qua được kì thực tập
- Sau đó thì tầm 2~3 năm là cũng bỏ nghề lập trình
Nên tỉ lệ thành công trụ vững và xem nghề lập trình là cái nghiệp thì rất thấp. Vậy đâu là nguyên nhân cho vấn đề này.
Sự luyện tập code
Bạn cần tốn ít nhất 10.000 giờ để thành tạo một kĩ năng nào đó và 20.000 giờ để thành master lĩnh vực đó. Hay người trong nghề gọi là senior. Tuy nhiên, con đường càng chông gai hơn cho những bạn trót lỡ dành 4~5 năm đại học để vui chơi. Hay các bạn làm lại cuộc đời khi chuyển nghề sang CNTT.
Bạn học lập trình là học về cách tư duy, suy nghĩ logic để giải quyết các bài toán lập trình. Nó không phải là bẩm sinh mà có. Bạn phải luyện tập code hằng ngày và luyện tập rất nhiều.
Luyện tập code
Thời gian chính là thứ mà bạn cần phải tiết kiệm. Dành cho các bạn lúc ra trường hay chuyển nghề thì tiết kiệm thời gian là việc đưa liên hàng đầu.
Không có bất cứ công ty nào cho bạn 1 năm thực tập để ôn luyện hết kĩ năng lập trình, sau đó cho bạn làm nhân viên. Bạn phải thực hiện song song 2 việc
- Học các kĩ năng cơ bản mà công ty yêu cầu về 1 nền tảng hay ngôn ngữ nào đó
- Luyện tập kĩ năng lập trình hằng ngày
Về kĩ năng lập trình thì bạn không cần phải cài đặt các IDE, môi trường … hay cần phải có máy học xịn xò để học. Đơn giản bạn giải các bài toán cơ bản của lập trình mà thôi. Sau đây mình giới thiệu cho bạn 2 cách.
Code Signal
Truy cập trang https://app.codesignal.com/ . Đây trang web khá hay mà mình hay sử dụng. Cũng giới thiệu cho nhiều bạn mới vào công ty sử dụng. Ngoài ra, còn tổ chức các cuộc thi code trên trang web này. Bạn có thể sử dụng hầu hết các ngôn ngữ cơ bản mà các công ty lập trình hiện tại đang dùng.
Bạn còn được tiếp cận với khái niệm Unit Test. Cái này rất nhiều bạn học CNTT chính quy đều bỏ qua. Tin mình đi, bạn sẽ thấy nó rất có ích cho con đường sau này của bạn.
Trang web cũng có một cộng đồng lập trình viên lớn. Các bài toán update thường xuyên, các bài giải cũng có nhiều trên mạng. Bạn cũng luyện tập thêm kĩ năng tiếng Anh khi đọc đề và đọc cách giải. Cũng rất tốt cho bạn sau này nữa.
Bài tập tin học đại cương
Đây là cuốn sách mà mình sử dụng từ năm đầu tiên học CNTT. Giải lần lượt các bài tập trong này. Và nó thật sự phát huy hiệu quả, khi mình đưa lại cuốn sách này cho các bạn thực tập sinh mới.
-
- Tên sách: Bài Tập Tin Học Đại Cương
- Tác giả: Nguyễn Văn Nguyên – Khoa CNTT ĐHBK Đà Nẵng
- Download
Tác dụng mình thấy nhiều nhất của nó là.
Giúp các bạn lấy lại căn bản lập trình.
Mình sẽ ví dụ cho bạn cách mình áp dụng như thế nào. Mình sử dụng Swift làm ngôn ngữ.
- Bài tập
Viết chương trình nhập bán kinh R và xuất ra màn hình thể tích V và diện tích S của hình cầu. (V = 4πR3/ 3 và S=4πR2)
- Bạn cũng có thể xem qua thuật toán mà sách hướng dẫn bạn
+ Có thể khai báo các biến V, S, R + Nhập R từ bàn phím (dữ liệu nhập từ bàn phím) + Gán: V theo công thức : 4πR3/ 3 S theo công thức : 4πR2 + Viết kết quả V và S ra màn hình (Kết quả xuất ra)
Bạn cũng nên học cách phân tích bài toán. Hạn chế việc tham khảo code hay thuật toán từ sách. Đây là sách cơ bản nên bạn chỉ cần suy nghĩ một chút là ra cách giải.
- Code C ví dụ trong sách, nếu bạn không biết code như thế nào.
#include <conio.h> #include <stdio.h> #include <math.h> main() { clrscr(); float v,s,r; printf(" Nhap ban kinh hinh cau R(voi R>0)="); scanf("%f",&r); s=4*M_PI*r*r; v=4*M_PI*r*r*r/3; printf("Dien tich hinh cau= %0.2f",s); printf("\nThe tich hinh cau= %0.2f",v); getch(); }
Nó cũng giúp bạn luyện tập code với cú pháp cơ bản. Vì ngôn ngữ lập trình C là gốc của nhiều ngôn ngữ lập trình hiện đại bây giờ. Bạn sẽ không quá vất vả để ghi nhớ và cách sử dụng từng cú pháp.
- Luyện tập với Swift. Bạn có thể dùng PlayGroud. Nó rất hiệu quả cho bạn khi học lập trình. Code với Swift để giải bài tập đó như sau
func hinhCau(r: Float) -> (V: Float, S: Float) { return (4.0 * Float.pi * r * r * r / 3, 4 * Float.pi * r * r) }
Bạn sẽ bỏ đi các công việc rườm rà như nhập dữ liệu và xuất dữ liệu. Bạn tinh gọn nó thành 1 function duy nhất. Áp dụng thêm những gì tinh hoa của ngôn ngữ bạn sử dụng. Trong đoạn code trên, mình sử dụng Tuple
để trả về nhiều giá trị. Bạn có thể tham khảo cú pháp lập trình Swift qua link sau:
- Sử dụng với code Swift
let ketqua = hinhCau(r: 10) print("V = \(ketqua.V) và S = \(ketqua.S)")
Bấn nút để run và tận hưởng kết quả nào!
OKAY! Như vậy là xong rồi. Công việc của bạn là luyện tập code theo các bài tập trong sách. Kiên trì và đừng bỏ cuộc sớm.
Về kiến thức mà sách mang lại:
- Cú pháp lập trình
- Thuật toán
- Các toán tử và các lệnh điều kiển
- Lệnh lặp
- Kiểu dữ liệu
- Chuỗi
- Con trỏ
- Cây nhị phân
- Các tổ hợp
- …
Chúc bạn thành công và cảm ơn bạn đã đọc bài viết này!
Related Posts:
Written by chuotfx
Hãy ngồi xuống, uống miếng bánh và ăn miếng trà. Chúng ta cùng nhau đàm đạo về đời, về code nhóe!
Leave a Reply Cancel reply
Fan page
Tags
Recent Posts
- Charles Proxy – Phần 1 : Giới thiệu, cài đặt và cấu hình
- Complete Concurrency với Swift 6
- 300 Bài code thiếu nhi bằng Python – Ebook
- Builder Pattern trong 10 phút
- Observer Pattern trong 10 phút
- Memento Pattern trong 10 phút
- Strategy Pattern trong 10 phút
- Automatic Reference Counting (ARC) trong 10 phút
- Autoresizing Masks trong 10 phút
- Regular Expression (Regex) trong Swift
You may also like:
Archives
- September 2024 (1)
- July 2024 (1)
- June 2024 (1)
- May 2024 (4)
- April 2024 (2)
- March 2024 (5)
- January 2024 (4)
- February 2023 (1)
- January 2023 (2)
- November 2022 (2)
- October 2022 (1)
- September 2022 (5)
- August 2022 (6)
- July 2022 (7)
- June 2022 (8)
- May 2022 (5)
- April 2022 (1)
- March 2022 (3)
- February 2022 (5)
- January 2022 (4)
- December 2021 (6)
- November 2021 (8)
- October 2021 (8)
- September 2021 (8)
- August 2021 (8)
- July 2021 (9)
- June 2021 (8)
- May 2021 (7)
- April 2021 (11)
- March 2021 (12)
- February 2021 (3)
- January 2021 (3)
- December 2020 (3)
- November 2020 (9)
- October 2020 (7)
- September 2020 (17)
- August 2020 (1)
- July 2020 (3)
- June 2020 (1)
- May 2020 (2)
- April 2020 (3)
- March 2020 (20)
- February 2020 (5)
- January 2020 (2)
- December 2019 (12)
- November 2019 (12)
- October 2019 (19)
- September 2019 (17)
- August 2019 (10)