Showing posts with label blogging. Show all posts
Showing posts with label blogging. Show all posts

8/18/2024

Trường - Khoa - Viện đào tạo trực thuộc Đại học Bách Khoa Hà Nội


Ngày 2/12/2022 Trường đại học Bách Khoa Hà Nội đã trở thành Đại học Bách Khoa Hà Nội, kể từ đó Đại học Bách Khoa Hà Nội liên tiếp thành lập các trường thành viên là các viện đào tạo ngày xưa. Hiện nay Đại học Bách Khoa Hà Nội gồm 13 trường - khoa - viện trực thuộc. Bài viết này mình sẽ giới thiệu tới mọi người 13 trường - khoa - viện trực thuộc Đại học Bách Khoa Hà Nội và website thông tin chính thức của từng trường - khoa - viện.

1. Khoa giáo dục Quốc Phòng & An Ninh

Văn phòng: D3-504

2. Khoa giáo dục thể chất

Văn phòng: Tầng 2 - nhà thi đấu Bách Khoa

3. Khoa lý luận chính trị

Văn phòng: D3-306

Website: https://fpt.hust.edu.vn/

4. Trường Cơ Khí

Văn phòng: 614M-C7

Website: https://sme.hust.edu.vn/

Email: sme@hust.edu.vn

5. Trường CNTT & TT


Văn phòng: B1-505

Website: https://soict.hust.edu.vn/

Email: vp@soict.hust.edu.vn

6. Trường Điện - Điện tử


Văn phòng: C7-E605

Email: seee@hust.edu.vn

Website: https://seee.hust.edu.vn/

7. Trường Hóa và Khoa học sự sống

Văn phòng: 

Email: scls@hust.edu.vn

Website: https://scls.hust.edu.vn/

8. Trường Vật Liệu

Văn phòng: D8-706

Email: smse@hust.edu.vn

Website: https://smse.hust.edu.vn/

9. Khoa Toán - Tin 

Văn phòng: D3-106

Email: fami@hust.edu.vn

Website: https://fami.hust.edu.vn/

10. Khoa Vật Lý Kỹ Thuật


Văn phòng: C10-116

Email: sep@hust.edu.vn

Website: https://sep.hust.edu.vn/

11. Trường Kinh Tế

Văn phòng: C9-303,304

Email: sem@hust.edu.vn

Website: https://sem.hust.edu.vn/

12. Khoa Ngoại Ngữ

Văn phòng: M310-C7

Email: sofl@hust.edu.vn

Website: https://sofl.hust.edu.vn/

13. Khoa khoa học và công nghệ giáo dục

Văn phòng: M321-C7

Email: sepd@hust.edu.vn

Wesite: https://fed.hust.edu.vn/

4/10/2022

Sinh viên CNTT kiếm tiền như nào? | Sharing


Sinh viên CNTT thì kiếm tiền như nào? Chắc hẳn là nhiều người sẽ có câu hỏi như vậy khi bắt đầu bước lên đại học và trong các năm học sau đó. Nếu các bạn lên Google và tìm kiếm thì chắc chắn ra rất nhiều kết quả với những công việc khác nhau. Trong bài viết này mình muốn chia sẻ thực tế về những gì mà bản thân mình đã làm hoặc những bạn bè thân thiết của mình từng làm để kiếm thêm thu nhập trong khoảng thời gian là sinh viên.


1. Làm gia sư

Khi còn là sinh viên năm 1-2, kiến thức chuyên ngành bạn chưa có nhiều, trong khi đó bạn vừa phải học các môn đại cương trên trường và những kiến thức từ cấp 3 vẫn còn nắm vững thì làm gia sư là một công việc rất hợp lý.

Gia sư nói chung là một công việc không quá vất vả, nhưng cũng đem lại nguồn thu nhập cũng gọi là ổn định cho các bạn sinh viên. Tuy nhiên mình cũng xin lưu ý tới các bạn khi nhận các lớp, nếu nhận được lớp dạy từ người quen hay bạn bè thì tốt, còn không nếu nhận lớp từ trung tâm thì nên tìm hiểu xem trung tâm đó có uy tín hay không, xem những review về trung tâm trên facebook trước khi cọc tiền. Nói đi cũng phải nói lại, các bạn đi dạy học hãy có một thái độ tốt, chuẩn bị tốt trước khi đi dạy, báo cáo tình hình học tập thường xuyên của học sinh cho phụ huynh. Khi các bạn dạy tốt lúc đó các bạn sẽ được các phụ huynh giới thiệu cho nhau để tới kèm con/em họ, khi đó các bạn còn có thể có lớp dạy mà không cần mất phí tìm lớp qua trung tâm.

2. Giải bài tập thuê trên các ứng dụng online

Cái này thì hình thức nó gần giống gia sư nhưng tự chủ được thời gian hơn một tí, các bạn có thể làm lúc nào các bạn thích. Thu nhập thì chưa chắc đã ổn định tùy vào mức độ chăm chỉ giải bài của bạn.

Trên mạng thì có rất nhiều app kiểu này, mình và một số bạn mình đã từng làm qua một app cũng khá ổn các bạn có thể tham khảo: QUANDA.

3. Đi thực tập

Khi vào tầm cuối năm 2, hoặc là năm 3, 4 lúc đó các bạn có thể nghĩ tới việc đi thực tập tại các công ty. Việc thực tập vừa giúp bạn học hỏi thêm kiến thức, văn hóa ở các công ty cũng giúp bạn có thêm một phần thu nhập từ tiền trợ cấp/lương từ công ty đó. Hầu hết các công ty công nghệ đều sẵn sàng trả cho các thực tập một mức trợ cấp/lương tầm 1-2-3-4 triệu mặc dù đa số các bạn chỉ vào công ty để học hỏi mà chưa đóng góp được gì cho công ty.

Đi thực tập giúp bạn vừa học hỏi được nhiều kiến thức mà cũng giúp bạn có được một nguồn thu nhập ổn định.

4. Làm freelancer

Công việc này đòi hỏi bạn phải có kinh nghiệm, kỹ năng rồi nên mình cũng ghi chú ở đây là dành cho các sinh viên tầm năm 3,4,5 khi mà các bạn đã trang bị cho mình một lượng kiến thức cụ thể và một ít kinh nghiệm khi đi thực tập và làm bài tập lớn trên trường.

Freelancer đơn giản là người ta thuê gì thì mình làm lấy, nhưng mà tìm kiếm các công việc freelancer qua đâu, một số các trang web tìm việc freelancer nổi tiếng tại Việt Nam mà các bạn có thể tìm hiểu như là:

