9/02/2021

Nhập môn công nghệ phần mềm | Tài liệu, cơ sở ngành CNTT


Nhập môn công nghệ phân mềm, nghe tên chắc chắc các bạn sẽ liên tưởng tới việc học môn này sẽ được các thầy dạy về code 1 phần mềm như nào và rồi bài tập lớn sẽ được làm 1 project về tạo một phần mềm nào đó nghe cũng đã thấy thích rồi. Thực chất nếu ai suy nghĩ như trên thì chỉ đúng được 1 phần nhỏ thôi. Môn này chúng ta sẽ được học 1 quy trình đầy đủ để tạo ra 1 phần mềm gồm rất nhiều bước không chỉ riêng gì bước xây dựng phần mềm bằng các ngôn ngữ lập trình, chúng ta sẽ phải: 

  • Đặc tả yêu cầu, phân tích yêu cầu, thương lượng với khách hàng
  • Đặc tả chức năng, trạng thái,... bằng các biểu đồ như DFD, Use-case,...
  • Thiết kế UI
  • Xây dựng phần mềm
  • Kiểm thử

Nói chung thì rất là lý thuyết, nhàm chán nhưng cũng là những thứ mà mình nghĩ là nên biết chút ít để biết đường sau có thể còn tìm hiểu tài liệu trên Google, chứ nếu không biết gì thì sau còn không cả biết cách search như nào.

Ngoài ra khi làm bài tập lớn môn này các bạn phải làm quen với rất nhiều công nghệ như là git để quản lý mã nguồn hay là một số công cụ để mô hình hóa khác. Bài tập lớn môn này thì là các bạn sẽ phải làm một phần mềm nha, tùy vào thầy/ cô và tùy vào kì học thì yêu cầu sẽ khác nhau với từng kì nhưng sẽ giống nhau cho các lớp. Thường thì sẽ là các thầy sẽ cho trước đề tài và các bạn sẽ phải xây dưng phần mềm để đáp ứng yêu cầu đó, và nên nhớ là không chỉ code đâu nha, các bạn còn phải đặc tả, vẽ use-case, DFD,... các kiểu, xong rồi test,... Mình sẽ nói rõ hơn ở phần dưới nha.

Môn này bạn có thể học thầy Tuấn, thầy dạy thì đều đều giọng nên rất buồn ngủ, tuy nhiên thì thầy cho điểm khá thoáng, chấm bài tập lớn cũng khá thoáng nên điểm cũng rất cao. Còn thầy Nguyễn Nhất Hải các bạn cũng có thể cân nhắc, nhưng thầy Hải cho điểm khá chặt nên điểm không được cao cho lắm.

Môn này thì nói chung rất là phong phú, kiến thức để học phải nói là cực nhiều, ôn thi bạn nên ôn thi theo hướng dẫn của thầy/ cô giáo chứ để đọc lại slide mà nhớ hết để thi chắc khó, các bạn có thể tham khảo 1 số tài liệu của mình dưới đây nha: 

  • Slide bài giảng môn NM CNPM - thầy Nguyễn Mạnh Tuấn: TẢI VỀ SLIDE

BÀI TẬP LỚN

Mình muốn nói qua về phần bài tập lớn này thôi, các bạn có thể xem qua 1 báo cáo về bài tập lớn TẠI ĐÂY và các bạn cũng có thể thấy là chúng ta cần phải làm rất nhiều việc và mỗi việc không phải chỉ làm qua loa mà phải chi tiết để ghi lại trong báo cáo này. Mẫu báo cáo các bạn sẽ được cho sẵn nên yên tâm phần này.

Ví dụ về 1 bài tập lớn, các bạn sẽ được cho một ngữ cảnh về 1 khu dân phố nào đó và có 7 yêu cầu cần làm cho tổ dân phố đấ ví dụ như là: 

  • Quản lý thông tin sổ hộ khẩu
  • Quản lý thu phí, đóng góp
  • Quản lý sử dụng nhà văn hóa
  • Quản lý sinh hoạt, họp tổ dân phố 
  • Quản lý cấp phần thưởng
  • Quản lý thông tin phản ánh, kiến nghị 
  • Quản lý thông tin phòng tránh COVID-19

Với đề tài (1) - "Quản lý thông tin sổ hộ khẩu" thì các bạn đã được các thầy/ cô cung cấp đầy đủ từ 1 file báo cáo đầy đủ tới 1 sản phẩm được bằng App sử dụng Java Swing. Các bạn được quyền lựa chọn các đề tài từ (2) tới (7) và phát triển từ App mà các thầy/ cô đã cung cấp ( có thể là sửa đổi từ App của thầy/ cô giáo) hoặc các bạn có thể tự làm 1 App mới có thể trên nền tảng Web hoặc App bằng bất cứ ngôn ngữ gì bạn muốn nha. Tuy nhiên, như mình nói là không chỉ ra sản phẩm các bạn còn phải làm rất nhiều việc để có 1 quy trình tạo ra phần mềm hoàn chỉnh và bước xây dựng phân mềm chỉ là 1 bước nhỏ mà hầu hết các bạn sẽ tập chung vào nó dẫn tới chểnh mảng các phần khác.

