AiViet Nguyễn: Học lập trình thế nào?

Học lập trình thế nào?

Cần có 9 điều tâm niệm cho mọi cấp độ lập trình dưới đây. Quan điểm chung: Thật là dễ, ai cũng học được. Nhưng giỏi là nghệ thuật, luôn có những đỉnh cao cần vươn tới.
1. Bài giảng đầu tiên về lập trình rất quan trọng. Mỗi ngành, mỗi bộ môn đều có cái “thần” của nó. Nắm được cái “thần” học sẽ rất dễ, nắm sai mất nhiều công mà vẫn không tiến lên được, có khi càng nhồi nhét càng ngu. Ở Việt Nam, các thầy thường không có kinh nghiệm lập trình, học qua sách vở đi dạy ngay, đề tài nghiên cứu để thành danh lại ở những kỹ năng khác. Một số thầy lại chỉ có kinh nghiệm hạn chế, chưa có kinh nghiệm trong những bài toán lập trình lớn và phức tạp, thấy cây mà không thấy rừng, chỉ thấy khó khăn. Do đó nhìn chung, đa số học sinh đều sợ lập trình, không biết cách tự học. Một số biết một vài thủ thuật, nhưng không tiến lên được, có người 2,3 năm mới thấy, có người 5 năm, có người 10 năm sẽ thấy không tiến lên được nữa, đều biến thành rác thải nhân lực, chỉ có một con đường làm lãnh đạo hay quản lý,(sẽ lợi cho bản thân và phá xã hội nhiều hơn 🙂)
2. Trước tiên, nguyên tắc của lập trình không có gì khó, chỉ cần tư duy đúng cách để nói cho máy hiểu và thực hiện, muốn vậy phải nắm được năng lực của máy. Tất nhiên nắm được kiến trúc máy tính thì học lập trình sẽ rất tốt, nhưng đợi học xong tinh túy của môn này thì quá lâu, mà biết đâu lúc đó phương pháp tư duy và ý thích lại thành “nhà kiến trúc máy tính”. Vì vậy, bước đầu chỉ cần nắm được ba nguyên lý đơn giản. Một là tổ chức bộ nhớ, lưu giữ dữ liệu: trước hết khái niệm địa chỉ, register, cache, RAM, đĩa cứng. Hai là xử lý vòng lặp. Ba là điều kiện, if… then….
Khoan hay để ý tới cú pháp lập trình. Mọi việc trên đời có thể thực hiện nhờ 3 nguyên lý này đều có thể lập trình. Tất nhiên trừ các thao tác tâm linh, liên tưởng, sáng tạo,… đều có thể lập trình. Không loại trừ liên tưởng sáng tạo, sẽ là rất nhiều dữ liệu và nhiều thao tác xử lý (tuy chưa chứng minh được) và cũng có thể tâm linh cũng là thao tác của một siêu máy tính nắm ngoài 3 vấn đề trên.
3. Như vậy lập trình trước hết là 3 vấn đề: lưu trữ biểu diễn số liệu (trong máy tính), (dùng năng lực của máy tính) xử lý dữ liệu, và hiện thị dữ liệu (trên máy tính). Ngược với cách dạy bottom up và chán ngắt hiện nay với các bài toán vừa hiển nhiên vừa vô bổ kiểu như nhân hai ma trận,…., bước đầu nên rèn luyện cách phân một bài toán có vẻ không liên quan gì tới số liệu nhưng phải xử lý cả 3 vấn đề trên. Thí dụ cho 2 tam giác hay hai vòng tròn bất kỳ, tô màu phần giao của chúng bằng màu vàng trên màn hình máy tính.
3. Với trình độ cao hơn 3 vấn đề trên được chuyên môn hóa thành 3 yêu cầu tối thiểu với lập trình viên: xử lý chuỗi, cơ sở dữ liệu và giao diện đồ họa. Trong 3 tháng luyện 3 kỹ năng này đủ kỹ năng tối thiểu để làm việc tại bất cứ công ty nào. Tuy nhiên, không phải kỹ sư CNTT nào cũng “sạch nước cản” 3 kỹ năng này. Mặc dù tôi nghĩ có thể dạy sinh viên khoa ngữ văn cũng làm được 3 kỹ năng này bằng Python, thậm chí Java không khó khăn trong các bài toán của họ.
4. 3 kỹ năng tối thiểu này hoàn toàn có thể thực hiện ở trình độ cao nhất không ngoài 3 thao tác ở mục 2 (biểu diễn dữ liệu (dùng biến), vòng lặp và điều kiện). Như vậy thực tế lập trình chỉ là thành thạo 3 thao tác trong 3 kỹ năng trên mà thôi. Có khó không? Không hề khó, cứ làm nhiều khắc nhanh và giỏi.
5. Điểm khó nhất là gì? Khó nhất của viết chương trình là thực hiện đủ 3 yêu cầu: a) Đủ chức năng (tuân thủ, xử lý chính) b) Mạnh mẽ (hiệu năng, xử lý ngoại lệ) c) Quản lý (dễ đọc, tổ chức, sử dụng lại). Thực tế đa số lập trình viên chỉ biết a). Biết được b) ngày nay đã có thể làm trưởng dự án. Rất hiếm người biết c). Nhưng nếu chú trọng luyện từ đầu không hề khó, thậm chí hiển nhiên. Có điều không có thầy nào dạy, trong môi trường làm việc cũng không ai biết nên không thành kỷ luật. Do đó lập trình viên Việt Nam toàn học lỏm lẫn nhau, không khá được.
6. Cuối cùng lập trình có thể ổn, nhưng ứng dụng vẫn không ai dùng được. Nếu chỉ giỏi lập trình thuần túy chỉ 2-3 năm là hết cái để học, không có gì lý thú. Đó là cách đào tạo giết nhân tính, giết lòng yêu nghề, sáng tạo của lập trình viên. Đa số lập trình viên thấy nghề của mình là bổ củi, máy móc, nặng nề, khó nhọc và chán ngắt. Khó nhọc là vì chán. Thực ra không nghề gì dễ học bằng lập trình. Trong thực tế: lập trình viên giỏi sau khi thành thao kỹ năng, sẽ thấy rằng khó nhất là việc a) Phân tích nghiệp vụ b) Thiết kế chức năng c) Thiết kế hệ thống. Các khâu này năng lực trình bày, viết, nghe là quan trọng. Đặc biệt phân tích nghiệp vụ phụ thuộc vào văn hóa, hiểu biết, tri thức, lương năng. Rèn luyện năng lực này không bao giờ có điểm dừng. Nên đưa ra các bài tập và các ví dụ về phân tích nghiệp vụ để gây cảm hứng từ sớm.
7. Phải nói đến các công cụ: IDE (môi trường phát triển), UML (công cụ thiết kế), SVC (quản trị code), debugger (tìm lỗi). Quan trọng nhất là việc dùng debugger để đọc code của người khác, hoàn thiện kỹ năng viết code của mình và cải tiến code. Thành thạo làm chủ được debugger có nghĩa là biến thành pháp sư hô mưa gọi gió được trong ngành lập trình.
8. Cuối cùng, mỗi lập trình viên dù ở ngành nào, nhưng muốn đi xa đều nên nếm trải kinh nghiệm lập trình nhúng, lập trình mobile, lập trình hệ điều hành, lập trình socket (networking) và GUI. Lập trình nhúng cho lập trình viên ý thức tối ưu và tiết kiệm bộ nhớ. Lập trình mobile là khuyến khích sáng kiến, lập trình. Lập trình socket là để hiểu các giao thức. Lập trình GUI để lập trình viên tư duy hướng người dùng. Điều quan trọng là trong môn lập trình đừng coi đây là các nội dung chính, mà nên coi như các bài tập thực hành, cốt lấy kinh nghiệm không cần nhớ và nhồi sọ.
9. Lời khuyên: lập trình viên nên dành ngày 15-30p để đọc thêm về công nghệ mới. Đọc bất cứ cái gì. Sau đó ghi lại chừng 5 câu về điều đã đọc. Ghi bất cứ cái gì và thế nào. Gạch đầu dòng hoặc vẽ sơ đồ cũng được (càng tốt). Một năm sẽ có chừng 1500 điều thông minh. Có được 3000-5000 điều thông minh sẽ “mặt mày sáng sủa, nói chuyện dễ nghe, cuộc đời đầy tươi sáng”. Khi nào bạn có được 5000 câu ghi chép ta sẽ nói chuyện tiếp.

