YPC tham gia Hội chợ sáng chế ở Tp. HCM

Vietnam Young Programmer Club in Saigon sẽ tham gia Hội Chợ Sáng Chế 2016 tại Khách sạn Equatorial, 242 Trần Bình Trọng, Quận 5.

Chương trình ở booth của YPC:

  • Trải nghiệm games trong studio do chính các bạn nhỏ ở VNYPC Saigon lập trình thông qua bộ lamdinao.
  • Demo khóa Robotic: đèn bật theo môi trường, xe tránh vật cản.
  • Giới thiệu humanoid robot NAO của Softbank.

Phụ huynh nào tham gia Hội chợ xin mời ghé booth của YPC.

ngay-hoi-sang-che

YPC Hà nội: tuyển sinh tháng 11

Trong tháng 11, YPC Hà nội mở các lớp sau:

  • Scratch Basic: học các sáng Chủ Nhật tại Linh Đàm (P. 720. Nhà NƠ 7B. Nguyễn Duy Trinh). Khai giảng 20/11.
  • Scratch Advance: học các sáng Chủ Nhật tại Cầu Giấy (Số 203 D1 Ngõ 233 Tô Hiệu).  Khai 27/11.
  • Robotics Basic: học các chiều Thứ Bảy tại Hoàng Quốc Việt (P. 901 Chung cư Đông Đô, ngõ 100 Hoàng Quốc Việt).  Khai giảng 19/11.
  • 3D Printing: học các chiều Thứ Bảy tại Hoàng Quốc Việt (P. 901 Chung cư Đông Đô, ngõ 100 Hoàng Quốc Việt).  Khai giảng 19/11.
  • Web Fundamentals: học các chiều Thứ Bảy tại Cầu Giấy (Số 203 D1 Ngõ 233 Tô Hiệu).  Khai 19/11.

Tất cả các buổi sáng học 8h30-11h45, chiều 14h30-17h45.

Thông tin chi tiết và đăng ký: https://goo.gl/pDioaq

Liên hệ: anh Hà Anh Cươnghaanhcuong@gmail.com, 0912 604 444

3e2b24d389c0a8fec849cd9c5b58593d

Các lớp khai giảng tháng 11/2016 tại Hà Nội

Tháng 11/2016, VNYPC khai giảng 5 lớp tại Hà Nội:

– Scratch Basic: khai giảng sáng CN 20/11 tại Linh Đàm
– Scratch Advance: khai giảng sáng CN 27/11 tại Tô Hiệu, Cầu Giấy
– Robotics Basic: khai giảng chiều T7 19/11 tại Hoàng Quốc Việt
– 3D Printing: khai giảng chiều T7 19/11 tại Hoàng Quốc Việt
– Web cơ bản: khai giảng chiều T7 19/11 tại Tô Hiệu

Thông tin chi tiết và đăng ký: https://goo.gl/pDioaq

security-company-website-development.pngFanpage: https://facebook.com/vnypc

6 lời khuyên cho việc dạy trẻ em lập trình

Đặng Trọng Hiếu (YPC Vũng Tàu) dịch từ Al Sweigart. 6 tips for teaching kids to code

education_universe
Tranh của opensource.com

Lập trình là một hoạt động sáng tạo mà bất kỳ đứa trẻ nào đều có thể tham gia. Con bạn có thể không quan tâm về cách viết các thuật toán xử lý dữ liệu, nhưng các bé lại có thể thích thú tạo ra các trò chơi, chương trình âm nhạc, thiết kế trang web, hoặc có khi chỉ chơi loanh quanh mấy dòng code.

Tôi đã viết nhiều cuốn sách cho mọi lứa tuổi làm thế nào để bắt đầu lâp trình, và từ kinh nghiệm bản thân, tôi thấy bạn không cần phải là “thánh công nghệ” hay phải “giỏi toán” để học món này. Trong thực tế, trẻ em thường có thể học lập trình nhanh hơn so với người lớn chính là vì chúng cũng chả biết là nó “khó” :).

Nếu bạn không lập trình nhưng vẫn muốn tìm hiểu để dạy cho con mình, hãy thử tìm cuốn sách mới nhất của tôi về Python cho người mới bắt đầu: “Tự động hóa mấy việc nhàm chán với Python“, mà bạn có thể đọc trực tuyến miễn phí.

Dù bạn là một nhà phát triển phần mềm hay bạn không có nền tảng lập trình, đây là 6 lời khuyên giúp con bạn bắt đầu với lập trình:

  1. Sử dụng Scratch cho trẻ nhỏ, Python cho trẻ lớn hơn.