Trên tất cả các kênh này đều lưu lại hồ sơ làm việc của bạn, đây cũng có thể là một vũ khí mạnh mẽ thuyết phục các nhà tuyển dụng sau này khi bạn nộp đơn vào một công ty làm việc.

Ngoài ra, thì bạn có thể nhận các công việc được giới thiệu từ người quen, những người thuê làm đồ án, bài tập lớn trên các group Facebook.

2/20/2022

Sinh viên nên sở hữu cho mình một blog cá nhân? | Share


Sinh viên có nên sở hữu cho mình một blog cá nhân? Với ý kiến của mình thì là có. Nhiều bạn có suy nghĩ: "uồi, viết có ai đọc đâu mà viết", nhưng thế thực sự là sai lầm, viết blog đâu chỉ phải là dành cho mọi người đọc đâu, viết blog đầu tiên là phải viết cho bản thân mình trước.

Đa số chúng ta đều không phải những thiên tài hay là những siêu trí nhớ, vì thế các kiến thức mà chúng ta từng biết, từng được học có thể quên đi vào một ngày nào đó, vì thế bạn viết blog là để lưu lại những kiến thức này để cho sau này bất cứ khi nào cần cũng có thể mang ra tra cứu lại.

Nếu bạn có kiến thức sâu về một phần nào đó như là cấu trúc dữ liệu, blockchain, mạng máy tính, hay là về các ngôn ngữ lập trình như Java, C++, C#,... Việc bạn viết blog chia sẻ về những kiến thức này sẽ giúp bạn có thể hệ thống lại lượng kiến thức này. Khi viết blog bạn sẽ có trách nhiệm hơn về kiến thức của mình, mặc dù là viết cho chính mình đi nữa thì cũng không thể viết lằng nhằng được, khi đó các bạn sẽ tự mình phải Google lại, tìm hiểu lại, xác minh lại kiến thức này đúng và đủ chưa, từ đó cũng sẽ giúp bạn củng cố được kiến thức.

Việc viết ra, viết lại những kiến thức của bạn cũng chính là một lần được học lại.

Trên blog, bạn cũng có thể viết lại những câu chuyện nào đó của bạn ở thời sinh viên, để sau này khi 10-20 năm sau xem lại chúng ta cũng có những kỷ niệm thực sự khó quên.

Viết blog có thể kiếm tiền! Dĩ nhiên là nếu kiếm được tiền thì blog của bạn phải có nhiều lượt xem và chắc chắn rằng lúc đó blog của bạn phải vượt qua mức là viết cho bản thân mình, lúc đó thì mỗi bài viết bạn viết ra sẽ phải cẩn thận hơn, chỉn chu hơn, vì lúc đó mỗi bài viết trên blog của bạn không phải dành cho bạn nữa mà là dành cho mọi người.

Vậy viết blog ở đâu, hiện nay có rất nhiều nền tảng để một người có thể tạo được một blog cá nhân một cách dễ dàng, mình biết đa số các bạn theo dõi website này đều là những sinh viên CNTT, vì thế mình gợi ý tới mọi người một số nền tảng mà dân CNTT hay sử dụng để làm blog cá nhân: 

1. Wordpress

Wordpress là một CMS và wordpress cũng rất là nổi tiếng rồi, trên internet cũng có rất nhiều bài viết nói về wordpress rồi, mình chỉ có một lưu ý là nếu bạn quan tâm tới wordpress thì hãy để ý phân biệt https://wordpress.org/ và https://wordpress.com/. Trong bài viết này hay rất nhiều các bài viết khác trên internet, khi nhắc tới wordpress thì các bạn hiểu rằng là đang nói tới https://wordpress.org/. 

Với Wordpress bạn hoàn toàn miễn phí khi sử dụng, nhưng bạn sẽ phải mất chi phí thuê hosting và mua tên miền, chi phí cũng khá là đắt đỏ nếu bạn đang là sinh viên. 

2. Github page

Github có lẽ không gì xa lạ với sinh viên CNTT, vậy việc tận dụng github page làm website cá nhân thì phải gọi là nhất cử lưỡng tiện. Với github page thì bạn sẽ có một blog cá nhân với đuôi .github.io, nghe khá là ngầu phải không, dĩ nhiên là bạn có thể thay thế bằng tên miền tùy chỉnh của mình.

Để bắt đầu với github page, hãy xem qua Thiết lập trang GitHub Pages với Jekyll. Jekyllrb là công cụ sinh ra website tĩnh (static website), nói một cách chính xác nhất thì nó là text transformation engine (cỗ máy chuyển đổi text).

Với Jekyll github page bạn có một kho template phong phú, free thao hồ chọn lựa: 

Github page có thể mang lại cho bạn một blog cá nhân đẹp và hoàn toàn free, tuy nhiên thì để sử dụng github page thì bạn cũng cần một số kiến thức để có để chỉnh sửa và quản lý blog của mình.

3. Blogger

Blogger thì dễ sử dụng như wordpress và hoàn toàn miễn phí từ A-Z như github page vậy, blogger như là việc dung hòa giữa 2 ưu điểm của wordpress và github page vậy. Tuy nhiên đây lại là 2 ưu điểm duy nhất mà blogger đem lại. Nhược điểm lớn nhất của blogger chính là blog của bạn nhưng lại không phải của bạn. Mình nói thế nghĩa là sao, khi bạn tạo blog trên blogger thì blog là của bạn nhưng dữ liệu của bạn đang do Google lắm giữ và Google hoàn toàn có thể xóa blog của bạn bất cứ lúc nào nếu bạn vi phạm nguyên tắc, vì thế trong mọi trường hợp nếu sử dụng blogger hãy thường xuyên sao lưu lại dữ liệu của bạn đề phòng trường hợp xấu nhất xảy ra.

4. Viblo

Viblo giống như mạng xã hội công nghệ thông tin vậy, bạn đăng kí tài khoản và viết những bài viết trên nền tảng mà viblo cung cấp. Viblo có sẵn lượng thành viên và lượt truy cập khổng lồ, vì thế khi viết blog trên viblo bạn có thể đem bài viết của bạn ngay tới hàng triệu người. Nhưng dĩ nhiên rồi, bạn viết bạn trên nền tảng của người khác thì ngoài viết bài và viết bài ra thì bạn không thể làm thêm được gì như là việc thay đổi giao diện,...

10/16/2021

Native với Cross Platform: ưu và nhược điểm | Sharing


Khi mà chục năm trước thì web là sự theo đuổi của bao các lập trình viên kì nay kỉ nguyên của web đang dần khép lại, khép lại không phải là không tìm được việc nữa nha, mà là nó không còn hot, không còn là trend như chục năm về trước nữa chứ việc làm thì sẽ không bao giờ là thiếu. Thay vào đó thì ngày nay thiết bị di động, các thiết bị cầm tay đang dần trở lên phổ biến, vì thế phát triển ứng dụng cho các thiết bị di động đang dần trở lên phổ biến và tương lai trong mấy năm tới phát triển ứng dụng cho thiết bị di động sẽ là một trend mới.