Nguồn:

Advertisements

Khai giảng tháng 9/2017 tại VNYPC Hà Nội

Tháng 9 này, câu lạc bộ YPC có thêm nhưng khóa học mới để các bạn nhỏ đến và vượt qua thử thách đó nhé!

  1. Lớp Robotics T9 tại Trung Kính (TẠM DỪNG)

– Độ tuổi: 9 +
– Thời gian học: Sáng Chủ Nhật, từ 8h30 đến 11h30
– Địa điểm: nhà 21A ngõ 110 (ngõ đối diện trường ĐH Phương đông) trên đường Trung Kính, Cầu Giấy, Hà Nội
– Học phí: 1.600.000 VNĐ / 8 buổi (+ 300K tiền thiết bị học tập)

2. Lớp WEB T9 tại Tô Hiệu

– Độ tuổi: 12 +
– Thời gian học: Chiều Chủ Nhật, từ 14h30 đến 17h30
– Địa điểm: 203-D1, ngõ 233, Tô Hiệu, Cầu Giấy, Hà Nội
– Học phí: 2.000.000 VNĐ / 10 buổi
– Khai giảng dự kiến: Chủ Nhật, ngày 24/9/2017

  1. Lớp Scratch Basic T9.1 tại Tô Hiệu (TẠM DỪNG)