Các bạn có thể xem danh sách các BÀI TẬP TUẦN ở đây nha, từng tuần các bạn sẽ có những task riêng để hoàn thành và nó chính là một phần trong bài tập lớn của các bạn, sau chỉ cần kết hợp lại thôi (Bài tập tuần 1 sẽ bao gồm cả đề tài để cả nhóm lựa chọn). 

Các bạn có thế lựa chọn công nghệ JavaFX cho sản phẩm của mình, nếu ai chưa biết có thể xem 1 bài chia sẻ của website về JavaFX TẠI ĐÂY nha.

8/25/2021

Background cần thiết khi ứng tuyển vào lab thầy Khoát | Góc lên LAB học gì?


LAB của thầy Khoát là một LAB nghiên cứu về Machine Learing và là một LAB cũng khá to, sinh viên tham gia LAB được đào tạo khá bài bản và được tuyển vào LAB cũng không phải dễ dàng. Các bạn phải trải qua 2 vòng, vòng 1 thầy sẽ xem qua về bảng điểm của các bạn, điểm CPA, GPA và 1 số môn nền tảng quan trọng như Đại số, Giải tích,... (Mình nghe nói nếu mà D Đại số thì thôi auto trượt nên nếu D đại số chắc không cần ứng tuyển vào lab thầy làm gì cho mất công). Sau khi vượt qua vòng 1 các bạn sẽ được cho 1 list các kiến thức background cần thiết để học, sau 2-3 tháng các bạn sẽ được phỏng vấn trực tiếp cùng các thầy, qua được vòng này các bạn mới chính thức là thành viên của LAB (các kiến thức background cần thiết để ứng tuyển vào LAB mình sẽ chia sẻ ở bên dưới nha)



Vào LAB thầy các bạn sẽ được đào tạo rất bài bản vì thế nên các bạn mất khá nhiều thời gian ban đầu cho việc training. Thế nên lời khuyên của mình là nếu apply vào LAB thầy Khoát thì các bạn nên xin vào ngay từ năm thứ 2, vì bây giờ cũng khá nhiều bạn học 4 năm và nếu năm 3 các bạn mới tham gia thì đã mất gần 1 kì để training rồi thì sẽ không còn bao nhiêu thời gian nữa cả. Khi tuyển thành viên cho LAB các thầy cũng khá ưu tiên các sinh viên năm 2 hơn là năm 3 vì thời gian gắn bó sẽ lâu dài hơn.

Background cần thiết khi học Machine Learning

Algebra (Đại số tuyến tính)

I. Set and mapping (Tập hợp và ánh xạ)
  1. Sets and elements
  2. Operations on sets
  3. Finite sets, countable sets, uncountable sets.
  4. Mapping
  5. Complex linear algebra

II. Matrix, determinant, system of linear equations (Ma trận, định thức, hệ phương trình)
  1. Matrix
  2. Determinant
  3. Invertible matrix
  4. Matrix rank
  5. System of linear equations

III. Vector space (Không gian véctơ)
  1. Vector space
  2. Subspace and span
  3. Linearly independent/dependent vectors
  4. Scalar product, metric space

IV. Linear mapping (Ánh xạ tuyến tính)
  1. Properties – kernel and image
  2. Matrix of linear mapping

V. Eigenvalues and eigenvectors (Giá trị riêng và véctơ riêng)
  1. Eigenvalues and eigenvectors
  2. Diagonalizing matrix
  3. Orthogonal diagonalizing

VI. Quadratic forms (Dạng toàn phương)



Analytics (Giải tích)

I. Real number (Số thực)
  1. Real sets
  2. Real chains

II. Real univariate function (Hàm 1 biến)
  1. Function graph
  2. Even/odd functions, monotonous functions, circular functions
  3. Composition functions
  4. Inverse functions
  5. Basis functions

III. Limit and continuity of univariate functions (Giới hạn, tính liên tục của hàm đơn biến)

IV. Derivative and differential of  an univariate function (Vi phân và đạo hàm của hàm đơn biến)

V. Primitive function and integration (Tích phân)

VI. Real multivariate function (Hàm đa biến)


Mathematical Optimization (Tối ưu hoá)

I. Linear programing (Quy hoạch tuyến tính)

II. Nonlinear programming

III. Convex optimization (Quy hoạch lồi, tối ưu lồi)
  1. Convex sets (tập lồi)
    1. Affine and convex sets
    2. Operations that preserve convexity
  2. Convex functions (hàm lồi)
    1. Basis properties
    2. Operations that preserve convexity
    3. The conjugate functions
    4. Quasiconvex functions
    5. Log-concave and log-convex functions
  3. Convex optimization problems (bài toán quy hoạch lồi)
    1. Quasiconvex optimization
    2. Linear optimization
    3. Vector optimization
  4. Duality (đối ngẫu)
    1. Lagrange dual problem
    2. Weak and strong duality
    3. Optimality conditions
  5. Unconstrained optimization (tối ưu không ràng buộc)
    1. Gradient descent/ascent method
    2. Steepest descent/ascent method
    3. Newton’s method