Hiện nay có 4,4 triệu ứng dụng trên 2 chợ ứng dụng lớn nhất là Google Play và AppStore, nhắm vào thị trường 14 tỷ thiết bị di động trên toàn thế giới (xem biểu đồ bên trên). Dự kiến tới năm 2025 thì số thiết bị di động có thể lên tới 18,2 tỷ cái. Đây rõ ràng là một thị trường màu mỡ, giàu tiềm năng mà rõ ràng là ai cũng muốn chiếm lấy. Tiền lương trả cho các lập trình viên mobile cũng không hề thấp, với các bạn từ 2-3 năm kinh nghiệm thì mức lương 40 triệu đồng / tháng là bình thường, tuy nhiên vấn đề lương là khó nói chúng ta chỉ nhìn vào để làm động lực thôi. Mình sẽ không nói tới lương nữa vì nó là vấn đề nhạy cảm, các bạn chỉ biết rằng lập trình mobile app là một xu hướng và nếu các bạn giỏi thì các công ty hoàn toàn chải thảm đỏ mời các bạn về làm mới mức lương cực kì hấp dẫn.

OK! Nói qua vậy để mọi người thấy rằng phát triển ứng dụng cho thiết bị di động sẽ là xu hướng trong các năm tiếp theo. Vậy học lập trình mobile thì phải học cái gì? Có 2 loại ứng dụng mobile app là native app và cross platform app. Chúng ta sẽ đi từng vào từng loại một nha.

Native App Development

Phát triển ứng dụng native hay ứng dụng gốc tức là đề cập tới việc xây dựng ứng dụng dành riêng cho một nền tảng bằng các ngôn ngữ dành riêng cho nền tảng đó, ví dụ như Android sẽ là Java hoặc Kotlin, iOS sẽ là Swift hoặc Objective-C. 

Các ứng dụng gốc được hỗ trợ từ trực tiếp các nhà phát triển nền tảng nên các ứng dụng native là các ứng dụng có hiệu năng cao, trải nghiệm người dùng tốt. Tuy nhiên chi phí phát triển ứng dụng native là cao vì các công ty phải phát triển ứng dụng trên cả 2 nền tảng Android và iOS là độc lập với nhau. 

Ưu điêm việc phát triển ứng dụng Native: 

  • ‍Broad Functionality: bạn sẽ có quyền truy cập vào mọi API và công cụ do nền tảng mà bạn đang làm việc cung cấp. Về mặt kỹ thuật, không có giới hạn nào về cách các lập trình viên có thể làm việc với ứng dụng mới.

  • Hỗ trợ tốt hơn từ các store: một ứng dụng native sẽ dễ dàng xuất bản và được xếp hạng cao hơn trên các chợ ứng dụng vì chúng mang lại hiệu suất và tốc độ tốt hơn.

  • Khả năng mở rộng: các ứng dụng được xây dựng cho môi trường gốc cũng có xu hướng mở rộng hơn, nhờ sự linh hoạt trong quản lý tài nguyên và hàng loạt công cụ có sẵn.‍

  • Hiệu năng cao và trải nghiệm người dùng tốt: các ứng dụng native được hỗ trợ trực tiếp từ các nhà phát triển nền tảng nên mang lại hiệu năng tốt hơn, trải nghiệm người dùng tuyệt vời hơn.

Hạn chế của phát triển ứng dụng native: 

  • Giá thành và thời gian: việc phát triển ứng dụng native chỉ giúp cho ứng dụng của bạn chạy trên 1 nền tảng, điều đó dẫn tới bạn phải có 1 team khác để build lại 1 ứng dụng khác, mới hoàn toàn để chạy trên các nền tảng khác, điều này là rất tốn kém và mất thời gian.

Cross-platform App Development

Phát triển ứng dụng đa nền tảng chỉ ra quá trình tạo ra một ứng dụng hoạt động trên một số nền tảng. Điều này được thực hiện bằng cách sử dụng các công cụ như React Native, Xamarin và Flutter, nơi các ứng dụng được tạo có thể được triển khai trên cả Android và iOS.

Khi ứng dụng được viết một lần và có thể chạy đa nền tảng thì điều này giúp cho bạn có thể tiết kiệm được thời gian cũng như tiền bạc bỏ ra so với khi xây dựng các ứng dụng Native.

Về ưu điểm và hạn chế của cross-platform? Gần như mọi thứ là ngược lại so với app native. Khi phát triển các ứng dụng platform các bạn có thể gặp khó khăn khi truy cập vào các chức năng của điện thoại thông minh như micro, máy ảnh, ... (‍Limited Functionality), các ứng dụng đa nền tảng thường chậm hơn so với các ứng dụng gốc vì chúng cần một lớp khác ở giữa bổ sung, các ứng dụng đa nền tảng không thể tận dụng các UX gỗc nên mang lại trải nghiệm người dùng không tôt.

Ưu điểm duy nhất mà cross-platform mang lại chính là tiền, chi phí. Việc phát triển ứng dụng đa nền tảng sẽ giúp bạn chỉ cần viết 1 lần mà ứng dụng có thể chạy trên các nền tảng khác nhau. Ưu điểm tuy ít nhưng nó là mấu chốt để cho các nền tảng cross-platform phát triển ngày càng mạnh.

Tại trường Đại Học Bách Khoa Hà Nội các bạn có 2 môn học là "Phát triển ứng dụng cho thiết bị di động" và "Phát triển ứng dụng đa nền tảng" là được học về phát triển mobile app. Với môn "Phát triển ứng dụng đa nền tảng" các bạn được học về các nguyên lý đa nền tảng, các framework đa nền tảng như là React Native và Flutter. Với môn "Phát triển ứng dụng cho thiết bị di động" các bạn được dạy tập chung vào phát triển ứng dụng native trên Android với công cụ Android Studio, mình sẽ nói kĩ hơn về 2 môn này trong các bài viết sau nha.

Nếu các bạn muốn theo mobile app thì nên học gì? Với ý kiến của mình các bạn nên chọn cho mình 1 nền tảng  để phát triển app native để học (Android hoặc iOS) và 1 framework hỗ trợ phát triển các app cross-platform (React Native hoặc Flutter). Đó là ý kiến của mình thôi, còn dĩ nhiên các bạn có thể học tập chung vào Android, hoặc học tập chung vào iOS hoặc là học tập chung vào 1 trong các framework đa nền tảng cũng không hoàn toàn có vấn đề gì.