– Độ tuổi: 9 +
– Thời gian học: Tối thứ Ba và tối thứ Sáu , từ 18h30 đến 20h30
– Địa điểm: 203-D1, ngõ 233, Tô Hiệu, Cầu Giấy, Hà Nội
– Học phí: 1.600.000 VNĐ / 12 buổi

  1. Lớp Scratch Basic T9.2 Trung Kính

– Độ tuổi: 9 +
– Thời gian học: chiều thứ Bảy , từ 14h30 đến 17h30
– Địa điểm: nhà 21A ngõ 110 (ngõ đối diện trường ĐH Phương đông) trên đường Trung Kính, Cầu Giấy, Hà Nội
– Học phí: 1.600.000 VNĐ / 8 buổi
– Khai giảng: Thứ Bảy, ngày 23/9/2017

  1. Lớp Scratch Advanced tại Trung Kính

– Đối tượng: Các bé đã hoàn thành lớp Basic
– Thời gian học: thứ Tư từ 18h30 đến 20h30 và từ 8:30-10:30, sáng thứ Bảy
– Địa điểm: nhà 21A ngõ 110 ( đối diện trường ĐH Phương đông) trên đường Trung Kính, Cầu Giấy, Hà Nội
– Học phí: 1.600.000 VNĐ / 8 buổi
– Khai giảng: Thứ Tư, ngày 20/9/2017

*** Đối với các bạn nhỏ hơn 10 tuổi vẫn có thể tham gia các lớp trên nếu các bạn đã làm quen và yêu thích sử dụng các thiết bị điện tử.

Về nội dung các khóa học các bạn có thể xem thêm tại mục “Các khóa học” nha!

https://vnypc.wordpress.com/cac-khoa-hoc/

Mọi thắc mắc xin liên hệ email của VNYPC (vnypclub@gmail.com) hoặc số điện thoại: 0912.604.444.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ảnh lớp Scratch Basic tại Trung Kính tháng 7/2017

 

 

 

Khai giảng lớp Scratch T7/2017 tại Hà Nội và Hồ Chí Minh

Trong ngày 22/7 này, cả Hà Nội và Hồ Chí Minh cùng khai giảng lớp Scratch Basic dành cho các bé từ 9 đến 14 tuổi đó nhé! 

– Khai giảng: Ngày 22/07/2017
– Thời gian: Sáng thứ 7 và chủ nhật, từ 8h30 đến 11h30
– Địa điểm: Phòng 342 lầu 3, số 47-57 Nguyễn Thái Bình, Quận 1, TP.HCM

– Thời lượng: 24 giờ / 8 buổi / 4 tuần
– Học phí: 1.600.000 VND/học sinh
– Kết thúc khóa học các em được cấp chứng chỉ của trung tâm.

Thông tin chi tiết về khóa học và tư vấn thêm xin liên hệ: Thầy Thiện – sđt: 0982.209.459

Link đăng ký: https://goo.gl/b9wkC8

-Thời gian học: 2 buổi [ thứ Tư từ 18h30 đến 20h30 và từ 8:30-10:30, sáng thứ Bảy]

-Địa điểm: nhà 21A ngõ 110 ( đối diện trường ĐH Phương đông) trên đường Trung Kính, Cầu Giấy, HN

-Giáo viên: Phạm Minh Hoàng

-Học phí: 1.600.000 VNĐ / 12 buổi.

Link đăng ký: https://goo.gl/forms/EgUFYBXLIDxhWeGp2

Trong hình ảnh có thể có: 7 người, mọi người đang cười, mọi người đang ngồi

