Skip to content
  • Home
  • Code
  • iOS & Swift
  • Combine
  • RxSwift
  • SwiftUI
  • Flutter & Dart
  • Tutorials
  • Art
  • Blog
Fx Studio
  • Home
  • Code
  • iOS & Swift
  • Combine
  • RxSwift
  • SwiftUI
  • Flutter & Dart
  • Tutorials
  • Art
  • Blog
Written by chuotfx on April 9, 2020

Luyện tập code hằng ngày bằng cách nào?

Blog

Contents

  • Câu chuyện
  • Vấn đề
  • Luyện tập code
    • Code Signal
    • Bài tập tin học đại cương

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:

    • Basic Swift trong 10 phút

 

  • 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!

FacebookTweetPinYummlyLinkedInPrintEmailShares0

Related Posts:

  • python
    300 Bài code thiếu nhi bằng Python - Ebook
  • feature_bg_blog_025
    Prompt for Coding – Code Translation với Kỹ thuật…
Tags: blog, Swift
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

Your email address will not be published. Required fields are marked *

Donate – Buy me a coffee!

Fan page

Fx Studio

Tags

Actor Advanced Swift AI api AppDistribution autolayout basic ios tutorial blog ci/cd closure collectionview combine concurrency crashlytics dart dart basic dart tour Declarative delegate Dependency deploy design pattern fabric fastlane firebase flavor flutter GCD iOS MVVM optional Prompt engineering Prompt for Coding protocol Python rxswift Swift Swift 5.5 SwiftData SwiftUI SwiftUI Notes tableview testing TravisCI unittest

Recent Posts

  • Prompt for Coding – Code Translation với Kỹ thuật Exemplar Selection (k-NN)
  • Mô phỏng chiến lược SNOWBALL giúp AI “Nhớ Lâu” hơn trong cuộc trò chuyện
  • Prompt for Coding – Bug Detection với prompting cơ bản
  • Cẩm Nang Đặt Câu Hỏi Chain of Verification (CoVe): Từ Cơ Bản Đến Chuyên Gia
  • Chain of Verification (CoVe): Nâng Cao Độ Tin Cậy Của Mô Hình Ngôn Ngữ Lớn
  • Mixture of Thought (MoT) – Từ Suy Luận Logic đến Ứng Dụng Sáng Tạo
  • Prompt Injection (phần 2) – Chiến Lược Phòng Thủ và Kỹ Thuật Giảm Thiểu Rủi Ro
  • Prompt Injection (phần 1) – Phân Tích về Các Kỹ Thuật Tấn Công
  • Bản chất của Prompt Engineering là Quản lý sự Mơ hồ
  • Inject Marker : Từ Chỉ Dẫn Đơn Giản Đến Công Cụ Khoa Học Để Làm Chủ AI

You may also like:

  • Prompt for Coding – Code Translation với Kỹ thuật…
    feature_bg_blog_025
  • 300 Bài code thiếu nhi bằng Python - Ebook
    python

Archives

  • August 2025 (1)
  • July 2025 (10)
  • June 2025 (1)
  • May 2025 (2)
  • April 2025 (1)
  • March 2025 (8)
  • January 2025 (7)
  • December 2024 (4)
  • 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)

About me

Education, Mini Game, Digital Art & Life of coders
Contacts:
contacts@fxstudio.dev

Fx Studio

  • Home
  • About me
  • Contact us
  • Mail
  • Privacy Policy
  • Donate
  • Sitemap

Categories

  • Art (1)
  • Blog (56)
  • Code (11)
  • Combine (22)
  • Flutter & Dart (24)
  • iOS & Swift (102)
  • No Category (1)
  • RxSwift (37)
  • SwiftUI (80)
  • Tutorials (96)

Newsletter

Stay up to date with our latest news and posts.
Loading

    Copyright © 2025 Fx Studio - All rights reserved.