Tham khảo: https://www.uptech.team/, https://www.statista.com/

9/12/2021

Nhập môn học máy và khai phá dữ liệu


Trong seri bài này mình sẽ tóm tắt các phần liên quan tới học máy và khai phá dữ liệu dựa trên slide và bài giảng môn học được thầy Thân Quang Khoát giảng dậy https://bkai.ai/ (facebook BK AI fb.com/bk.ai ). Bài viết gạch ra một số ý mà theo mình thì nên trọng tâm, tuy nhiên mình khuyên các bạn nên học bài bản và xem video vì cá nhân mình xem 1-2 lần thì vẫn hơi mông lung :(  . Đây là môn học nên tảng, cung cấp kiến thức cơ bản nhất cho các bạn theo định hướng data scientis (hiểu sơ sơ  là sử dụng các kĩ thuật học máy (cluster analysis, decision trees, random forest, neural networks, logistics regression, ...) để xây dựng các mô hình toán học phục vụ các bài toán kinh doanh ), còn cụ thể data scientis, data engineer, data analysis như nào các bạn có thể tham khảo yt.com/dataGuyStory và theo mình tìm hiểu data scientis thường là người có mức lương cao nhất.

Bài này mình sẽ tóm tắt 2 phần giới thiệu chung và Hồi quy (Regression) , còn lại một số khác như -Phân cụm(Kmean) , Học dựa trên láng giềng KNN, Cây quyết định, ... có lẽ (chỉ là có lẽ :D ) mình sẽ ra ở bài sau. Tài liệu môn học này sẽ được đăng sau nha :D 

Giới thiệu chung

  • Học máy : xây dựng hệ thống tự cải thiện bản thân bằng cách học từ dữ liệu

  • Khai phá dữ liệu : tìm ra tri thức

  • Học : improve Performance at Task, following Experience.
    ví dụ với bài toán phân loại thư rác :
    • P : độ chính xác của phân loại thư đó là rác 

    • T : phân loại

    • E : tập thư thường/ rác đã có từ trước thời điểm phân loại 

  • Bản chất của việc học : học hàm f : x -> y. f còn gọi là model (dữ liệu theo 1 mô hình nào đó ). học model là học tham số của model đó.

  • Dữ liệu học : tập học (training set, tập quan sát ) gồm X, Y (tập các x và y tương ứng). x là dữ liệu đầu vào và y là đầu ra của dữ liệu đó 

  • Phân loại: 

    • Học có giám sát ( supervised learning): 

      • Classification : Multiclass (phân loại nó vào 1 lớp), Multilabel(phân nó vào nhiều lớp - gán nhiều nhãn)

      • Regression : khác với classification là đây đầu ra liên tục.

    • Unsupervised learning (không có y, dữ liệu không có nhãn)

      • Phân cụm

      • Phát hiện xu hướng

    • Học bán giám sát :  Semi-Supervised Learning

    • Học tăng cường : Reinforcement Learning

  • Vấn đề: 

    • Giải thuật học ( chủ yếu là lặp để tối ưu) không hội tụ : No-free-lunch. không có thuận toán luôn hiệu quả trên mọi ứng dụng. mỗi bài toán cần thử nghiệm nhiều thuật toán xem cái nào tốt nhất.

    • Lựa chọn dữ liệu : nhiễu, lỗi

    • Khả năng học: khả năng khái quát hóa ( generalization) tập học để có thể  phân loại tốt trên tập thực tế(tập dữ liệu mới, tập dữ liệu tương lại  ), tránh vấn đề overfitting.

    • Overfitting (xảy ra khi khái quát hóa tốt khi học nhưng với tập dữ liệu tương lai, cái cần thì lại rất tệ ) : mô hình quá phức tạp, dữ liệu lỗi, quá bé.

    • Mong muốn tổng quát hóa cao , tương đương với việc không dính overfitting

    • Giải quyết : 1 trong số đó là kĩ thuật Regularization

Hồi quy

  • Học hàm, đầu ra liên tục

  • Linear model

  • x là đầu vào(các x i là các thuộc tính của 1 dữ liệu đầu vào / trong tập dữ liệu đầu vào ), w là trọng số, là cái cần đi học, tương đương với việc xác định đầu vào x đóng góp bao nhiêu phần vào việc quyết định đầu ra cho mô hình 

  • Cách học :

    • Hàm lỗi(lost, cost function) : với tập w hiện tại , ta sẽ tính được đầu ra, đầu ra đó là đầu ra của model (linear model ), nó hoàn toàn có thể khác với thực tế. đại loại lấy sai khác 2 cái này (đầu ra dự đoán của model với thực tế) 

    • Mong muốn lỗi này trên tất cả dữ đầu vào mà mình sở hữu trung bình thấp nhất

    • Thuật toán học : 

      • Cực tiểu hóa lỗi ordinary least squares: dùng gradient descent(từ từ cập nhật trọng số cho phù hợp )  có thể giải bằng toán học : chuyển vị gì đấy …(cho đạo hàm bằng 0 tìm luôn w cho nhanh ), vấn đề không có ma trận chuyển vị ?

      • phương pháp trên quá tập trung vào dữ liệu,không có bất cứ gì để điều chỉnh  khả năng tổng quát hóa cho tương lai =>sinh ra Ridge regression  bằng cách thêm lamda nhân bộ w(một đại lượng hiệu chỉnh mà mình đã nhắc trong bài 1 -Regularization ), hiểu là sau khi cho vào thì bạn sẽ cố gắng ép bọn w vê càng 0 càng tốt => kéo theo mỗi thuộc tính sẽ đóng góp rất ít vào việc quyết định đầu ra, tổng quát hơn (đoán thế :D). Nói chung turning lamda sẽ điều chỉnh đc độ overfitting. lamda càng lớn w càng nhỏ, lỗi tập train tăng, độ tổng quát tăng. (đánh đổi). lamda > 0 thì ma trận luôn khả nghịch

      • Lasso : cái lamda nhân bộ w ở trên cụ thể là nhân với L2 bộ w. ở đây thay L2 bằng L1. điểm hay của L1 là giảm miền tìm kiếm, lựa chọn thuộc tính(sẽ có 1 số thuộc tính không tác dụng cho w của nó = 0 ). dùng cho các bài toán nghiệm thưa . mất tính chất luôn  khả nghịch.