Khai giảng lớp T6/2017 – đợt 2

  • Tại Hồ Chí Minh:

– Ngày khai giảng: 17/06/2017
– Thời gian: từ 17h30 – 20h30, tối thứ 7 và chủ nhật
– Địa điểm học: Phòng 342 lầu 3, số 45-47 Nguyễn Thái Bình, Quận 1, TP.HCM

– Thời lượng: 24 giờ – 8 buổi – 4 tuần
– Học phí: 1.600.000 VND/học sinh

Thông tin chi tiết về khóa học và tư vấn thêm xin liên hệ: Thầy Thiện – sđt: 0982.209.459

  • Tại Hà Nội:

1. LỚP SCRATCH BASIC T6.2: Tiếp tục tuyển sinh thêm lớp Scratch tại Trung Kính nha!!!
– Thời gian: Chủ Nhật, từ 8h30 đến 11h30
– Khai giảng dự kiến: Chủ Nhật, 25/6
– Địa chỉ: nhà 21A ngõ 110 ( đối diện trường ĐH Phương đông) trên đường Trung Kính, Cầu Giấy, Hà Nội

2. LỚP SCRATCH BASIC T6.3: Lớp mới tại Tô Hiệu nào!!!
Dành cho các bé không học được cuối tuần nha!!!
– Thời gian: sáng thứ 4, từ 8h30 đến 10h30 và chiều thứ 6, từ 15h30 đến 17h30
– Khai giảng dự kiến: Thứ Sáu, ngày 23/6
– Địa chỉ: 203-D1, ngõ 233, Tô Hiệu, Cầu Giấy, Hà Nội

Link đăng ký: https://goo.gl/forms/Mplmwcd5YIp75eDH3

Trong hình ảnh có thể có: văn bản

🎉 STEM CODING CAMP – Learn to Create!!! 🎉

🎓 Trại hè dành cho các bạn yêu lập trình và các dự án sáng chế STEM, được phối hợp tổ chức bởi AmericanSTEM và Câu lạc bộ Lập trình viên trẻ YPC – Young Programmer Club thuộc đại học trực tuyến Funix, đại học FPT.
📢 Thông tin về trại hè:
– Trại hè dành cho các bạn trong độ tuổi: 10- 13 tuổi
– Thời gian: 2 tuần – 10 buổi (học cả ngày) từ thứ 2 đến thứ 6, bắt đầu khai giảng từ 19/6, 3/7, 17/7,
– Nội dung chương trình:
🍀 Học lập trình với khóa Scratch Basis – giới thiệu TƯ DUY LẬP TRÌNH CĂN BẢN và làm quen với ngôn ngữ lập trình Scratch. Sau khóa học, các bạn sẽ đạt được:
➤ Kiến thức: nắm được các tư duy lập trình căn bản, bắt đầu hình thành tư duy giải quyết vấn đề theo tư duy máy tính (Computational Thinking)
➤ Kỹ năng: làm quen với việc làm dự án, hoạt động theo nhóm
➤ Sản phẩm: tạo ra một đoạn phim hoạt hình, trò chơi đơn giản trên máy tính.
🍀 Dự án STEM CÁNH TAY ROBOT: chế tạo cánh tay robot để hỗ trợ người khuyết tật.
Những điều các bạn sẽ học được qua dự án:
➤ Kiến thức khoa học như Giải phẫu học, Y tế, Cơ khí, Tự động hóa và các kiến thức về chế tạo sản phẩm…
➤ Kĩ năng: học và rèn luyện các kĩ năng mềm trong dự án như tư duy phản biện, giải quyết vấn đề, làm việc nhóm…
➤ Sản phẩm: tạo ra cánh tay robot có khả năng cầm, nắm giúp người khuyết tật trong sinh hoạt hàng ngày.
———————————-
🌎 TRẠI HÈ SÁNG CHẾ 2017 gồm 3 chương trình bằng song ngữ Anh – Việt, khai giảng từ ngày 29/5:
▪️STEM Home: nền tảng, làm quen với giáo dục STEM, dành cho các bạn từ 3-5 tuổi
▪️STEM City: học thiết kế, xây dựng, quy hoạch thành phố với kiến thức STEM, dành cho các bạn từ 6-10 tuổi
▪️STEM Planet – STEM Coding Camp: học coding, robotics, dành cho các bạn từ 11-13 tuổi
➤ Thông tin chi tiết về các chương trình, các bố mẹ vui lòng xem tại link: bit.ly/TraiheSangche2017
➤ LINK ĐĂNG KÍ: https://goo.gl/RvlXiS
———————————
AmericanSTEM Vietnam
Địa chỉ: Tầng 2, tòa nhà Golden Palace, Lê Văn Lương, Hà Nội
Điện thoại: (+84) 4 6666 8289

