Code giấy

Góc lập trình viên

5.0 (32 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 05:14 15-09-2016 34.590 lượt xem 49 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

Code giấy

            Nhiều bạn than vãn rằng không có máy tính để học lập trình. Nhưng chính các bạn đó cũng hỏi mình sao lại có thể lập trình tốt vậy. Đây là điều mình muốn nói với các bạn. Vì mình từng bắt đầu học lập trình không có máy tính.

Bắt đầu từ một thằng dự định méo theo lập trình

            Lớp 10 mình được học tin học. Nào là bảng mã ASCII, Kiểu dữ liệu, chuyển đổi hệ cơ số, lưu đồ thuật toán… Cái méo gì đang xảy ra vậy. Học cái này để làm gì???

            Mình đã từng phải học thuộc lưu đồ thuật toán để lên bảng chép bài lấy điểm miệng cho an toàn môn tin học. Đã từng nghĩ rằng đây méo phải môn mình theo được.

            Thế nhưng đến lớp 11, mình được học Pascal. Thật thú vị! Một môn học làm cho mình nhận ra. Mình hoàn toàn có thể tạo nên một thế giới của riêng mình với nó. Dùng máy tính để tạo nên nó. Mình lại rất thích máy tính. Quyết định theo lập trình từ đó.

            Mình học điên cuồng. Thử thách mình với nhiều thuật toán hơn. Kiến thức mới hơn. Mình học xong quyển sách giáo khoa lớp 11 môn tin trong 3 tháng. Sau đó tìm thêm 1 quyển sách tên là Nghệ thuật lập trình do thầy Nguyễn Ngọc Mỹ giới thiệu qua một câu khiêu khích: (Hôm đó thầy dạy thay).

Thầy không dạy các em ngôn ngữ Pascal, thầy dạy các em nghệ thuật lập trình
Thầy Nguyễn Ngọc Mỹ.

Cảm giác như hạt giống của chân lý đã được gieo vào đầu.           

kteam

Tiếp tục với thử thách không máy tính

Nhưng hạn chế xuất hiện. Mình không có nhiều điều kiện tiếp xúc với máy tính. Chỉ có thể dùng máy tính vào giờ thực hành tin học của trường (nên mình rất thích giờ này). Và xài ké máy tính ở tiệm net. (Tiền! tiền! tiền! Máy đóng băng nữa! OMG!).

Thế là cái khó ló cái ngu (đùa thôi, hoàn cảnh mà phải đứng lên). Mình lấy giấy ra code. Giải các bài tập trên giấy. Chạy từng dòng code trong đầu. Xác định nó có lỗi hay không. Đến mức biết được code này sai ở đâu và lỗi gì. Sau đó giữ đến khi dùng được máy tính đưa vào chạy thử xem mình đúng hay sai. Có lỗi thì lỗi ở đâu. Mình từng làm 20 bài tập Pascal trong vòng 1 tiết học. Lúc đó là làm dùm. Cứ như vậy thử thách với các bài tập kinh khủng hơn. Các bài tập yêu cầu tư duy logic, các thuật toán tìm đường đi, tháp cổ Hà Nội…

Khi code quá nhiều. Mình nhận ra. Có lẽ nên lưu các hàm riêng biệt vào từng trang khác nhau để tiện tái sử dụng. Thế là mình có một quyển sổ code. Khi các bài tập trở nên nhàm chán. Mình lại thích làm game nên đã thử sức mình ở việc làm game với Pascal.

  • Game đầu tiên là game Kéo Búa Bao
  • Game thứ hai là game Bài ba lá.

Ấy thế kiến thức thì có hạn. Cơ mà tham vọng thì vô biên. Mình nhận ra. Nếu game của mình chỉ hiện các dòng chữ ra màn hình thì thật nhàm chán. Dù nó là tâm huyết của mình. Người chơi khác chơi thử cũng nói thế. Vậy là phải làm sao cho nó bắt mắt hơn! Nhưng làm sao??? Giáo viên không chỉ…

Không gì ngăn cản đam mê

            Thế là mình bắt đầu lọ mọ tìm trên google. Với các từ khóa ngây ngơ như: “Làm sao để in một ký tự trên một nơi bất kỳ ngôn ngữ lập trình Pascal” hay “In ký tự ở điểm bất kỳ Pascal”… Và rồi cũng được đền đáp với một hàm được viết trước đó là gotoxy. Khi có được hàm này thì kỹ thuật làm game của mình lên một đẳng cấp mới. Đồ họa tuyệt đỉnh (ảo tưởng xíu). Game thú vị hơn nhiều. Và game Bài cào ba lá của mình có đồ họa in ra các là bài mỗi lần rút bài. Có hiệu ứng xoay điểm của bài. Có hiệu ứng chữ chạy trên màn hình.

            Cơ hội chứng tỏ bản thân đến. Khi thi tuyển vào đội tuyển học sinh giỏi tin. 3 đứa bạn cùng lớp cùng thích máy tính cùng đi thi và cùng đậu. Cũng là 3 đứa duy nhất trong đội học sinh giỏi tin. Cùng nhau ôn luyện các thuật toán. Học thuộc thì đúng hơn. Trong lòng mong chờ cơ hội tỏa sáng.

            Một ngày cô nói: “Cô phải xin lỗi 2 em Long với Tùng. Vì để tham gia thi học sinh giỏi thì phải được học sinh khá trở lên.

            Mình hơi sốc. Nhưng không cảm thấy buồn ngay lúc đó. Sau này thường xuyên nghĩ về nó mà tiếc nuối. Đó là lần đầu tiên mình cảm nhận rõ rệt cái điểm số ảnh hưởng như thế nào. Cái bất công của giáo dục Việt Nam. Tại sao đi thi tin học phải giỏi lịch sử hay văn học?? Mình thiếu điểm văn nên không được khá. Mình bất mãn và ngưng Pascal từ đó.

            Đến khi vào Cao Đẳng Khoa Học Tự Nhiên. Mình đã rất vững kỹ thuật lập trình nên học Nhập môn lập trình C rất dễ dàng. Mình dễ dàng cho ra các sản phẩm game như:

  • Đua xe
  • Caro
  • Mô phỏng hoạt động cây nhị phân (để được 10 tổng kết điểm môn CTDL)

Rồi không đủ thỏa mãn. Mình muốn game của mình đồ họa đẹp hơn do nhận thấy giới hạn của Console application. Mình tìm đến lập trình C# Window Form. Rồi các game khác ra đời như:

  • Trúc xanh
  • Quick math (clone lại từ game hot thời đó)
  • Turn base Naruto

Rồi sau đó đến với lập trình game trên Unity3D để làm được các game khủng hơn. Nhưng rồi cũng bỏ lỡ vì không có hình ảnh làm game.

Làm ra một sản phẩm thì dễ. Làm ra một sản phẩm tốt thì khó hơn nhiều.

kteam

Đường xa phía trước

            Bắt đầu dự án nhận tiền tự làm đầu tiên nhờ một mối quan hệ chỉ bài thi C++. Anh này học lại chuyên web nhưng không giỏi C++. Mình cho ổng chép bài 10 điểm. Sau ổng hỏi biết C# không? Mình nhận làm một ứng dụng chăm sóc khách hàng cho gara xe máy.

            Rồi nhiều dự án khác đến với mình cũng nhờ tình cờ. Mình tích lũy được nhiều kinh nghiệm thực tế trước khi vào công ty FSoft.

            Khi vào FSoft mình đã học được rất nhiều từ quy trình và các kỹ thuật cao cấp. Học được cái gì gọi là văn hóa công ty. Học được cảm nhận của nhân viên bị áp lực công việc đè nén. Học được tình anh em đồng nghiệp phát triển như thế nào. Học được những đêm Over Time cùng mọi người. Đó là nơi mình rất trân trọng nhưng phải rời đi. Vì mình còn mong muốn làm điều gì đó to lớn hơn là làm một nhân viên giỏi.

            Mình đến với dự án How Kteam vì nhận ra sự thiệt thòi của các bạn không có tiền để học. Sự ích kỷ thờ ơ của con người trong xã hội khi bán mọi thứ bằng tiền. Mình rất ghét câu: “Nếu cái gì mày giỏi. Đừng cho không.”

Quan điểm của mình là:

Kiến thức phải miễn phí. Để xã hội phát triển thì ý thức cần thay đổi. Chia sẻ là cách tốt nhất để mang mọi người đến gần nhau hơn.

Và kiến thức là thứ làm điều đó tốt nhất. Vì một xã hội mà giáo dục là miễn phí - Free Education.

Kim Long - K9.

 


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Code giấy dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả

Khóa học

Góc lập trình viên

Coder corner - Nơi lưu trữ những tâm tư của các coder vỡ lòng đến cạn lòng

Đánh giá

Vo Tan Duc đã đánh giá 13:12 03-08-2023

Em thích câu: Kiến thức phải miễn phí. Để xã hội phát triển thì ý thức cần thay đổi. Chia sẻ là cách tốt nhất để mang mọi người đến gần nhau hơn.

trandatzw đã đánh giá 11:00 07-10-2022

Toi on đã đánh giá 23:03 09-06-2022

Luu Neyuh đã đánh giá 19:57 31-05-2022

hieucute85203 đã đánh giá 23:16 10-03-2022

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Vo Tan Duc đã bình luận 13:12 03-08-2023

Em thích câu: Kiến thức phải miễn phíĐể xã hội phát triển thì ý thức cần thay đổiChia sẻ là cách tốt nhất để mang mọi người đến gần nhau hơn.

HCodeTeam đã bình luận 14:54 15-07-2023

HCodeTeam đã bình luận 14:53 15-07-2023

ACEtankACE đã bình luận 19:14 19-02-2023

RESPECT + 1

Lavenda đã bình luận 11:55 10-01-2022

CÁM ƠN BẠN. RESPECT

Không có video.