Mong nhận được bình luận cảm nhận, góp ý từ các bạn :(

7/06/2021

Tổng quan cơ sở ngành khoa học máy tính - Viện CNTT&TT (Phần 2)


Trong bài viết này mình sẽ tiếp tục giới thiệu về một số phần nhỏ trong khối cơ sở ngành khoa học máy tính tại đại học bách khoa hà nội . link bài phần 1.

Sau đây mình sẽ điểm qua một số nội dung, keyword mà bạn sẽ được học mà theo mình là nên nắm chắc, các bạn có thể google để tìm hiểu. Những kiến thức cụ thể mình sẽ nói trong seri bài viết riêng về từng môn học, hy vọng được các bạn đón nhận trong tương lai.


Khối liên quan hệ thống máy tính 


Trong môn nguyên lý hệ điều hành bạn sẽ được học về các phần

    1. Tổng quan

  • Các khái niệm : Tiến trình(process), Luồng (thread), tài nguyên của máy tính, shell, system call

  • phân loại hệ điều hành : xử lý theo lô, theo thời gian, phân tán,..

  • tính chất mà một hệ điều hành cần có: tin cậy, an toàn, tổng quát theo thời gian,..

  • Cấu trúc, thành phần hệ thống : vấn đề về quản lý tiến trình, bộ nhớ, input/ output, quản lý file

    2. Quản lý tiến trình

  • về tiến trình: bài toán điều phối(dùng hàng đợi), thao tác, hợp tác(bài toán sản xuất, tiêu thụ), truyền thông(đệm, socket)

  • về luồng

  • về điều phối CPU: khái niệm trưng dụng tài nguyên, các thuật toán điều phối (SJF, FCFS, RR, )

  • tài nguyên găng và điều độ tiến trình- khái niệm và công cụ xử lý(khóa trong, test and set, đèn báo, monitor )

  • bế tắc và xử lí bế tắc :khái niệm, 4 điều kiện, phương pháp phòng ngừa(tác động 1 trên 4 điều kiện), phòng tránh(chuỗi an toàn), nhận biết và khắc phục(chỉ ra bế tắc và xử lý)

    3. Quản lí bộ nhớ

  • Tổng quan : bộ nhớ, chương trình, liến kết địa chỉ (logic- vật lí) 

  • Chiến lược tuản lí bộ nhớ: phân chương cố định, phân chương động, phân đoạn chương trình, phân trang

  • Bộ nhớ ảo, đổi trang 

    4. Quản lí file 

  • các khải niệm tổng quan , cách tổ chức tài nguyên trên đĩa(vật lí- logic )

  • các khái niệm FAT,NTFS, EXT3,..


Tiếp đến là trong môn Kiến trúc máy tính 

    1. Giới thiệu 

  • CPI

  • time CPU

  • bài tập so sánh thời gian time CPU

    2. logic số, mạch cộng 

    3. Thanh ghi, bus

  • bus address

  • databus

  • bài tập xác định bus đánh địa chỉ tối thiểu

    4. Số học máy tính

  • bài tập : biểu diễn -77 dưới dạng 8bit ?

    5. MISP

  • yêu cầu hiểu lệnh mips

  • bài tập viết chương trình bằng mips

    6. Bộ xử lí 

  • chu trình load lệnh

  • hazard

    7. Bộ nhớ máy tính

  • sự liên quan thanh ghi- bộ nhớ chính- cache- bộ nhớ ngoài

  • tổ chức bộ nhớ cache, chiến lược thay thế bộ nhớ trong cache

  • bài tập tính số bit trên địa chỉ, nằm ở băng nhớ nào,..

    8. .. mấy chương cuối hình như không thi.

Bài cung cấp cho các bạn khá nhiều keyword và khá hoa mắt rồi, các bạn có thể ghé trang Kiến trúc máy tính hoặc Nguyên lý hệ điều hành để lấy tài liệu về tự đọc nhé, tương lai thì mình sẽ có bài chi tiết viết về những môn này (cụ thể hơn là hướng dẫn giải bài tập ) nhưng bao giờ viết thì mình chưa biết :>



7/04/2021

Tổng quan cơ sở ngành khoa học máy tính - Viện CNTT&TT (Phần 1)


Tiếp theo chủ đề review tổng quan về ngành khoa học máy tính đại học bách khoa, trong bài viết này, mình sẽ đi sâu hơn về một khía cạnh là cơ sở cốt lõi ngành. Trong chủ đề này, mình sẽ dùng hướng tiếp cận top down, đi từ tổng quát nhất tới cụ thể từng môn học, giúp các bạn có định hướng, bức tranh tổng quan  về những phần kiến thức mình đã, đang và sẽ được học. 


Như đã viết trong phần trước, cơ sở cốt lõi ngành bao gồm 20 môn với khoảng 50 tín chỉ, chiếm từ ½ tới ⅓ toàn bộ khối lượng học tập, sau đây là sơ đồ biểu diễn một số liên quan tới các môn học. đây được lây từ chương trình học của mình, sẽ có thể thay đổi qua các khóa. bạn có thể lấy đây làm cơ sở đề điều chỉnh chương trình học cho cân đối (một số lời khuyên mình đã có đề cập trong bài đầu tiên ), theo ý bạn muốn( sinh viên vào  năm 2 trường đã cho đăng kí học phần và đăng kí môn học).




Khối giao tiếp cơ bản



Bao gồm các môn như Làm việc nhóm và kỹ năng giao tiếp, Technical Writing and Presentation,Quản trị dự án CNTT. Giống như tên của nó, các môn này  chủ yếu đề cập tới các vấn đề liên quan làm việc nhóm, viết báo cáo, lập kế hoạch, quản trị 


Khối liên quan tới lập trình, tư duy lập trình, tư duy logic



Các môn học ở đây là cơ sở đề các bạn biết code và rèn luyện kỹ năng tư duy giải quyết vấn đề bằng lập trình. Ở cảm nhận cá nhân, những môn này khá khó và cần luyện tập rất nhiều để có thể thành thạo. ở bài viết này mình sẽ liệt kê các keyword mà các môn học có liên quan tới nhau (cùng một hàng là các keyword liên quan tới nhau giữa các môn )


Toán Rời Rạc 

Cấu trúc dữ liệu và giải thuật 

Kỹ thuật lập trình 

Thuật toán ứng dụng 

Đồ thị, các khái niệm liên quan 

   

thuật toán liên quan đồ thị, biểu diễn đồ thị bằng danh sách kề, ma trận khoảng cách...

thuật toán duyệt đồ thị BFS,DFS

cấu trúc dữ liệu: ngăn xếp (stack), hàng đợi (queue )

 

lập trình các bài toán liên quan duyệt đồ thị

thuật toán tìm đường đi ngắn nhất trên đồ thị, tìm kiếm trên đồ thị 

   

dạng toán khá khó trong các bài test của môn học 

đồ thị 

cấu trúc dữ liệu : cây.các thuật toán liên quan duyệt cây. Cây bản chất dược định nghĩa đệ quy ( liên quan stack )

   

2 môn này có phần này chung nên bạn có thể nên chuẩn bị tâm lý là thầy cô sẽ bảo là “chắc là môn kia dạy rồi nhỉ :D ” và bỏ qua mặc dù có thể môn kia các bạn không được học hoặc học qua loa :v

   
 

Độ phức tạp thuật toán, định lý thợ 

đánh giá tối ưu thuật toán 

đánh giá tối ưu thuật toán, thường thì một bài có thể có nhiều cách giải, nhưng sẽ tính điểm dựa theo độ phức tạp

 

Giải thuật liến quan tìm kiếm, sắp sếp

Giải thuật liến quan tìm kiếm, sắp sếp

Giải thuật liến quan tìm kiếm, sắp sếp

   

những tiết thực hành ở môn này là bước đệm cho tư duy giải bài lập trình trong môn thuật toán ứng dụng để bạn đỡ bỡ ngỡ. 

 
 

cấu trúc dữ liệu: ngăn xếp (stack), giải thích đệ quy. 

giải thích của đệ quy, cách đệ quy hoạt động,

lập trình các thuật toán : duyệt toàn bộ, chia để trị, nhánh cận, quay lui 

   

Tối ưu code  (tối ưu vòng lặp , các kĩ thuật liên quan biến)

giảm độ phức tạp=> tăng điểm 

   

kỹ năng debug, phát hiện lỗi sai, gỡ lỗi, test  

debug chương trình

(thật sự đây là một phần stress nhất nếu bạn có í định học môn này một cách nghiêm túc ) 

Thuật toán tham lam 

   

thuật toán tham lam.. mặc dù có thể không cho bạn được full điểm nhưng có ít nhất thì không bị mất hết điểm câu đó. trong môn này chỉ cần hơn nhau 1 điểm/ 400 điểm  là thứ hạng của bạn có thể up lên vài chục trên tổng số vài trăm sinh viên.

 

cấp phát bộ nhớ , con trỏ 

con trỏ , con trỏ hàm 

tối ưu code (tránh bị tràn bộ nhớ )

 

HASH => sau này dùng cho môn An toàn thông tin 

   
 

Cấu trúc dữ liệu cây(Btree) => sau này nhắc đến trong môn hệ điều hành , database 

   


Trên là một số liệt kê của mình về các phần liên quan, những phần sau mình xin phép cắt đi vì nếu viết thì sẽ khá dài cho một bài blog. Mình sẽ viết từng khối  trong một bài riêng. Sau loạt bài tổng quan về từng khối này, mình sẽ viết loạt về cụ thể từng môn, ủng hộ mình nhá <3, like fanpage chẳng hạn, để lại cho mình bình luận góp ý, mình hứa sẽ tiếp thu và thay đổi. 


Khối liên quan tới hệ thống máy tính


bao gồm 2 môn nguyên lý hệ điều hành và kiến trúc máy tính. 



Khối liên quan lập trình phần mềm 



Cơ sở dữ liệu(thực chất thì cái này dùng rất nhiều trong  mảng khác chứ không phải mỗi công nghệ phần mềm ),Nhập môn công nghệ phần mềm,Phân tích và thiết kế hệ thống(có thể liên quan tới cả  môn quản trị dự án công nghệ thông tin), Lập trình hướng đối tượng(là một nguyên lí, quy tắc,... để bạn lập trình nhiều mảng khác )


Khối liên quan trí tuệ nhân tạo , phát triển ứng dụng thông minh



Đây có thể nói là trend hiện nay, phổ cập trí tuệ nhân tạo :D. rất khó, thằng bạn mình (dẫu biết là trong chúng ta ai cũng có thằng bạn, ông anh,... để mỗi lần khó lại lôi ra :D nhưng đây là bạn mình thật) đã nghiên cứu về nó trong thời gian rất lâu và mình cảm thấy bạn là một người cực kì giỏi về mảng này(đặc biệt là giỏi về toán cơ bản, linh vực này cần thật sự nhiều toán cơ bản ) nhưng cuối cùng vẫn không qua được phỏng vấn lab DSLab( lab uy tín nhất của trường về Machine Learning), khá đáng tiếc :(. vì vậy nếu xác định theo hướng này thì bạn cần nghiêm túc ngay từ năm nhất với các môn toán cơ bản, có thể liên hệ vào lab qua thầy chủ nhiệm khoattq@soict.hust.edu.vn nếu lab có tuyên thành viên. 


Khối liên quan bảo mật thông tin, logic mạng



Ngoài review ra thì mục đính cao hơn  của trang là cung cấp cho các bạn nguồn cảm hứng, tạo động lực học tập, định hướng cho các bạn con đường lập trình với sinh viên khoa học máy tính đại học bách khoa nói riêng và tổng quan ngành lập trình nói chung(đối với các bạn bên ngoài trường), trả lời cho các bạn câu hỏi : tôi cần gì để có thể trở thành một lập trình viên ?

Cuối cùng, với mỗi nội dung mình viết hiện tại đang chỉ là một số keyword cơ bản nhất, các bạn có thể tự tìm hiểu bằng cách tra google với từ khóa đó + viblo. đay là một trang blog mình thấy đọc khá dễ hiểu. 


Good Luck, 

longpt


Thuật toán có thực sự quan trọng? | Blogging


Thuật toán là gì? Theo wiki, trong toán học và khoa học máy tính, một thuật toán, còn gọi là giải thuật, là một tập hợp hữu hạn các hướng dẫn được xác định rõ ràng, có thể thực hiện được bằng máy tính, thường để giải quyết một lớp vấn đề hoặc để thực hiện một phép tính.

Vậy học thuật toán để làm gì? Và tại sao gần như mọi trường đại học và điển hình tại Bách Khoa Hà Nội thì thuật toán là môn học không thể thiếu? Cùng nghe về chia sẻ của mình nha, nếu bạn có những ý kiến khác thì hãy comment để mọi người cùng biết nha.

Tại sao cần dùng thuật toán?

Bạn chỉ cần search trên Google là 'Tại sao cần dùng thuật toán' thì sẽ ra cả tá bài viết viết về vấn đề này, hoặc tiêu biểu bạn có thể xem bài viết Đôi chút về cấu trúc dữ liệu và thuật toán, bài viết này mình sẽ tóm gọn lại nhanh vấn đề nha.

Thuật toán không giúp code của bạn ngắn hơn mà thậm chí nó phải dài hơn. Nhưng hiệu quả là vấn đề không phải bàn cãi, thuật toán giúp chương trình của bạn chạy nhanh hơn, với những thuật toán tối ưu chương trình của bạn còn có thể chạy nhanh hơn rất nhiều nữa. 

Học thuật toán sẽ giúp các bạn có một tư duy tốt hơn và có thể là tốt hơn rất nhiều để giải quyết vấn đề.

Am hiểu về thuật toán sẽ là một điểm cộng khi tham gia phỏng vấn. Với bạn nào mà muốn theo đuổi lập trình Game hay muốn làm việc tại 1 số tập đoàn lớn như VNG, Viettel, Samsung thì thuật toán là thứ không thể thiếu nay. Phỏng vấn đầu vào là thuật toán, tại Samsung nếu bạn muốn làm các chức vụ cao hơn thì bạn phải thi các cuộc thi về thuật toán nữa nha,... Vậy nếu các bạn có những định hướng về hướng đi giống như trên thì hãy học thuật toán ngay đi nha. 

...

Không học, không giỏi thuật toán có được không?

Mình không hề master thuật toán, và cũng không phải là fan cuồng thuật toán vậy nên nhận xét thật lòng thì không giỏi thuật toán chả sao, chúng ta vẫn có thể trở thành thành lập trình viên giỏi trên các lĩnh vực của mình.

Không cần thuât toán bạn vẫn sẽ đưa ra được cái giải pháp của mình, tuy nhiên nó có thể không tối ưu với vôn thuật toán hạn chế của lập trình viên nhưng nó chắc cũng sẽ là một giải pháp.

Nếu bạn là một lập trình viên viết những web thiên về nội dung. blog hay những app với những xử lý logic đơn giản có lẽ những djikstra, quick sort,... cũng không có nhiều đất dụng võ.

Bây giờ một số thuật toán kinh điển đều đã được cài đặt sẵn và xây dựng thành các thư viện và đã được tối ưu, kiểm thử lỗi,... nên lập trình viên muốn dùng chỉ cần gọi ra và sử dụng.

Có nhiều phần mềm, sự hiểu biết về thiết kế, tổ chức dữ liệu sẽ quan trọng hơn rất nhiều so với những thuật toán hay được sử dụng trong phần mềm.

Vậy thuật toán có thực sự quan trọng không?

Những người đọc bài viết này của mình chắc đa số đều là sinh viên Bách Khoa và chắc chắn dù muốn hay không thì các bạn đều phải học, thậm chí là cày ngày, đêm để còn qua môn cấu trúc dữ liệu, thuật toán ứng dụng hay là để thi tuyển vào samsung,...

Một số bạn thì so sánh rằng, các trường như FPT họ không học thuật toán mà học thẳng trực tiếp các framework, thư viện, những thứ thực tế cần dùng hơn. Nhưng mình xin đính chính lại là FPT có học toán rời rạc, cấu trúc dữ liệu,... nha chỉ là họ học khá là nhẹ nhàng hơn so Bách Khoa mà thôi, nhưng cũng vì thế mà một người anh của mình tại FPT cũng từng nói với mình rằng là thật tiếc rằng ngày đó anh không được tiếp cận đồ thị sớm hơn khi còn học tại trường.

Không nhắc về các trường đại học nữa, vậy thì một số trung tâm, hệ thống đào tạo lập trình viên thì sao? Như APTECH. Nhưng cũng xin đính chính tiếp với các bạn, những lập trình viên mà APTECH đào tạo ra họ là những người thợ code, khi họ học thì họ thực hành là chủ yếu, code ngày code đêm và trình độ code của họ chắc chắn là hơn sinh viên đại học như chúng ta. Tuy nhiên, chúng ta không phải là những thợ code, chúng ta không thể chỉ biết code, chúng ta là những kỹ sư mà kỹ sư là phải giải quyết các vấn đề chứ không chỉ đơn giản là bạn được vứt cho một loạt mẫu có sẵn và code theo những mẫu này như những người thợ code thực thụ.

Vậy kết luận lại thì thuật toán cần không? Thuật toán cần, phải học, ít nhất là phải học để biết nhưng không phải là tất cả. Đó là những suy nghĩ của mình về vấn đề khá nan giải này. Còn bạn nghĩ gì thì hãy comment cho mọi người cùng biết nha.

6/28/2021

Tổng quan ngành khoa học máy tính - Đại học Bách Khoa Hà Nội


Chào các bạn,hôm nay dựa trên hiểu biết sơ bộ của một sinh viên cuối năm 3, mình xin phép viết một bài review qua về ngành khoa học máy tính nói chung và ngành khoa học máy tính ở trường đại học bách khoa hà nội nói riêng.

Bài viết mang tính chất giới thiệu là chính, sẽ không mang tính học thuật, phù hợp với những bạn đang có ý định thi tuyển vào ngành,hình dung xem mình sẽ được học gì, hoặc một số bạn năm nhất, năm hai của ngành có thêm định hướng cho tương lai sắp tới. Về phần chi tiết môn học, tài liệu đã có blog viết riêng, các bạn search trong trang nhé.

Tổng quan chương trình đào tạo 

Sau đây là hình minh họa cho các khối kiến thức lớn mà bạn phải học( bao gồm B1: cơ bản B2: sâu hơn vào ngành). Trong đó TC- tín chỉ là đơn vị tính gần như tương đương với thời gian(số tiết, số giờ tự học) để hoàn thiện môn học. 



Khối kiến thức cơ bản

Giống như tất cả các ngành học khác, bạn vẫn phải trải qua 1-2 năm để học các khối kiến kiến thức cơ bản, bao gồm khối toán và khoa học cơ bản: mình sẽ viết một số thứ mình còn đọng lại và đôi khi gặp lại tới bây giờ , đừng chê ít nhé :))