Probability and Statistics (Xác suất và Thống kê)

I. Probability (Xác suất)
  1. Sample space
  2. Events
  3. Probability of an event
  4. Additive rules
  5. Conditional probability, independence and the product rule
  6. Bayes’ Rule

II. Random variable and Probability distributions (Biến ngẫu nhiên và phân bố xác suất)
  1. Random variable
  2. Discrete probability distributions
    1. Poisson distribution
    2. Bernoulli distribution
  3. Continuous probability distributions
    1. Continuous Uniform distribution
    2. Normal distribution
    3. Gamma and Exponential distribution
    4. Beta distribution
    5. Chi-Squared distribution
  4. Joint probability distributions

III. Mathematical expectation (Kỳ vọng toán học)
  1. Mean
  2. Variance and covariance

IV. Functions of random variables (Hàm của các biến ngẫu nhiên)

V. Sampling distributions (Phân bố mẫu)
  1. Random sampling
  2. Sampling distributions
  3. Sampling distribution of means and the Central Limit Theorem
  4. t-Distribution
  5. F-Distribution

VI. One- and Two-sample tests of Hypotheses (Kiểm định giả thuyết)

Các bạn có thể thấy nền tảng toán là rất nhiều phải không, đúng là như vậy khi AI mà không có toán thì không thể gọi là AI được. Các bạn học AI không cần là những người xuất sắc về Toán ( dĩ nhiên là giỏi, xuất sắc thì dĩ nhiên là càng tốt rồi và mình khuyên những bạn này nên theo AI ngay và luôn, đây chính là nơi để các bạn thể hiện mình) nhưng các bạn phải nắm vững được những kiến thức cơ bản nhất là LAB thầy Khoát thiên hướng nghiên cứu, học thuật rất là nhiều chứ không phải là theo hướng ứng dụng.

Thầy Khoát đã public 1 khóa về học máy trên Youtube, khóa học rất hay và chất lượng, nếu mùa dịch quá nhàm chán thì hãy tham gia ngay khóa hoc này nha, xem thông tin về khóa học tại: https://users.soict.hust.edu.vn/khoattq/ml-dm-course/

8/17/2021

8/15/2021

Chia sẻ 1 số bài test IQ | Share


Nếu như bài test IQ theo chuẩn quốc tế được biên soạn công bằng với tất cả mọi người, mọi nền văn hóa thì bài test IQ tuyển dụng là dạng bài test dành riêng cho các doanh nghiệp trong việc tuyển dụng nhân sự nhằm đánh giá khả năng tư duy và năng lực lập luận của ứng cử viên. Vì vậy bên cạnh hình ảnh thì tính toán số học, trí nhớ cũng như kiến thức và tư duy về không gian cũng được đưa vào bài test IQ tuyển dụng. Hiện nay các công ty ở Việt Nam nhất là các công ty về công nghệ thông tin đã có rất nhiều các công ty sử dụng bài test IQ làm các bài test đầu vào phỏng vấn.


Lợi ích của việc sử dụng các bài testIQ là gì? Các bài testIQ đem lại cho doanh nghiệp rất nhiều lợi ích như là: 

  • Đánh giá toàn diện và chính xác năng lực của ứng viên
  • Kiểm tra được năng lực tư duy 
  • Giúp doanh nghiệp có thể xếp ứng viên vào đúng vị trí để có thể phát huy tốt khả năng của mỗi người 
  • ...


Mình có sưu tầm lại 1 số đề testIQ của một số công ty các bạn có thể tham khảo dưới đây nha: 

  • TestIQ đầu vào công ty MIGI: IQTEST

Sách The Ultimate IQ Test Book, rèn luyện IQ: TẢI VỀ SÁCH

8/13/2021

Calendar Queue : A Fast O(1) Priority Queue Implementation for the Simulation Event Set Problem | Share


Chúng ta thường được học về hàng đợi ưu tiên cài đặt bằng cấu trúc dữ liệu Heap, tuy nhiên đây không phải là cách duy nhất để cài đặt hàng đợi ưu tiên và như ta được học mặc dù việc cài đặt bằng cấu trúc dữ liệu Heap thì các thao các như insert hay delete phần tử cũng đã rất nhanh rồi, tuy nhiên cài đặt hàng đơi ưu tiên bằng cấu trúc dữ liệu Heap cũng chưa phải cách nhanh nhất.

Có rất nhiều các cài đặt hàng đợi ưu tiên khác mang lại hiệu quả cao hơn việc sử dụng cấu trúc dữ liệu Heap, ví dụ như sử dụng cây S-Play, Calendar Queue,...

Việc cài đặt hàng đợi ưu tiên bằng Calendar Queue mang lại hiệu quả rất tốt, nó được đánh giá là một trong những phương pháp tốt nhất để cài đặt hàng đợi ưu tiên.

Nếu bạn muốn tìm hiểu về Calendar Queue để sắp xếp cho số lượng lớn các sự kiện thì có thể tham khảo qua bài báo Calendar Queue : A fast O(1) priority queue implementation for the simulation event set problem