Displaying image.png

Khai giảng lớp tháng 6 tại Hà Nội

VNYPC trân trọng thông báo lịch khai giảng lớp T6 tại khu vực Hà Nội dành cho các bạn nhỏ yêu thích lập trình.

Hãy đăng ký ngay để cùng bé có mùa hè thật vui và ý nghĩa.
1. Lớp Code4kids
– Đối tượng: Các bé từ 6 đến 10 tuổi
– Thời gian học: Sáng thứ Sáu, từ 9h00 đến 11h00
– Địa điểm: 203-D1, ngõ 233, Tô Hiệu, Cầu Giấy, Hà Nội
– Khai giảng: Thứ 6, ngày 2/6
 
2. Lớp Scratch T6.1
– Đối tượng: Các bé từ 10 đến 14 tuổi
– Thời gian học: Thứ 7, từ 8h30 đến 11h30
– Địa điểm: 203-D1, ngõ 233, Tô Hiệu, Cầu Giấy, Hà Nội
– Học phí: 1.600.000 VNĐ / 8 buổi
– Khai giảng: Thứ 7, ngày 3/6
3. Lớp Scratch T6.2
– Đối tượng: Các bé từ 10 đến 14 tuổi
– Thời gian học: Chủ Nhật, từ 8h30 đến 11h30
– Địa điểm: nhà 21A ngõ 110 ( đối diện trường ĐH Phương đông) trên đường Trung Kính, Cầu Giấy, Hà Nội
– Học phí: 1.600.000 VNĐ / 8 buổi
– Khai giảng: Chủ Nhật, ngày 4/6
4. Lớp Scratch Advanced
Dự kiến được mở nếu có từ 12 bạn đăng ký trở lên qua email vnypclub@gmail.com
Nhấn vào ĐƠN ĐĂNG KÝ LỚP T6 để đăng ký chỗ cho con ngay nào!!!
(Số lượng học sinh trên 1 lớp chỉ giới hạn là 12 bạn mà thôi.)
Link đăng ký lớp tại Quận 1, TP HCM ngày 27/5: Scratch Beginner

Lịch khai giảng lớp T5 tại Hà Nội

Mời quý phụ huynh xem lịch khai giảng cho các lớp tại Hà Nội vào đầu tháng 5 này.  Quý phụ huynh đăng ký theo link sau để được nhận thông tin chi tiết về lớp học trước khi khai giảng.

1. Lớp Scratch Basic

  • Thời gian: 8:30-11:30, sáng chủ nhật
  • Địa điểm: 203-D1, ngõ 233, Tô Hiệu, Cầu Giấy, Hà Nội
  • Độ tuổi: 11-14 tuổi
  • Lịch khai giảng: 07/05/2017

2. Lớp Code4kids

  • Thời gian: 17:30 – 19:00, chiều thứ Năm
  • Địa điểm: 203-D1, ngõ 233, Tô Hiệu, Cầu Giấy, Hà Nội
  • Độ tuổi: 6-10 tuổi
  • Lịch học thử: 04/05/2017 tại Quán Ozatea, 36 Duy Tân, Cầu Giấy, Hà Nội
  • Lịch khai giảng: 11/05/2017

3. Lớp Robotics: 

  • Thời gian: 14:00 – 17:00, chiều thứ Bảy
  • Địa điểm: Maker Hà Nội, Số 14, Tổ 13, Phường Quan Hoa, Cầu Giấy, Hà Nội
  • Lịch khai giảng: 13/05/2017

THỜI LƯỢNG KHÓA HỌC: 8 buổi (3h/1 buổi) hoặc 12 buổi (2h/buổi)

HỌC PHÍ: 1.600.000VNĐ/học sinh.
(Riêng lớp Robotics học phí là 1.900.000VNĐ/học sinh)

Sau khi kết thúc khóa học, các em sẽ được cấp chứng chỉ của VNYPC. 

Mời quý phụ huynh đăng ký qua LINK: ĐK học lớp tháng 5

Mọi thắc mắc phụ huynh có thể liên hệ số điện thoại: 0912.604.444

17991672_850269695115629_3797852114210236761_o