Tin học đại cương

dậy bạn biết viết “hello world” về lập trình C 

Toán rời rạc

thuật toán tìm đường đi ngắn nhất, đồ thị, tư duy logic.

Giải tích I,II,III

cung cấp kiến thức cơ bản về đạo hàm, tích phân, gradient,.. 

Đại số

cung cấp kiến thức về ma trận, sau này dùng nhiều trong tính toán deep learning.

Xác suất thống kê

phân phối gauss, xác suất có điều kiện.

Nhập môn các phương pháp tối ưu

tìm nghiệm tối ưu của một hệ các ràng buộc. trước kia bạn học bất phương trình 2 ẩn 2 phương trình thì giờ nó phức tạp hơn, mở rộng hơn  

Vật lý đại cương I.II

ý nghĩa của entropy, kiểu cách đo độ biến động của một hệ.


sau đó là một số môn khác cũng khá là bổ ích mà bạn sẽ quan tâm nếu cần học bổng :

Lý luận chính trị 

Giáo dục thể chất 

Giáo dục Quốc phòng - An ninh

Tiếng Anh (khi đầu vào tiếng anh gà mờ )

Pháp luật đại cương

Lý luận TDTT

Đường lối quân sự

Tiếng Anh 1

Tư tưởng HCM

Bơi lội