Bạn có thể tham khảo code Calendar Queue bằng C của mình TẠI ĐÂY nha.

8/11/2021

Quản trị dự án CNTT | Tài liệu, cơ sở ngành CNTT


Cũng giống như làm việc nhóm và kỹ năng giao tiếp thì môn này cũng có thể coi là một môn kỹ năng mềm. Môn học nói về các kỹ năng quản lý dự án, quản lý nhân sự, tiền bạc, thời gian... khi bạn làm một dự án CNTT. Kiểu như môn này là môn học làm leader ý, học cũng rất là vui, mình học thầy Tiến thì thầy thường chia sẻ về các dự án thầy làm như nào, cách tính tiền 1 dự án CNTT ra sao, rất là thú vị luôn ấy, có những cái mà mình chưa bao giờ được biết và chắc chắc là rất bổ ích vì hầu như ở các môn học khác trong trường bạn sẽ không thể nghe được những câu chuyện như vậy (còn thú vị như nào bạn có thể đăng kí học môn này thầy Nguyễn Đức Tiến nha).

Môn này hoc khá là nhẹ nhàng thôi, các thây/cô dạy cũng biết điều này và cũng không hề yêu cầu cao ở sinh viên. Bạn có thể học thầy Tiến hoặc thầy Lê Đức Trung cũng được, các thầy khá dễ tính và cho điểm khá thoải mái. Riêng học thầy Tiến có thể là sẽ đỡ buồn ngủ hơn thầy Trung đấy.

Thi môn này các câu hỏi cũng khá là mở, đa số là ý kiến đưa ra của chính bản thân mình là chính. Mình ví dụ nhá. Có một đề bài: "Một công ty A yêu cầu được giảm 30% số tiền của dự án do khó khăn của dịch COVID-19, nếu không thì họ sẽ hủy dự án và chấp nhận mất 20% phí cọc của dự án. Những chi phí của dự án ảnh hưởng trực tiếp tới công ty B là người nhận làm dự án này. Nếu bạn là ban lãnh đạo công ty B thì bạn sẽ làm gì?"

Câu hỏi đơn giản là một câu hỏi mở như vậy và bạn trả lời là đồng ý giảm, hoặc không đồng ý giảm hoặc là thương lượng giảm 20% thôi đều đúng và thầy giáo vẫn cho bạn điểm tối đa khi bạn đưa ra bất kì câu trả lời nào nha. Bạn cần tránh các câu trả lời không có định lượng như là "giảm 1 ít", 1 ít là bao nhiêu cái này trong quản lý cần phải tránh, mọi thứ đều phải được định lượng rõ ràng.

Mình chia sẻ slide môn học Quản trị dự án CNTT của thầy Nguyễn Đức Tiến, các bạn có thể tải về TẠI ĐÂY

Đề thi cuối kì 20202 các bạn có thể tải về TẠI ĐÂY


8/04/2021

Thiết kế mỹ thuật công nghiệp | Tài liệu, môn tự chọn


Như mình đã nói trong bài viết Quản trị học đại cương thì với sinh viên viện CNTT&TT phải học 3 học phần tự chọn (trừ môn technical là bắt buộc), thì combo Kỹ năng mềm + Tâm lý học ứng dụng là một combo dễ nhất, gần như các bạn học đều từ A tới A+ hết (dĩ nhiên là 2 trong 3 học phần tự chọn mình khuyên các bạn nên chọn 2 môn này) và 1 môn còn lại tùy theo sở thích của các bạn có thể chọn Văn hóa kinh doanh, Quản trị học đại cương hay Thiết kế mỹ thuật công nghiệp,...

Một bài viết rất hay review về môn thiết kế mỹ thuật công nghiệp được đăng tại group HỖ TRỢ HỌC TẬP ĐẠI CƯƠNG ĐH BKHN của tác giả Phạm Trung Hiếu có lẽ sẽ giúp các bạn hiểu hơn phần nào về môn học này.

REVIEW "THIẾT KẾ MỸ THUẬT CÔNG NGHIỆP" 

Có lẽ ai trong số chúng ta đều đã, đang và sẽ đứng giữa lựa chọn các môn học phần tự chọn. Mọi người thường nhắc đến các môn như Kỹ năng mềm, Tâm lý học ứng dụng, Văn hóa kinh doanh và tinh thần khởi nghiệp (VHKD&TTKN),... nhưng còn một môn khá mới mà mọi người có thể cân nhắc lựa chọn, đó là Thiết kế Mỹ thuật công nghiệp.

Kỳ 20201 vừa rồi, mình học cô Hoàng Thanh Thủy, nhưng chắc các Cô khác cũng tương tự.

1. Ấn tượng đầu tiên của mình là làm slide nhiều. Bạn nào có lợi thế về slide hay muốn trau dồi slide thì có thể lựa chọn môn này. Cứ 2, 3 tuần là lại cần nộp 1 bài slide tầm đâu đó 60 trang.