Scratch của MIT là một công cụ lập trình miễn phí được thiết kế cho trẻ em chạy trong bất kỳ trình duyệt web hiện đại. Bất cứ ai cũng có thể sử dụng tại https://scratch.mit.edu. Phong cách trực quan của nó lấy cảm hứng từ ngôn ngữ Logo, một món cơ bản của lập trình cho trẻ em của thập niên 80 và 90. Nhưng Scratch lại không hề là phiên bản nhái của Logo.

Trẻ em trong độ tuổi từ 8 và 13 sẽ được hưởng lợi từ giao diện đồ họa đơn giản của Scratch  bằng cách kéo-và-thả các khối mã Scratch vào nhau. Những kết hợp vô nghĩa sẽ không gắn được với nhau, làm cho các lỗi cú pháp không thể xảy ra. Scratch rất phù hợp với trẻ nhỏ, đối tượng chưa có kỹ năng đánh máy.

Tất nhiên, những đứa trẻ cố gắng để làm những chương trình tinh vi hơn cuối cùng rồi sẽ đâm đầu vào tường với Scratch. Đối với thanh thiếu niên, một ngôn ngữ lập trình thật sự như Python vẫn phù hợp hơn. Python là một ngôn ngữ lập trình tuyệt vời để bắt đầu bởi vì nó có một cú pháp đơn giản (không giống như các ngôn ngữ như Java hay C#), mã nguồn dễ hiểu (không giống như Perl hay JavaScript), và có một cộng đồng lớn và dễ chịu đứng đằng sau. Nếu con bạn đã trưởng thành với Scratch, Python là bước tốt nhất tiếp theo.

  1. Hãy cho các cháu xem mã nguồn thật.Đừng chỉ nói khái niệm suông.

Mặc dù có tiếng là một môn trí tuệ, lập trình vẫn là một kỹ năng cần thực hành hơn là chỉ đọc sách. Và giao diện lập trình Python khuyến khích thử nghiệm để tìm ra lệnh nào làm cái gì.

Nếu bạn đang dạy kèm trực tiếp con bạn, viết code là một chặng đường dài so với chỉ nói khái niệm. Thâm chí khi đã học xong về biến số, vòng lặp, và hàm chức năng (function), ngồi trước mặt màn hình đen ngòm và bắt đầu viết một chương trình vẫn thật đáng sợ. Bạn nên ngồi với các con và mô tả từng dòng code.

Hoặc, nếu bạn đang sử dụng các nguồn tài nguyên trực tuyến để chia sẻ với con bạn, hãy tìm kiếm mã nguồn cho những trò nhỏ nhỏ thôi. Tốt nhất là những chương trình có ít hơn một vài trăm dòng code.

Scratch vẫn tự động chia sẻ nguồn của tất cả các dự án trên trang web của mình. Vậy nên hãy khuyến khích con bạn sửa đổi mã và quan sát cách cháu thay đổi chương trình đã hoàn thiện.

  1. Trò chơi là các dự án lập trình thú vị.

Lập trình trò chơi điện tử là một điểm khởi đầu phổ biến cho nhiều lập trình viên trẻ. Angry Birds, Minecraft, Flappy Bird, Five Nights at Freddy’s, và nhiều trò chơi khác là những nguồn cảm hứng chính. Tôi cũng đã viết một cuốn sách miễn phí, Tạo trò chơi của riêng bạn với Python, trong đó mô tả các khái niệm lập trình cũng như mã nguồn hoàn chỉnh cho một số dự án trò chơi đơn giản (Tic Tac Toe, Hangman, vv).

Nhưng bạn nên nhớ rằng trò yêu thích của con bạn có thể không phải là một dự án lập trình hay để bắt đầu đâu. Nhiều trò chơi yêu cầu cả một đội ngũ các nhà phát triển, các nghệ sĩ, và nhà thiết kế để phối hợp với nhau. Trò chơi đòi hỏi nhiều trình độ thiết kế và nghệ thuật có làm người mới bắt đầu nản chí. Sẽ tốt hơn nhiều khi hoàn thành một trò chơi đơn giản thôi, hơn là bắt đầu và không bao giờ hoàn thành một trò chơi hoành tráng.

Tham khảo danh sách “49 trò chơi với cách chơi đơn giản” nếu cần ý tưởng thực tế.

Mặc các trò trò chơi thú vị, tôi thường khuyên bạn nên tránh các “trò chơi sáng tạo” chuyên dụng hoặc phần mềm dạng “nhà sản xuất trò chơi”. Giống như Scratch, các ứng dụng này thường cố gắng thể hiện môi trường lập trình một cách đơn giản hóa. Nhưng lại không được như Scratch, họ lại có xu hướng bỏ đi các khía cạnh lập trình. “Lập trình” với các phần mềm này có xu hướng trở nên giống như cấu hình một phần mềm có sẵn hơn.

  1. Đừng cầm tay chỉ việc.

Chia sẻ kiến thức thật thú vị. Truyền tải những gì bạn biết về lập trình cho ai khác là rất tốt. Nhưng lập trình là một kỹ năng được học bằng thực hành, vì vậy hãy để những đứa trẻ tự vận động. Đừng nhảy vào gõ bàn phím khi làm việc với trẻ em, thậm chí chỉ tạm thời. Nếu bé cần phải click vào một menu hoặc nút, hãy chỉ bằng ngón tay của bạn thay vì dùng chuột và nhấp vào nó hộ bé. Bất cứ khi nào có dòng lệnh cần đánh máy, hãy để bé gõ nó. Nó có thể sẽ nhanh hơn nếu bạn làm điều đó, nhưng học sinh của bạn mới cần thực hành hơn là bạn.

  1. Nếu dạy một lớp học, mỗi đứa trẻ nên có một máy tính của mình.

Nếu bạn đang giảng dạy cho một nhóm, hãy cố gắng để cung cấp cho mỗi học sinh một máy tính của riêng mình. Cũng giống như chơi một nhạc cụ, lập trình là một kỹ năng được học nhiều bằng thực tế hơn là ngồi ngắm ai khác làm.

Raspberry Pi là một loại máy tính giá rẻ $ 70 cho một bộ cơ bản. Mặc dù thêm một bàn phím mới, con chuột và màn hình sẽ làm tăng tổng mức giá có thể so sánh với một máy tính xách tay giá rẻ. Nên tránh Chromebook, iPad, hay máy tính bảng khác vì Python khó chạy trên những thiết bị này.

Nếu bạn cần thiết lập một phòng máy tính cho một câu lạc bộ ngoài giờ học với ngân sách hạn hẹp, Raspberry Pi sẽ cho phép bạn tận dụng bàn phím và màn hình phụ. (Thao khảo nguồn tài nguyên miễn phí trên trang web của Quỹ Raspberry Pi và chuyên mục hàng tháng Raspberry Pi của Ben Nuttall trên Opensource.com.) Nếu không, tôi khuyên bạn nên hướng tới các máy tính xách tay giá rẻ, đặc biệt là nếu bạn không có một không gian riêng và cần cất giữ các máy tính sau giờ học. Máy tính xách tay có ít dây dợ hơn và cất giữ dễ dàng hơn.

Nếu không thể có được máy tính cá nhân, bọn trẻ có thể ghép đôi và thay phiên nhau Bí kíp #4: Dạy cho các bé ngay từ đầu việc hỏi mượn bàn phím và chuột thay vì giành lấy chúng.

Một số trẻ em có thể có xu hướng tự tin thái quá và sẵn sàng dành quyền điều khiển máy, trẻ kém tự tin hơn sẽ sẵn sàng nhường luôn cho bạn. Hãy gọi đó là bạn A và bạn B. Tại các thời điểm trong bài học, hãy yêu cầu cụ thể việc chuyển chỗ ngồi để A (hoặc B) được ngồi trước bàn phím và chuột ngang nhau.

  1. Hãy bỏ qua khoa học máy tính.

Nếu bạn là một nhà phát triển phần mềm, bạn chắc sẽ háo hức chia sẻ những bí kíp chân truyền.Niềm vui của bạn là giải thích các thuật toán đệ quy flood-fill hoặc thử sức các vấn đề từ Project Euler (một trang web hay cho những ai muốn mài dũa kỹ năng lập trình).  Đối với người mới bắt đầu học thì những núi cao vực sâu này có vẻ không được vui lắm. Đây là một số chủ đề mà bạn nên tránh vào lúc bắt đầu:

  • Lập trình hướng đối tượng
  • đệ quy
  • design pattern
  • Cấu trúc dữ liệu (trừ list/array) hay từ điển / hashmap (linked-link, cây nhị phân, vv)
  • giao thức mạng (ngoài các request HTTP đơn giản)
  • cơ sở dữ liệu SQL, hay DSLS khác…

Một nguyên tắc cơ bản: Nếu đó là loại câu hỏi sẽ xuất hiện trong một cuộc phỏng vấn tại Google, bỏ qua nó có lẽ là hơn. Khi bắt đầu, một loạt các chủ đề rộng vẫn tốt hơn là đi sâu vào những chi tiết kỹ thuật. Nên cho con bạn được tìm thấy niềm đam mê của mình. Một khi con bạn đã nhấm thử các mẩu của miếng bánh lập trình, nó sẽ phấn khích khám phá những phần mà nó thích.