Mobile Hackathon và góc nhìn về công nghệ
Hi, cuối tuần vừa rồi mình có đi tham gia Mobile Hackathon của Google Developer Group. Tính từ đầu năm thì đây là lần thứ 3 mình tham gia Hackathon và ....... tạch :cry: . Theo thuật ngữ dân game là triple kill. Con nhà người ta thi đâu đậu đó, còn mình từ lúc lên đại học thi đâu rớt đấy, tính ra cả chục lần rồi chứ không có ít. Tuy nhiên, cái gì cũng có nguyên nhân của nó, qua mỗi lần thất bại mình đều học hỏi được nhiều thứ cũng như biết được thực lực đang ở mức nào. Và lần này cũng không phải ngoại lệ, trước và trong lúc diễn ra cuộc thi, mình luôn quan sát xung quanh và cũng rút ra được nhiều bài học cho bản thân
My Team
Gần sát ngày thi ( trước 3 ngày ) BTC mới gửi email xác nhận tham gia nên mình cũng không chuẩn bị gì. Yêu cầu cuộc thi là xử dụng công nghệ Firebase thôi ( lúc sau có sửa lại là sử dụng công nghệ của Google mà mình không để ý ). Cũng còn khoảng 2 ngày để mình học Firebase. Lý do mình chọn Firebase tại vì mình đăng ký lẻ chưa có nhóm nên học 1 cái coi như phòng thân :)), lên còn có đất dụng võ.
BTC có tổ chức trước một ngày (tối 28-10) meet up để thông báo giải thưởng, brainstorm ý tưởng. Bữa đó mình lên mới ngỡ ngàng là mọi người gần như đăng ký theo nhóm hết rồi. Nhìn xung quanh ai ai cũng có anh em bà con đi theo, chỉ mình là cô đơn lẻ bóng. May cũng tìm được một bạn năm 2 Bách Khoa và một anh sắp tốt nghiệp cùng trường. Vậy là set up team 3 người. Đây cũng là lý do mình thi đâu rớt đó. Người ta có câu "Muốn đi nhanh hãy đi một mình, nhưng nếu muốn đi xa hãy đi cùng nhau!" Mỗi lần mình đi thi đều không có team từ trước. Mặc dù là Hackathon, tuy nhiên có team trước thì bạn sẽ có nhiều lợi thế hơn. Mọi người cũng đã có thời gian làm việc chung hoặc ít nhất cũng hiểu thế mạnh của nhau hoặc có nghiên cứu công nghệ cùng nhau. Qua đó có thể chọn lựa idea phù hợp, đến Hackathon chỉ code, debug thôi. Còn với team mình, mình thì code IOS, 2 người còn lại Android, thế là thống nhất thôi cứ làm đi, coi cái nào hoàn thiện hơn thì lấy cái đó nộp.
Phải có đội nhóm mới làm nên chyện được!
Team mình đã làm gì?
Ý tưởng là một app luyện đề thi. Xét về nhu cầu thi ai trong chúng ta cũng từng một lần thi cái gì đó. Có thể là thi đại học thi chứng chỉ tiếng Anh: TOEIC , IELTS, TOEFL,vv. App sẽ có các tính năng chính là - Thi đấu ( làm đề ) trực tuyến với người khác, hỗ trợ tối đa 6 người cùng lúc để tăng tính cạnh tranh - Phân tích các câu người dùng đã làm để gợi ý các phần người dùng còn yếu. Đề nghị họ làm lại các câu hỏi trong phần đó. Ví dụ người dùng giải 100 câu trong môn Toán và sai 5 câu trong phần tích phân thì sau khoảng 2 tuần thì app sẽ gửi thông báo để user làm lại những câu này. - Cách memotize: User bình thường sau khi thi đấu trực tuyến thì chỉ xem được đáp án, user trả phí có thể xem được lời giải chi tiết. Mức phí được trả cho các nhà xuất bản sách đã cung cấp câu hỏi. Thông tin chi tiết các bạn xem thêm qua link dưới, có gì comment góp ý với nhé! https://github.com/KhoaVanNguyen/Exam-Fights
Góc nhìn về công nghệ
Kết quả thì mọi người cũng biết rồi, team mình tạch :cry: . Nên trong phần này mình xin nói về các team khác cũng như những bài học, góc nhìn về công nghệ sau cuộc thi. Nếu như lần trước, mình ấn tượng với các phần thi về IoT, thì lần này là các nhóm có sử dụng Machine Learning.
Có nhóm xài nhận diện giọng nói trong app quản lý chi tiêu, nhóm làm nhận diện hình ảnh sản phẩm trong app mua hàng, nhóm làm nhận diện khuôn mặt để hỗ trợ chăm sóc khách hàng,vv. Có khoảng 6-8 team có dùng Machine Learning. Một team đoạt giải là ứng dụng tóm tắt báo cho người khiếm thị.
Thay vì để user nhập liệu theo cách truyền thống là nhập tay, giờ mình cho họ nhập bằng giọng nói, hình ảnh. Thay vì dữ liệu để một cục trong máy, giờ ta cho máy phân tích, tự train tự học với các dữ liệu đó và xuất ra output những thứ ta cần.
Đây cũng là một kinh nghiệm mình đút kết được. Yêu cầu cuộc thi là sử dụng công nghệ của Google, nhưng team mình chỉ sử dụng mỗi Firebase, trong khi đó có hàng tá công nghệ vừa hay vừa hot sình sịch như TensorFlow, Google Cloud Vision API, Google Cloud Speech API, Google Cloud Machine Learning, Big Data các kiểu con đà điểu luôn mà team mình không xài.
Bạn đã biết hết công nghệ của Google chưa?
Nghĩ lại, nếu như app của mình có thêm tính năng phân tích dữ liệu, hệ thống Recommendation thì có thể khác. Tức là dự vào kết quả làm đề của user, app có thể recommend những quyển sách, những câu hỏi trong phần đó. Ngoài ra ví dụ user lựa chọn target điểm thi IELTS là 6.0 thì app có thể dựa vào dữ liệu người dùng để liệt kê những phần nào chưa tốt để user tập trung vào những phần đó.
Áp dụng công nghệ thời đại vào sản phầm sẽ dễ gây được ấn tượng hơn :))
Đúng là nếu áp dụng những công nghệ của thời đại như Machine Learning, Big Data, IoT,vv vào sản phẩm thì sẽ "prồ phét sần nồ" hẳng ra. À, bạn nào chưa hiểu Machine Learning là gì có thể xem lại link ở đây nhé What The F is ML
Bài học
Chưa nói đến lúc làm bài, team mình đã thua từ lúc đọc đề =)), không phải lạc đề mà không xử dụng hết dữ kiện của đề bài. Công nghệ của Google nhiều như thời gian Tiến Đạt quen Hari Won trong khi mình chỉ chọn một cái là Firebase mà thôi.
Thuyết trình hay cũng là lợi thế
Quay lại cuộc thi Hackathon, có 1 điểm mà cuộc thi nào cũng có đó là các cá nhân khuấy động sân khấu với những màn thuyết trình bốc lửa như tại WWDC. Có một team làmm app hẹn hò na ná Tinder thuyết trình rất vui, lôi kéo được khán giả. Một team khác là team đạt giải sản phẩm kĩ thuật tốt nhất. Team này có các thành viên đã đi làm. Họ làm một game 3D online 5 người chơi, gameplay giống slither.io. Sản phẩm cực cực tốt, thuyết trình hay, tự tin, không có giải cũng lạ! Game đó bạn có thể xem demo tại: đây
Review về các phần khác
Một phần nhỏ của bài viết nhưng không kém phần quan trọng. Như những Hackathon khác, tham dự bạn sẽ được tặng áo, ăn uống free. Đồ ăn ngon, bổ, nhiều món. Nhưng cái quan trọng là có mấy bạn CTV từ Đại học Hoa Sen xinh đẹp gắp đồ ăn cho. BTC đã rất chuyên nghiệp khi chọn CTV xinh để anh em có động lực làm bài!
Hình ảnh chỉ mang tính chất minh họa
Tư vấn tuyển sinh
Trong Hackathon, mình có để ý là các team từ Khoa Học Tự Nhiên, Bách Khoa đa số làm về Machine Learning, còn trường mình - UIT cũng có 4,5 đội nhưng không có team nào đi theo hướng này ( ML ). Đương nhiên có nhiều cao thủ và họ không thích đi thi thố, tuy nhiên theo nhận định của mình thì KHTN, BK đào tạo nền tảng chắc hơn. UIT thì phân ra nhiều ngành và chuyên ngành hẹp, một số ngành UIT chiếm thế mạnh như an toàn thông tin, nhúng, game, phần mềm. Vì thế nếu bạn theo hướng nghiên cứu và phân vân giữa 3 trường nên chọn 2 trường kia. Nhắc lại đây chỉ là ý kiến chủ quan của mình thôi nhé
Góc suy ngẫm
Thực ra mình là người rất chậm tiêu, học trên trường mình rất hay mất tập trung. Mình thường mất gấp đôi thường gian so với người khác để hiểu một kiến thức về lý thuyết. Vì thế mình thường học thực hành trước! Đó là lý do tại sao mình phù hợp với cách học top down. Từ những lần tạch trong các cuộc thi, mình học hỏi được thêm nhiều điều, biết khả năng đang ở mức nào, mọi người đang nghiên cứu công nghệ gì. Từ lần đầu tiên tham gia hackathon chỉ sử dụng framework kéo thả để làm sản phẩm thì các lần sau mình đã là coder chủ lực của team :)).
Mình là fan cứng của đội tuyền bóng đá Việt Nam. Mình không bỏ lỡ bất kỳ trận đấu nào từ U19, U22,U23 đến đội tuyển quốc gia. Nhưng giải nào đội tuyền đá cũng đều tạch từ SEAGAME đến AFF CUP, giải châu Á hay vòng loại World Cup. Gần đây Futsal và U19 đã tham dự được World Cup. Mình tin chắc nếu cứ tiếp tục cố gắng như hiện giờ, ngày mình tham dự "World Cup" không còn xa. Hy vọng lần Hackathon sau sẽ có bài viết về sản phầm của mình đạt giải.
Ai thi đâu rớt đó giống mình thì đừng nản nhé!
Thôi, mình đi học mờ sin lơn ninh đây :))