2. Có chia nhóm. Nhóm tối đa 6 người, nhưng nhóm mình chỉ cần 5 người thôi. Một bạn nữ chuyên phụ trách thuyết trình (vì có năng khiếu ăn nói nên ae vote luôn). Mấy ae còn lại thì tập trung kiếm tài liệu với làm slide. Vậy nên nếu bạn tự tin hoặc muốn nâng cao khả năng thuyết trình trước lớp thì cũng có thể học môn này và nhận vị trí thuyết trình như bạn nữ của nhóm mình, cả kỳ thuyết trình 2 lần là đủ (có những slide chỉ cần nộp, không cần thuyết trình).

3. Về cách tính điểm môn này. Điểm GK là chấm slide (+ điểm danh, thuyết trình). Điểm CK là điểm ở buổi thuyết trình cuối cùng. Lợi thế mà mình thấy là có được sự chủ động trong cả học kỳ, ví dụ ở các môn khác thì kết quả dựa phần nhiều vào bài thi giấy thì môn này dựa vào slide và bài thuyết trình của nhóm. Mình có thể chuẩn bị từ trước, thậm chí biết chắc A môn này vì khá tự tin về slide do nhóm mình chuẩn bị cũng như khả năng ăn nói của bạn nữ thuyết trình.

4. Về quá trình học. Cô cũng hay điểm danh ngẫu nhiên vài buổi nên tốt nhất là đi học đầy đủ. Trong lớp khá thoải mái, nhiều khi mình mở lap, lấy môn khác ra làm cũng được. Nhưng nhóm nên cử 1 bạn tập trung nghe cô giảng và note lại các lưu ý của Cô để về còn làm slide.

5. Phân công công việc nhóm. Như đã nói, nhóm mình 5ng. Bạn nữ duy nhất thì sẽ phụ trách thuyết trình trước lớp. 2ng phụ trách kiếm tài liệu về làm thành bản word, 2ng còn lại thì dựa vào bản word đó để làm slide.

6. Về các bài slide. Mỗi nhóm sẽ được lựa chọn một đề tài về sản phẩm nào đó như: Nồi cơm điện Cuckoo, đồng hồ Apple Watch 6, tai nghe Airpod 2, tủ lạnh,... Nhóm mình thì chọn SH 150i 2020. Tổng cả kỳ có 4 bài tập làm slide tương ứng với các yếu tố trong mỹ thuật công nghiệp như lịch sử, thương hiệu, màu sắc, đường nét, chất liệu,... Còn bài slide chốt (tính điểm CK) thì là gộp của 4 bài slide kia lại, chau chuốt tí.

7. So sánh với các môn khác. Nếu là bảo lời khuyên cho các em khóa sau thì mình vẫn khuyên ưu tiên học Kỹ năng mềm và Tâm lý học ƯD trước. Còn môn thứ ba thì cân nhắc giữa môn này và môn VHKD&TTKN. Mình đọc reiview về môn VHKD&TTKN thì thấy bảo GK là tiểu luận chép tay. CK là bài thi trên giấy (chép được tài liệu nhưng dài và mỏi tay). Lúc mình chọn cũng phân vân nhưng vì ngại viết và cũng muốn chốt điểm sớm nên chọn TK MTCN. (Đợt vừa rồi thì nhóm mình chuẩn bị xong slide từ trước nên cuối kỳ chỉ việc cầm slide đi thuyết trình, không cần lo ôn thi gì nhiều nữa mà tập trung ôn các môn khác. À trừ bạn nữ thuyết trình thì vẫn cần chuẩn bị tí). VHKD&TTKN mình lo cuối kỳ mà chép không kịp thì cũng chẳng điểm cao được.

Trên đây là những trải nghiệm của CÁ NHÂN mình và kể lại với mọi người. Có thể các bạn khác sẽ có trải nghiệm khác. Mục đích bài này là để reiview cho các bạn, nếu sắp tới nếu lựa chọn các môn thì có thể tham khảo. Chỗ nào sai thì mong các bạn góp ý để mình sửa.

Hy vọng với những gì mình ghi lại như này có thể giúp các bạn được phần nào.
Goodluck!

(c) Phạm Trung Hiếu | 25.02.2021

7/24/2021

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


Chào các bạn, sau khoảng 2 tuần mình trầm cảm, rồi ốm, rồi lại trầm cảm thì nay mình lại tiếp tục lên đây xàm xí với các bạn chút. Ở bài viết này, mình sẽ nói về khối cơ bản về trí tuệ nhân tạo, là một xu hướng lớn hiện nay. Sắp tới mình sẽ có một số bài viết thêm, chi tiết về mảng này, hy vọng tạo động lực, hướng đi cho các bạn mới học( trong đó có mình :v ). Vì cũng chỉ là một newbie, mình sẽ cố hết sức viết đúng kiến thức trong tầm hiểu biết :D, mong nhận được ý kiến góp ý của mọi người.

Sau đây là hình minh họa cho 3 môn học tương ứng với mức độ bao quát trí tuệ nhân tạo(artificial intelligence ) > học máy(machine learning) > học sâu (deep learning)


1. Trí tuệ nhân tạo