Công tác quốc phòng-An ninh

Tiếng Anh 2

Những NLCB của CNML I

3 môn tự chọn nào đó(bóng bàn, bóng rổ, chạy, nhảy , cầu lông, bóng đá...)

QS chung và KCT bắn súng AK

 

Những NLCB của CNML II

     

Đường lối CM của ĐCSVN

     


Đi vào cốt lõi ngành 

Cũng như phân trước, mình sẽ đưa ra một số nhận định của mình về những môn mình đã học:


Nhập môn CNTT và TT

bản nâng cấp của tin đại cương với một phần tìm hiểu về ngành công nghệ thông tin 

Technical Writing and Presentation

dạy bạn cách viết report, mail 

Cấu trúc dữ liệu và thuật toán

không phải ngẫu nhiên mà môn học này được dạy từ khá sớm. mình nhấn mạnh tầm quan trọng của nó. môn học cung cấp kiến thức về cấu trúc dữ liệu (hàng đợi, ngăn xếp, cây, danh sách liên kết  ), thuật toán đệ quy, duyệt cây, các thuật toán sắp xếp đi cùng với đó là độ phức tạp thuật toán . môn học cho bạn  nền tảng cơ bản về lập trình cho bạn .

Kiến trúc máy tính

dậy bạn thực sự cpu nó làm gì ? tại sao dùng cache lại nhanh ? và lí do tại sao bạn phải lắp 2 thanh ram giống nhau 