Ở mức độ khái quát nhất, môn học cung cấp kiến thức nền tảng, thế nào là một trí tuệ nhân tạo, cần những yêu cầu như nào thì được gọi là một trí tuệ nhân tạo. Theo mình khái quát được, một trí tuệ nhân tạo sẽ cần đảm bảo được Hành động một cách hợp lý, tức là bên ngoài tác động vào chương trình trí tuệ nhân tạo (gửi request chẳng hạn, tác động làm thay đổi trạng thái bất kì ) thì nó phải tác động lại(gửi lại thông tin, hoặc hành động gì đó ), và quan trọng tác động đó phải hợp lí(đúng mục tiêu, đúng lợi ích...)
Trong một phần môn học bạn sẽ được học về các chiến luwcocj tìm kiếm. tại một thời điểm , ứng với một môi trường bên ngoài bất kì, trí tuệ nhân tạo (AI) có thể có nhiều lựa chọn hành động, và sau khi lựa chon theo một/rất nhiều hành động đó, môi trường ngoài lại có thể thay đổi, rồi lại hành động, rồi thay đổi,... tạo nên một đồ thị (từ trạng thái này sang trạng thái kia ). vì vậy, ta cần hcoj cách tìm kiếm để sao cho có thể đạt được mục tiêu (ít nhất là đạt được mục tiêu, rộng hơn thì có thể là thỏa mãn ràng buộc, chi phí tối ưu,...)

Ví dụ về bài toán hút bụi trong slide của thầy Khoát:



Cụ thể các Phương pháp thì có:


Phần còn lại các bạn sẽ được học về Logic, suy diễn , biểu diễn tri thức và cuối cùng là giới thiệu qua một số phần nhỏ của học máy (Bayes, KNN )

2. Học máy

Thay vì đi đưa ra quyết định hành động thì ở đây mình thấy thông thường là có tập data rồi tiến hành dự đoán.

Điều thực sự mà máy cần làm là từ tập x là tập data đã có, y là dự đoán cho từng data/ data đã có, tìm một cách nào đó tổng quan quy luật thành hàm f (model ) để khi cho vào một data mới ta có thể output được dự đoán từ data đó sao cho chính xác nhất .


Trong môn học bạn sẽ đi lần lượt về các khái niệm cơ bản, các vấn đề của học máy , các thành phần của học máy, về tiền xử lý dữ liệu, đánh giá hiệu năng hệ thống. Sau đó sẽ được đi sâu dần vào các thuật toán:


Hồi quy (hồi quy tuyến tính,.. )



Phân lớp (KNN - cái mà đã từng được học phần cuối môn AI , Naive-Bayes, cây quyết định ) 

Ví dụ về KNN:



Học về ANN (nền tảng cho học sâu )




Phân cụm (Kmean )


Trong môn này mình nghĩ cái bạn lãi nhất đó là những tiết học bảo vệ bài tập lớn vì khi đó các thầy sẽ chỉ ra vấn đề tồn đọng trong mô hình mà các bạn sử dụng, cách thức xử lí với data…

3. Học sâu

Như đã nói ở trên thì ANN là cơ sở cho các mô hình trong Deep learning, trong môn này các bạn sẽ được học cơ bản về các mô hình, tuy không phải là cập nhật mới nhất và chi tiết nhưng sẽ cho bạn nền tảng phát triển theo định hướng học sâu.

Đây là môn học không bắt buộc, không có trong các môn cơ sở cốt lõi ngành, thuộc module phân tích ứng dụng thông minh.


7/22/2021

Công cụ mô phỏng mạng OMNeT++ | Góc lên LAB học gì?


CNTT là một ngành nghề có tính ứng dụng rất cao vì thế viện CNTT&TT có rất nhiều các LAB nghiên cứu thuộc nhiều các lĩnh vực khác nhau như: LAB công nghệ phần mềm, LAB hệ thống thông tin, LAB khoa học máy tính, BKC LAB, ... Và các thầy/ cô trong LAB luôn luôn mở rộng cửa để chào đón các bạn sinh viên cùng tham gia. 

Bài viết này là bài viết đầu tiên tại series Góc lên LAB học gì? nên mình sẽ nói cụ thể và chi tiết hơn về những vấn đề ban đầu để mọi người hiểu được rõ hơn những vấn đề khi tham gia các LAB nghiên cứu khoa học của viện nha.

Đầu tiên là việc khi tham gia các LAB nghiên cứu thì mang lại những lợi ích gì? Lợi ích thì là vô cùng nhiều, khi tham gia các LAB cùng các thầy/ cô và các anh/ chị trên LAB các bạn được tiếp cận với các anh/ chị, các bạn, các thầy/ cô phải nói là rất giỏi và rất tâm huyết. Được học những kiến thức chuyên sâu về một lĩnh vực, được traing theo lộ trình, được tham gia vào các dự án nghiên cứu trong LAB, được có tên trong các bài báo khoa học,...

Tuy nhiên khi tham gia LAB các bạn sẽ mất thời gian để dành cho các công việc trên LAB, mất thêm thời gian để học các kiến thức trên LAB mà có thể trên lớp không học tới.

Làm thế nào để được lên LAB? Dĩ nhiên là không phải ai muốn lên LAB là sẽ được lên đâu. Có những LAB thì xét duyệt khá dễ nhưng cũng cần có 1 bảng điểm đẹp như LAB khoa học máy tính của cô Bình các bạn chỉ cần gửi mail cho cô kèm theo bảng điểm, nếu cô đọc qua thấy điểm cao, OK thì cô sẽ nhắn lại cho các bạn là hôm sau có thể lên LAB. Còn có 1 số LAB tuyển thành viên rất khắt khe như LAB của thầy Khoát phải trải qua bao vòng với lên được thành viên chính thức.

Các phòng LAB hay các không gian học tập và làm việc tại tòa B1 của viện đang được chỉnh sửa và hiện đại hơn rất nhiều, nhìn đã là thấy thích rồi, các bạn có thể theo dõi thầy Tạ Hải Tùng (Viện trưởng) thầy có đăng lên rất nhiều hình ảnh về các không gian học tập, làm việc mới trên LAB, nhìn là muốn được ngồi đây mãi rồi.





Ngoài việc lên LAB để có thể học hỏi thêm các kiến thức thì các bạn có thể chọn đi thực tập. Mình đã từng thấy một số người rất giỏi nhưng họ lại không chọn lên LAB mà lại chọn đi thực tập. Khi bạn đi thực tập thì bạn vẫn có đầy đủ lợi ích khi bạn tham gia LAB chỉ khác là kiến thức mà bạn học được tại các doanh nghiệp sẽ thực tế hơn là các công nghệ mà chính các doanh nghiệp đang sử dụng để kiếm ra tiền, còn kiến thức mà các bạn được học trên LAB sẽ hàn lâm hơn, mang tính nghiên cứu nhiều hơn.

OK! Lan man như vậy thôi, bây giờ mình sẽ vào chủ đề chính của bài viết này về OMNeT++.

OMNeT++ là một phần mềm mô phỏng mạng sử dụng C++, mục đích chính là mô phỏng hoạt động của mạng thông tin, ngoài ra do tính linh hoạt OMNeT++ còn được sử dụng trong một số lĩnh vực khác nữa.

Tại Bách Khoa thì không có môn học chính thức nào giảng dạy về OMNeT++ và thế dĩ nhiên nếu không thích các bạn có thể không đọc bài viết này. Nhưng các bạn cũng có thể tìm hiểu về OMNeT, biết đâu nó lại là hướng đi phù hợp với bạn.

OMNeT được các thầy/ cô trong LAB công nghệ phần mềm sử dụng để mô phỏng giao thức mạng, có rất nhiều các nghiên cứu của các thầy/ cô có sử dụng OMNeT các bạn có thể xem qua TẠI ĐÂY. 

LAB công nghệ phần mềm của thầy Nguyễn Khanh Văn mình thấy không tuyển sinh viên, hầu như là các sinh viên làm project I, II, III của các thầy trong LAB, sau đó sẽ được các thầy định hướng thêm để tham gia các nghiên cứu với các thầy/ cô thôi, vì thế mà LAB này mình thấy khá trầm và không nổi bật cho lắm.

Mình có một số tài liệu về OMNeT, nếu muốn tìm hiểu về OMNeT các bạn có thể xem qua tài liệu này: TÀI LIỆU VỀ OMNET++

Những bài viết sau mình sẽ viết về một số LAB khác hoạt động sôi nổi hơn trong viện như là LAB của thầy Khoát hay LAB cô Bình nha.

7/13/2021

Thực tập kỹ thuật | Học phần thực tập


Rất nhiều bạn thắc mắc về học phần thực tập doanh nghiệp, về sự rắc rối của nó,... Bài viết này mình sẽ giải đáp một số thắc mắc để mọi người có cái nhìn rõ hơn về thực tập doanh nghiệp của viện CNTT & TT nha và nó cũng không rắc như mọi người nghĩ đâu.

Chuẩn bị

Đầu tiên là các bản phải chuẩn bị cho mình một bản CV nha, ngắn gọn thôi cũng được, nhưng CV nhớ phải nhét cái ảnh vào nha.

Tiếp theo là cái tinh thần thôi, đi thực tập theo trường này hầu như công ty đều không bắt buộc các bạn phải biết cái gì trước đâu dĩ nhiên là biết thì tốt thôi, vào đấy các bạn sẽ được dạy nha nên một số bạn lo không có kiến thức gì có thể đi thực tập không thì là có nha.

Đăng ký học phần, nguyện vọng

Nếu đầy đủ quy trình thì các bạn phải đăng ký học phần trên ctt trước, sau đó sẽ đăng ký nguyện vọng trên qldt. Việc đăng ký học phần trên ctt thì đăng ký bình thường như mọi học phần khác thôi, đăng ký đúng với mã học phần của môn học là được.


Sau khi kết thúc quá trình thực tập doanh nghiệp sẽ đánh giá điểm của các bạn qua hệ thống qldt và điểm được nhập vào ctt.