Kỹ thuật lập trình

kỹ thuật viết code sao cho không bị mắng, khi gặp lỗi thì tìm cách debug ra sao ?  test một chương trình thế nào để biết nó đúng 

Nguyên lý hệ điều hành

cách mà máy tính có thể hoạt động một cách trơn tru khi bạn bắt nó làm cả tá thứ sẽ được một phần trả lời trong câu hỏi này. bên cạnh đó cũng sẽ giúp bạn backup nghề cài win dạo.

Mạng máy tính

cách mà dữ liệu có thể truyền đi lại trong mạng, cơ chế làm sao mà nó có thể chịu lỗi khi mất dữ liệu, cách bảo mật tin khi truyền đi 

Cơ sở dữ liệu

dậy bạn truy vấn sql

Lập trình hướng đối tượng

mình cảm thấy môn này và cấu trúc dữ liệu là 2 môn khó và rất quan trọng. trả lời cho câu hỏi gần như chắc chắn bạn phải trả lời khi phỏng vấn job liên quan java: hãy trình bày 4 tính chất của lập trình hướng đối tượng. mà dù trong môn này không được học, nhưng mình đề xuất khi học môn này nên đọc thêm về design pattern, sẽ cực kì thực tế và cho bạn một nguồn cảm hứng học lập trình .

Phân tích và thiết kế hệ thống

để cho chuẩn thì công việc trước khi code của một coder thì phải viết tay sơ đồ luồng thực thi, đoạn code này xử lí gì, nó mang trách nhiệm gì, nso chuyển data tới những đâu,... tất cả sẽ được thiết kế trong một bản thiết kế riêng mà chưa cần thiết phải code. 

Nhập môn Trí tuệ nhân tạo

kiến thức nền tảng cho học máy và học sâu, nói qua về thuật toán “thông minh” hơn mấy thuật toán trong cấu trúc dữ liệu và giải thuật

Project I,II,III

hên xui 

Thuật toán ứng dụng

môn học của tư duy, còn đối với mình là một phần may mắn nữa.

Nhập môn công nghệ phần mềm

là sự kết hợp Lập trình hướng đối tượng, Phân tích và thiết kế hệ thống. nơi mà bạn hoàn thành cho mình được một project hoàn chỉnh đầu tiên.

Nhập môn Học máy và khai phá dữ liệu

Nhập môn Trí tuệ nhân tạo nhưng ở một lĩnh vực sâu hơn.

Nhập môn an toàn thông tin

cho bạn cái nhìn bao quát nhất về an toàn thông tin. trả lời cho câu hỏi : bạn là ai trong không gian mạng 

Quản trị dự án CNTT

môn học cho các quản trị dự án tương lai, dạy về cách đàm phán với khách hàng, hợp đồng, lập lịch cho nhân viên. có rủi ro thì phải làm thế nào .

Làm việc nhóm và kỹ năng giao tiếp

kỹ năng trong giao tiếp ứng xử trong nhóm 


Tự chọn theo modun 


bạn có thể đi theo các hướng như : xử lí dữ liệu lớn (kiểu đề xuất quảng cáo), học sâu(mấy cái nguy hiểm như xử lí ngôn ngữ tự nhiên ), hoặc code web. thôi bài đã dài. mình xin phép hẹn buổi sau :v


Tổng kết 

  • lời khuyên cho các bạn nếu muốn học ngành này mà không nản thì nên đăng ký học sớm các môn code nhiều như Cấu trúc dữ liệu và thuật toán,Lập trình hướng đối tượng, Kỹ thuật lập trình, Thuật toán ứng dụng.

  • sẽ có một số môn liên quan tới nhau, nếu thật sự tryhard thì nên học cùng một kì, áp lực sẽ giúp bạn phải học một cách thật chăm chỉ để đáp ứng yêu cầu môn học. nếu làm được điều này, bạn sẽ ít rơi vào tình trạng: “? học cái này để làm gì ”

  • trong quá trình học khối kiến thức cơ bản, thường là 1-2 năm đầu, mình có một vài lời khuyên cho các bạn về một số hướng bổ trợ để đỡ nản cũng như giải trí quá nhiều :v 

    • Một là, bạn có thể đăng ký trước môn học kỳ sau, những môn chính trị, thể chất gối vào những kì sau. ưu điểm là sẽ định hướng được mình hóc j, còn nhược điểm là thường các bạn sẽ coi thường những môn phụ.
    • Hai là, bạn xác định cho mình một hướng học trước mà không cần quá nhiều kiến thức chuyên ngành, mình nghĩ là học web, hoắc là học học máy( liên quan nhiều tới toán cơ bản, sẽ có hứng thú hơn khi biết kiến thức toán mà mình học được dùng cho việc gì )
    • Ba là, có thế học tiếng anh, nó rất cần thiết cho việc học sau này của bạn, không chỉ những có thể thăng tiến mà nó cũng giúp bạn tiếp xúc với nguồn tài liệu chất lượng bằng tiếng anh.

Good Luck,

longpt