Đấy là quy trình đầy đủ, còn mình thấy viện mình rất là tạo điều kiện cho sinh viên. Các bạn có thể đăng ký nguyện vọng trên qldt để xin thực tập tại các công ty mà không cần phải đăng ký trên sis trước. Điểm thực tập của các bạn sau khi kết thúc sẽ được bảo lưu và sau này khi đăng ký học phần trên sis bạn có thể chọn điểm cao nhất trong 2 kỳ gần nhất được bảo lưu trên qldt làm điểm cho môn học thực tập kỹ thuật của bạn.

Để xem danh sách các công ty và đề tài của các công ty các bạn có thể xem tại mục DS Doanh Nghiệp trên quản lý đào tạo hoặc vào trực tiếp link https://qldt.hust.edu.vn/#company


Sau khi tìm được công ty có nguyện vọng phù hợp với bản thân thì bạn có thể đăng ký nguyện vọng tại https://qldt.hust.edu.vn/#dang-ky-nguyen-vong. Điền đầy đủ thông tin và chọn nguyện vọng, mỗi người có tối đa là 3 nguyện vọng và phải chọn tối thiểu là 2 nguyện vọng.

Có một số bạn đã đi thực tập thì sao? nếu các bạn đã đi thực tập rồi thì nếu doanh nghiệp có nằm trong hệ thống hợp tác của trường thì các bạn có thể đăng ký học phần ở kỳ tiếp theo rồi thương lượng với anh leader team bạn nhận các bạn trên hệ thống qldt của trường. Còn một số bạn thực tập ở doanh nghiệp không liên kết với trường thì các bạn phải đăng kí trước ở đầu kì trước, các bạn nhớ chú ý đọc kĩ các bài viết vì việc đăng kí là có hạn nếu quá hạn thì sẽ không được nữa, giấy tờ xin cũng là khá nhiều. Còn việc không đăng ký ở kỳ tiếp theo mà xin lấy điểm luôn vì đã thực tập tại công ty được không thì cái này mình cũng không nhớ rõ nữa, những có lẽ là việc này hơi khó, tốt nhất là các bạn đăng kí lại và đi thực tập lại cho đúng quy trình. 

Từ kỳ trước thì mọi người đều nhận được mail từ viện là không phải tới đợt mới có thể đăng ký nguyện vọng mà bất cứ lúc nào cũng có thể đăng ký nguyện vọng thực tập ở các công ty nhưng có lẽ mình thấy nó mới chỉ dừng lại ở mức lý thuyết, các bạn vẫn đăng ký nguyện vọng theo các đợt trong năm mà thôi. Mà hầu như các công ty cũng tuyển theo đợt chứ chả công ty nào tuyển rải rác cả năm cả.

Về tính điểm của học phần

Điểm của học phần được cho bởi người phụ trách của bạn trên công ty và hoàn toàn không liên quan gì tới trường, trường chỉ ghi nhận điểm của các bạn mà thôi. Vì thế khi đi thực tập thì cố thân với các anh lead 1 chút để các anh cho điểm cao. Thực ra mình thấy trừ 1 số công ty thì hầu như các anh phụ trách đều đánh giá rất là thoáng vì các anh tính ra cũng còn khá trẻ chắc cũng thấu hiểu nỗi khát điểm của sinh viên chúng ta.

Hỗ trợ

Viện mình hỗ trợ rất tích cực vấn đề thực tập kỹ thuật cho sinh viên, các kỳ đều có những group Facebook riêng để giải đáp thắc mắc của các bạn và trước mỗi kì thực tập đều có các livestream, một buổi talk nhỏ để các bạn đặt câu hỏi.

Để nhận thông tin các group thực tập các kỳ thì các tham tham gia group SOICT - CNTT&TT của viện nha, các thông tin mình thấy các thầy/cô đăng lên đây khá nhiều.

Một số group hỗ trợ thực tập của các kỳ trước: 

Trợ cấp/ lương khi đi thực tập

Một số bạn lại đi thực tập thì kinh nghiệm là chủ yếu chứ lương lậu gì, nhưng theo mình thấy các bạn đi thực tập mà kiêu không có lương thì nói chung khá là nản (chúng ta cứ gọi là lương cho dễ nha chứ thực ra phải là trợ cấp mới hợp lý). Thế nên lời khuyên của mình là nên chọn công ty nào có trợ cấp mà đăng ký vì đầu tiên là nó thể hiện thực lực của công ty, tiếp là nó sẽ khiến mình có động lực hơn nhiều đấy. Các bạn check trong danh sách đề tài thực tập của từng doanh nghiệp nha.


Đánh giá

Sau khi kết thúc các bạn nhớ để ý thông báo trên group Facebook và đánh giá doanh nghiệp theo mẫu nha. Việc đánh giá nên trung thực để nhà trường cũng như các sinh viên khác có cái nhìn thiết thực về doanh nghiệp hơn.


Nếu các bạn còn gì thắc mắc thì hãy comment bên dưới nha, mình sẽ trả lời bằng tất cả những gì mình biết để giải đáp các thắc mắc của mọi người.