Professional Documents
Culture Documents
Bai Thu Hoach - PhamDuyAn - 19161076 - 19161CLVT2B
Bai Thu Hoach - PhamDuyAn - 19161076 - 19161CLVT2B
HCM
Trang
CHUYÊN ĐỀ 1…………………………………………………………………………….3
CHUYÊN ĐỀ 2…………………………………………………………………………….10
CHUYÊN ĐỀ 3…………………………………………………………………………… 17
CHUYÊN ĐỀ 4…………………………………………………………………………… 24
CHUYÊN ĐỀ 5…………………………………………………………………………… 29
2
CHUYÊN ĐỀ 1
Sinh viên trình bày lại các nội dung chính như sau:
1. Các nội dung chính được báo cáo của buổi chuyên đề là gì ? Tóm tắt lại các nội
dung chính mà sinh viên lĩnh hội được. (1 - 2 trang).
2. Những kiến thức, thông tin, kỹ năng nào sinh viên được lĩnh hội có giá trị đối
với sự phát triển cũng như định hướng nghề nghiệp cho sinh viên. (1 - 2 trang).
3. Hãy chọn 01 nội dung chuyên ngành liên quan đến buổi chuyên đề và trình bày
chi tiết nội dung đó. (Không quá 3 Trang).
4. Hình chụp minh chứng sinh viên có tham gia buổi chuyên đề.
6
Trình độ ngoại ngữ: trong thời điểm hiện nay tiếng Anh là một ngôn ngữ phổ
biến trên toàn thế giới và các tài liệu cũng đều sử dụng tiếng Anh, các phần mềm
được phát triển cũng đều sử dụng tiếng Anh, chính vì vậy mà tất cả các công ty
phần mềm điều có yêu cầu tiếng Anh, khi có tiếng Anh kỹ sư phát triển phần mềm
mới có thể đọc tài liệu, phát triển nhanh kịp với xu hướng thế giới, bởi vì công
nghệ luôn thay đổi theo từng giờ từng ngày.
Kỹ năng tư duy logic: chúng ta cần sử dụng kỹ năng này để hiểu được các yêu
cầu của khách hàng và hiểu được nguồn nhân lực của công ty , sau đó kết hợp hai
yêu tố này để đưa ra cách xử lí tốt nhất.
Khả năng dự đoán rủi ro : các sản phẩm sau khi được hoàn thành điều có các rủi
ro nhất định nên chúng ta cần dự đoán được rủi ro đó để đưa ra hướng giải quyết
tốt nhất tránh gây thiệt hại về cho bản thân cũng như công ty.
Kỹ năng giao tiếp và trình bày: kỹ sư phần mềm ngoài làm việc với các máy
móc thì họ còn phải trao đổi với khách hàng, đối tác, cấp trên để trình bày các ý
tưởng của sản phẩm do mình làm ra, do đó kỹ năng giao tiếp tốt, trình bày lưu loát
được ý tưởng của mình là thứ quan trọng trong sự thành công của kỹ sư phần mềm.
Kỹ năng làm việc nhóm: kỹ năng này là vô cùng quan trọng trong công việc,
hầu như tất các nhà tuyển dụng điều yêu cầu, khi làm việc nhóm thì chúng ta có thể
nhận được nhiều ý kiến từ góc nhìn khác nhau từ đó đưa ra các quyết định cuối
cùng để tạo ra sản phẩm tốt.
Khả năng quản lí dự án :kỹ sư phần mềm tham gia vào hệ thống gồm có nhiều
bước và nhiêu quy trình khác nhau, chính vì vậy mà cần có khả năng quản lí tốt các
dự án để phân chia công việc, giám sát tiến độ thì sẽ đạt kết quả tốt trong dự án đó.
Tỉ mỉ, cẩn thận và kiên trì : do đặc thù công việc của kỹ sư phần mềm đặc biệt
là khi viết mã code chúng ta cần tỉ mỉ cẩn thận trong từng dòng code để tránh lặp
lại các lỗi sai, và cần kiên trì theo đuổi các dự án dù có gặp nhiều khó khăn.
❖ Những thử thách của một kĩ sư phần mềm
Bất kể nghề nghiệp, vị trí công tác nào cũng có những trở ngại, thử thách trong
thời gian hoạt động. Với kĩ sư phần mềm, bạn sẽ bị rơi vào các thử thách cụ thể
như:
Khó khăn trong giao tiếp
Kỹ sư phải bảo đảm cho công việc luôn kết thúc trước thời hạn và đáp ứng
được nhu cầu của các khách hàng khác. Do đó, họ sẽ thường xuyên gặp gỡ và làm
việc với khá nhiều khách hàng khác nữa.
Tuy nhiên, vấn đề đặt ra là việc trao đổi và hợp tác làm sao cho đôi bên cùng
có lợi? Phải giao tiếp thì mọi chuyện đều ổn thoả? Điều này đã trở thành bài toán
hóc búa không chỉ các chuyên gia công nghệ thiếu kinh nghiệm mà còn với những
người có thừa kinh nghiệm.
Những khó khăn về kỹ thuật
Kỹ sư phần mềm thường là những người có khả năng làm việc tốt. Tuy nhiên,
với những biến đổi chóng mặt của nền công nghiệp, nhiều hiểu biết về ngôn ngữ
lập trình, code hay tư duy logic trước đây có thể đã không còn thích hợp. Điều này
làm bạn có thêm khó khăn cho quá trình xây dựng ứng dụng mới và phát triển sản
phẩm của tương lai.
Làm việc nhóm
7
Thông thường, kĩ sư phần mềm sẽ hoạt động chung một lúc nhằm phân tích dữ
liệu, xây dựng kế hoạch, giải quyết các tình huống, gặp mặt đối tác, . .. Khi ấy,
nhóm phải có sự phối hợp rất cao nhằm xử lý mọi vấn đề nảy sinh.
Tuy nhiên, hoạt động nhóm thế nào cho hài hoà và hợp lý thì không hề đơn
giản. Họ cũng thường có cái tôi rất cao nên không thể tiếp thu quan điểm của người
kia. Điều này tạo nên không ít trở ngại trong việc triển khai những kế hoạch.
Ngoại ngữ yếu
Đối với những việc làm thuộc lĩnh vực này thì khả năng ngoại ngữ đặc biệt cần
thiết. Thế nhưng, thực tiễn cho thấy những kĩ sư lại rất thiếu khả năng ngôn ngữ.
Dường như việc theo học một chuyên ngành mang tính kỹ thuật và logic kiểu này
đã phần nào cản trở quá trình học tiếng Anh của họ. Hệ quả là một số kĩ sư có
khuynh hướng tránh né sử dụng ngoại ngữ mặc dù hiểu được vai trò cần thiết của
nó với nghề nghiệp.
❖ Cơ hội phát triển của kỹ sư phần mềm
Sức hút của ngành đào tạo CNTT nói chung và kỹ thuật phần mềm nói riêng
luôn lớn. Nhu cầu nguồn cung cấp kỹ thuật sư CNTT trong khối doanh nghiệp hiện
nay là cực lớn. Nhiều công ty đã đầu tư thêm khá nhiều chi phí và phúc lợi khi
tuyển dụng, đào tạo và có kỹ năng sư phạm CNTT giỏi.
Nếu theo chuyên ngành kỹ sư phần mềm, ngay sau tốt nghiệp, bạn nên làm việc
tại: Những công ty phát triển sản phẩm game, đơn vị thiết kế và cung ứng giải pháp
CNTT, . ..
Khi có thêm vài năm nữa, bạn nên bắt đầu với vị trí kỹ sư, chuyên viên phát
triển sản phẩm nếu còn thích theo đuổi con đường học thuật và hàn lâm thì bạn có
thể tập trung nghiên cứu để lấy bằng cử nhân hoặc tiến sĩ rồi từ đấy làm việc ở các
trường đại học.
Tầm quan trọng của phát triển phần mềm: Phát triển phần mềm có vai trò quan
trọng vô cùng to lớn đối với công ty. Điều này sẽ cho phép các phòng ban hay bộ
phận của doanh nghiệp xử lý công việc dễ dàng và hiệu quả hơn nữa. Việc sử dụng
phần mềm cũng sẽ làm tăng năng suất và giảm chi phí giám sát, theo dõi.
Phát triển phần mềm cũng cho phép nhà quản lý nhanh chóng cập nhật thông
tin và tiến độ hoàn thành nhiệm vụ của nhân sự. Nhờ vậy nên công việc tạo ra hiệu
quả cao và sự hợp tác trong mọi lĩnh vực của doanh nghiệp tốt lên.
8
1.4. HÌNH ẢNH MINH CHỨNG
Hình 1.1 Hình ảnh minh chứng sinh viên tham gia chuyên đề 1
9
CHUYÊN ĐỀ 2
11
là một ứng dụng hướng đến người dùng đơn giản thì sẽ tốt hơn nhiều để phát triển
ứng dụng di động hybrid.
Đối với việc bảo trì, bạn có thể dễ dàng quản lý một ứng dụng di động hơn là
hai ứng dụng trong cùng một lúc. Vì sự khác biệt giữa ứng dụng native và ứng
dụng hybrid, các ứng dụng đa nền tảng chắc chắn sẽ dễ dàng hỗ trợ và duy trì hơn
nhiều.
Cuối cùng, tất cả các công ty đều hướng tới trải nghiệm người dùng tốt nhất.
Hầu hết thời gian, khách hàng sẽ không nhận thấy sự khác biệt giữa hiệu suất của
ứng dụng native và ứng dụng hybrid. Native và hybrid app đều không ngừng cải
tiến với các tính năng và công nghệ mới. Các ví dụ về ứng dụng native có thể hoạt
động nhanh hơn một chút vì chúng được tạo ban đầu cho một nền tảng nhất định.
Tuy nhiên, một framework đa nền tảng thường được chọn vì tính linh hoạt của nó.
Do đó, sẽ không có một câu trả lời chính xác cho câu hỏi “ứng dụng native
hay ứng dụng hybrid nào tốt hơn?”. Nó phụ thuộc vào tiêu chí của từng dự án và
từng công ty.
❖ Project
1. App chat real time : sử dụng firebase của google.
2. App shopping online: xây dựng cửa hàng quần áo, sáh, máy tính,… hiển thị
danh sách mặt hàng , kèm theo giá , cho phép nhấn đặt hàng gõ địa chỉ giao hàng
và nhấn gửi đơn hàng sẽ lưu trên cơ sở dữ liệu người quản lí nhìn thấy đơn hàng
hằng ngày
3. Order thực đơn tại bàn : app hiển thị danh sách món ăn ( hình ảnh +giá tiền ),
khách hàng không cần đăng nhập xem danh sách , nhấn chon tất cả món ăn, hiển
thị tổng số tiền phải thanh toán cho khách hàng xem,khách hàng chọn bàn từ(1-10),
khách nhấn Submit thì gửi order lên Admin.
- Viết code lập trình Xử lý và tạo khung chức năng cho ý tưởng phần mềm mà
khách hàng cần
- Biết thị hiếu của người tiêu dùng để có thể tạo và cập nhật ứng dụng phù hợp
với ứng dụng
- Test và xem xét các ứng dụng trong trình mô phỏng.
- Tải các ứng dụng lập trình làm sẵn lên các cửa hàng ứng dụng theo yêu cầu
của khách hàng.
- Sửa và cập nhật các lỗi gặp phải trong quá trình chạy thử nghiệm của ứng
dụng.
- Lên ý tưởng cho các dự án mới. Ứng dụng dựa trên nhu cầu và trải nghiệm của
người dùng.
Những thông tin trên đã phần nào cho thấy công việc của một mobile
developer không hề dễ dàng. Tuy nhiên, việc tự xây dựng ứng dụng sẽ giúp các
nhà phát triển. Lập trình viên có thể thường xuyên trau dồi kỹ năng và thể hiện khả
năng sáng tạo, tạo cơ hội thăng tiến trong sự nghiệp.
❖ Yêu cầu công việc đối với Mobile Developer
1. Kiến thức chuyên môn
Kỹ năng Phát triển ứng dụng dành cho thiết bị di động cũng tương tự như phát
triển web, nhưng điểm khác biệt là phát triển dành cho thiết bị di động được sử
dụng riêng cho các ứng dụng dành cho thiết bị di động.
1.1 kỹ năng thiết kế Mobile UI Design
13
Việc tạo ra một giao diện người dùng là giao diện người dùng (UI). khía cạnh
quan trọng nhất của phát triển ứng dụng di động.
Giao diện người dùng chịu trách nhiệm về sự tương tác giữa phần mềm và
người dùng. Các ứng dụng được sử dụng nhiều nhất là những ứng dụng dễ tải
xuống và sử dụng, có thiết kế hấp dẫn và hoạt động trơn tru.
Các yếu tố chính trong việc tạo giao diện người dùng (UI) là:
▪ Các tính năng được đặt đúng chỗ, được tối ưu hóa để dễ sử dụng và trải nghiệm
người dùng
▪ Màu sắc được sử dụng có ý nghĩa, hữu ích và nhất quán với ứng dụng.
▪ Dễ dàng cài đặt và vận hành ứng dụng.
▪ Thêm các mẹo cơ bản và trợ giúp chung để hỗ trợ người dùng.
1.2 Kỹ năng phát triển ứng dụng đa nền tảng
Nhà phát triển di động cần có kiến thức về nhiều nền tảng vận hành khác nhau
trong ngành công nghệ. Hiện nay trên thế giới có 3 nền tảng di động chính là
Android, Windows Phone và iPhone.
Nhà phát triển di động không chỉ có kinh nghiệm và khả năng viết mã trên một
nền tảng mà còn có thể áp dụng nó trên tất cả nền tảng. Bạn có cơ hội thăng tiến
trong sự nghiệp.
1.3 Kỹ năng lập trình trên ngôn ngữ mới
Một kỹ năng khác rất quan trọng trong công việc là khả năng sử dụng ngôn
ngữ lập trình mới.
- Khả năng sử dụng các ngôn ngữ lập trình phổ biến như Java, C#.
- Có kiến thức về các ngôn ngữ lập trình web như HTML, CSS .
- Hiểu biết về các giao diện lập trình ứng dụng (API) trên các nền tảng di động
như Apple iOS, Windows Mobile và Android.
- Khả năng triển khai bộ phần mềm di động đa nền tảng như AMP và Antenna.
2. Kỹ năng mềm
2.1 Kỹ năng phân tích
Các nhà phát triển thiết bị di động phải hiểu rõ nhu cầu của người dùng ngày
nay để xây dựng các ứng dụng mà họ muốn. Sử dụng kỹ năng phân tích giúp lập
trình viên tạo ra ứng dụng nhận được sự ủng hộ của người dùng.
2.2 Tính sáng tạo
Ngoài việc viết mã để tạo các ứng dụng thân thiện với người dùng, các nhà
phát triển di động phải có khả năng suy nghĩ sáng tạo. Cái mới giúp ích khi đưa
ứng dụng vào thực tế. Người dùng hài lòng và đóng góp vào trải nghiệm khách
hàng tích cực.
2.3 Kỹ năng giao tiếp
14
Kỹ năng giao tiếp được thể hiện ở đây dưới hai hình thức: giao tiếp bằng lời
nói hoặc giao tiếp bằng văn bản. Trong quá trình làm việc, lập trình viên cần biết
cách giao tiếp để đáp ứng yêu cầu của khách hàng. Ngoài ra, nhà phát triển phải
thường xuyên kết nối với các thành viên trong nhóm và giải thích ứng dụng cho
các thành viên trong nhóm. hoặc khách hàng nếu không hiểu về mặt kỹ thuật vẫn
có thể hiểu được. Đó là lý do tại sao khả năng giao tiếp trong công việc là một
trong những yếu tố quan trọng nhất.
2.4 Kỹ năng giải quyết vấn đề
Các nhà phát triển hiện chịu trách nhiệm tìm ra nguyên nhân và khắc phục sự
cố.
❖ Tìm việc làm Mobile Developer ở đâu?
Ngày nay với sự phổ biến ngày càng tăng của internet, tìm kiếm việc làm trực
tuyến đã trở thành một xu hướng. Bạn có thể tìm việc trên các trang tuyển dụng uy
tín và CareerBuilder là một trong số đó. Đây là một trang web cung cấp việc làm.
Jobs Are Good - Gặp gỡ nhiều đối tác tuyệt vời và đã giúp hàng triệu người tìm
được công việc ưng ý. Ứng viên có thể tìm thấy việc làm Mobile Developer ở
bất cứ đâu chỉ với một cú nhấp chuột. Đặc biệt, CareerBuilder còn hỗ trợ tạo hồ sơ
miễn phí cho ứng viên với nhiều tùy chọn mẫu.Hãy cùng trải nghiệm tìm việc trên
CareerBuilder ngay! Hy vọng với những thông tin trên CareerBuilder đã cung cấp
đầy đủ những thông tin cần thiết về công việc mobile developer. Bằng cách này,
bạn giúp hỗ trợ định hướng nghề nghiệp và lựa chọn lời mời làm việc phù hợp
trong tương lai.
15
2.4. HÌNH ẢNH MINH CHỨNG
Phạm Duy An
Hình 2.1 Hình ảnh minh chứng sinh viên tham gia chuyên đề 2
16
CHUYÊN ĐỀ 3
17
Cuối cùng, tự động hóa mạng đã đóng một vai trò quan trọng do đại dịch. Khi
nhân viên chuyển đến WFH, CNTT rõ ràng không tránh khỏi những thay đổi. Nhiều
chuyên gia CNTT ngày càng bị loại bỏ khỏi hệ thống của họ.
❖ Mô hình mạng doanh nghiệp
- Các kênh Internet được cung cấp bởi VNPT, FPT, Viettel...
- Thiết bị mạng: router, modem, switch, thiết bị thu phát wifi, cáp mạng...
- Các thiết bị kết nối Internet như máy tính để bàn, máy tính xách tay, máy tính
bảng, máy in, điện thoại thông minh, v.v.
❖ Mạng LAN
- Mạng lưới khu vực địa phương. Cho phép nhiều thiết bị kết nối và giao tiếp với
nhau để chia sẻ dữ liệu.
- Trong một phạm vi nhất định như gia đình, cơ quan, trường học, khuôn viên…
kết nối trực tiếp các thiết bị qua dây LAN hoặc qua wifi.
- Có hai loại mạng LAN cơ bản: có dây và không dây.
- Các kiểu kết nối mạng LAN phổ biến: star, ring, mesh, bus, tree.
❖ Mạng không dây
- Điểm nổi bật 802.11ax – WiFi Gen 6 (2019):
- Tương thích với dải tần 2.4GHz và 5GHz.
- Nâng cao hiệu suất truyền dữ liệu, giảm nhiễu.
- Cho phép nhiều thiết bị truyền/nhận dữ liệu đồng thời.
- Giảm xung đột và tiết kiệm năng lượng.
❖ Mạng WAN
- Mạng WAN ((Wide Area Network) hay còn gọi là mạng diện rộng được kết
hợp giữa các mạng đô thị bao gồm cả mạng MAN và mạng LAN thông qua
thiết bị vệ tinh, cáp quang, cáp dây điện.
❖ Mạng Internet
- Mạng Internet ở mọi nơi đều có thể truy cập được. Hoạt động truyền thông tin
theo mô hình nối chuyển dữ liệu.
- Internet bao gồm nhiều bộ định tuyến.
- Internet góp phần thay đổi xu hướng tìm kiếm, truyền tải thông tin.
❖ Thiết kế hoạt thống mạng doanh nghiệp
• Bước 1: phân tích yêu cầu
✓ Dựa vào thực trạng và yêu cầu của doang nghiệp.
✓ Dựa trên khảo sát thực tế của hệ thống mạng.
✓ Dựa trên kiểm tra và tốc dộ truy cập mạng.
• Bước 2: Thiết kế mạng luận lý ( logical network)
✓ Thiết kế network topology.
✓ Đặt tên và lựa chọn địa chỉ IP.
✓ Lựa chọn giao thức.
• Bước 3: Thiết kế mạng vật lý ( physical network)
✓ Lựa chọn công nghệ mạng.
18
✓ Lựa chọn thiết bị mạng.
✓ Sơ đồ kết nối mạng vật lý.
• Bước 4: Kiểm tra mạng đã thiết kế
✓ Kiểm tra tốc độ truy cập mạng WiFi đã thiết kế.
✓ Tối ưu hệ thống mạng đã thiết kế, quản trị tập trung.
✓ Lập tài liệu cho mạng đã thiết kế.
Có rất nhiều loại ngôn ngữ lập trình và nó có nhiều ưu nhược điểm khác nhau.
Nó còn hỗ trợ thư viện API với nhiều mức độ khác nhau. Và thường nó sẽ phụ thuộc
19
vào từng ứng dụng mạng cụ thể. Và hệ điều hành của mạng đó, nó sẽ trở thành thói
quen lập trình mà người dùng có thể lựa chọn ngôn ngữ đó để phát triển. Những ngôn
ngữ lập trình phổ biến hiện nay bao gồm những ngôn ngữ sau:
• Python (ngôn ngữ lập trình mã nguồn mở).
• Java (ngôn ngữ lập trình hướng đối tượng, mục đích chung).
• Perl (ngôn ngữ lập trình đa năng).
• Bash (công cụ giao diện dòng lệnh).
• Go (nhập tĩnh, ngôn ngữ lập trình biên dịch).
• Tcl (Ngôn ngữ lệnh công cụ, ngôn ngữ lập trình động mục đích chung).
Với lập trình mạng, sẽ có 2 mô hình mà bạn cần lưu ý là mô hình OSI và mô hình
7 lớp. Mô hình Kết nối Hệ thống Mở (OSI) đóng vai trò là hướng dẫn cho các kỹ sư
mạng, nhà phát triển và những người khác liên quan đến lập trình mạng. Mô hình này
giúp họ hiểu cách các sản phẩm và chương trình phần mềm có thể giao tiếp và tương
tác với nhau.
OSI bao gồm bảy lớp hiển thị cách dữ liệu di chuyển qua và trong các mạng. Các
lớp là: vật lý, liên kết dữ liệu, mạng, truyền tải, phiên, bản trình bày và ứng dụng.
Bên cạnh những kiến thức cơ bản trên, xu hướng kinh doanh ngày càng tăng theo
hướng sử dụng mạng có thể lập trình. Các chuyên gia mạng muốn đạt được kiến thức
chuyên môn về khả năng LTM cũng có thể xem xét xây dựng kỹ năng và kiến thức
trong các lĩnh vực sau:
• API REST: Liên quan đến chuyển trạng thái đại diện.
• JSON: Liên quan đến định dạng tệp tiêu chuẩn mở và định dạng trao đổi dữ
liệu.
• XML: Ngôn ngữ đánh dấu có thể mở rộng.
• Git/GitHub: Phần mềm điều khiển phiên bản nguồn mở/giao diện dựa trên
website.
• Mạng Linux và các kỹ năng khác liên quan đến Linux.
• Ansible: công cụ mã nguồn mở cho IaC.
• Docker: nền tảng chứa mã nguồn mở.
• NETCONF (giao thức), A (ngôn ngữ mô hình hóa dữ liệu), NFV (ảo hóa các
chức năng mạng).
Đa phần các doanh nghiệp đều yêu cầu kỹ sư mạng phải có bằng cử nhân về
khoa học máy tính, hệ thống thông tin hoặc các bằng kỹ thuật tương đương. Với một
số công ty lớn có thể yêu cầu cả bằng master về khoa học máy tính. Ngoài ra, các
chứng chỉ bằng cấp được cung cấp bởi Cisco, Microsoft,cũng thường xuyên được yêu
cầu phải có đối với một kỹ sư mạng.
20
Bên cạnh trình độ chuyên môn, một kỹ sư mạng giỏi cần tích lũy thêm cho mình
những kỹ năng như:
Kỹ năng phân tích
Đây là kỹ năng cần thiết để đánh giá các vấn đề xảy ra đối với hệ thống mạnh.
Từ những phân tích này để có giải pháp thay đổi điều chỉnh cho phù hợp.
Kỹ năng giao tiếp
Nhiều người nghĩ kỹ sư mạng là công việc khô khan không cần giao tiếp nhiều
nhưng thực tế thì không hẳn như vậy. Các kỹ sư thường xuyên phải trao đổi với đội
ngũ IT để tìm ra nguyên nhân và giải pháp đảm bảo cho công việc diễn ra thuận lợi.
Kỹ năng giải quyết vấn đề
Việc hệ thống mạng gặp sự cố, ngừng hoạt động là điều khó tránh khỏi. Lúc này
đội ngũ kỹ sư mạng cần đưa ra phương án khắc phục nhanh nhất để tránh ảnh hưởng
tới tiến độ hoạt động của doanh nghiệp.
Làm việc đa nhiệm
Một kỹ sư mạng sẽ phải giải quyết nhiều vấn đề và đảm nhiệm nhiều nhiệm vụ
trong quá trình làm việc. Do đó, kỹ năng làm việc đa nhiệm rất cần thiết khi bạn muốn
gắn bó lâu dài với công việc này.
21
không chênh nhau nhiều, nhưng thực chất thiết bị không dây vẫn chưa đáp ứng được
nhu cầu tất yếu ở nhiều môi trường có máy tính.
Mạng có dây có độ trễ thấp hơn mạng không dây. Độ trễ là thời gian trễ để dữ
liệu di chuyển từ thiết bị đến đích. Chúng ta có thể kiểm tra độ trễ đơn giản bằng cách
sử dụng lệnh "Ping" trên Command Prompt của Windows, Linux hoặc Terminal của
Mac. Kết quả sẽ cho thấy mạng wifi có độ trễ cao hơn một chút so với mạng có dây do
tín hiệu phải đi qua thiết bị và bộ định tuyến.
Mạng có dây đáng tin cậy hơn mạng không dây,khi so sánh kết quả luôn cho thấy
mạng có dây đáng tin cậy hơn mạng wifi. Mạng không dây sẽ bị ảnh hưởng rất nhiều
bởi các chướng ngại vật xung quanh và tín hiệu điện từ, ngoài ra có thể do mạng của
hàng xóm gây nhiễu sóng.
Bạn thường gặp tình trạng mất tín hiệu mạng trong vài phút rồi lại bình thường,
hay có lúc mạng khỏe, có lúc mạng yếu làm ảnh hưởng đến quá trình sử dụng mạng
của mọi người.
Mạng Lan như thể được sinh ra là để dành cho các doanh nghiệp vậy. Hệ thống
mạng dây cũng sở hữu trọn vẹn những điều mà doanh nghiệp cần ở một kết nối mạng.
Tóm lại, mạng có dây sẽ đem lại cho chúng ta những trải nghiệm tốt nhất, ổn
định nhất và phù hợp nhất với các doanh nghiệp, những công việc có tính chất đòi hỏi
kết nối mạng ổn định. Tuy mạng wifi còn nhiều điểm bất tiện nhưng ta cũng không thể
phủ nhận tầm quan trọng của nó trong đời sống hàng ngày. Hai loại này luôn hướng
tới người dùng khác nhau. Vậy nên, bạn nên lựa chọn loại mạng phù hợp với nhu cầu
của mình để đạt được hiệu quả tốt nhất.
22
3.4. HÌNH ẢNH MINH CHỨNG.
Phạm Duy An
Hình 3.1 Hình ảnh minh chứng sinh viên tham gia chuyên đề 3
23
CHUYÊN ĐỀ 4
Phạm Duy An
Hình 4.1 Hình ảnh minh chứng sinh viên tham gia chuyên đề 4
28
CHUYÊN ĐỀ 5
FPT SEMICONDUCTOR
29
5.2 NHỮNG LĨNH HỘI CÓ GIÁ TRỊ ĐỐI VỚI SỰ PHÁT
TRIỂN VÀ ĐỊNH HƯỚNG NGHỀ NGHIỆP CHO SINH
VIÊN.
Chip design: Phần thiết kế này đặc biệt quan trọng, người thiết kế thường là
trưởng dự án. Người thiết kế phải lý giải 100% hệ thống sắp thiết kế. Chọn kiểu chip
nào và tại sao? Số lượng bóng bán dẫn có thể được tích hợp trên chip đó? Kích cỡ tối
ưu của chip là gì? Công nghệ nào sẽ được sử dụng để sản xuất chip? Khi nào thì chip
phải được đưa ra thị trường? Chip đó sẽ được sản xuất và kiểm tra tại đâu? Người thiết
kế cần phải hiểu rõ nguyên lý hoạt động của toàn bộ hệ thống, các đặc điểm về công
nghệ, tốc độ xử lý, mức tiêu thụ năng lượng, cách bố trí các Pins, các lược đồ khối, các
điều kiện vật lý như kích thước, nhiệt độ, điện áp...
Hardwave integration: tập trung vào tất cả các khía cạnh của hệ thống máy tính.
Trách nhiệm của họ là đảm bảo rằng phần mềm, phần cứng và mạng lưới các hệ thống
hoạt động tối ưu và an toàn. Các kỹ sư giải quyết các vấn đề liên quan đến hệ thống để
cải thiện hiệu suất của chúng. Họ tạo và ghi lại các mô tả trực quan về các hệ thống và
đầu vào và đầu ra của chúng. Các cá nhân cần đa nhiệm vụ và tuân thủ các mốc thời
gian nghiêm ngặt. Với bộ kỹ năng của mình, các kỹ sư có thể thiết kế và xây dựng các
hệ thống máy tính, phần cứng máy tính, chẳng hạn như bộ xử lý, bảng mạch và vi
mạch, ngoài bộ định tuyến và thiết bị chuyển mạch. Họ cần phải có kỹ năng giao tiếp
bằng lời nói và bằng văn bản xuất sắc, vì họ cần tham gia vào các cuộc thảo luận kỹ
thuật với các thành viên trong nhóm và kỹ sư của họ thuộc phần mềm và mạng về các
vấn đề hệ sinh thái mạng. Bên cạnh đó, các kỹ sư cũng cần giúp đội ngũ bán hàng và
tiếp thị giải thích cho những khách hàng có thể có nền tảng phi kỹ thuật về cách thức
hoạt động của hệ thống phần cứng. Họ cần có kỹ năng phân tích và giải quyết vấn đề
vững chắc.
Low level softwave: Lập trình cấp thấp thường được mô tả là hướng đến máy
móc. Nó cũng gần với các thiết bị ngoại vi máy tính và đòi hỏi kiến thức về các hướng
dẫn và định hướng của bộ xử lý trong các mối quan hệ của các hệ thống nội bộ hoặc
các thiết bị liên quan. Lập trình cấp thấp nhằm mục đích hướng dẫn một trình biên
dịch ngôn ngữ cụ thể sử dụng các lệnh mã máy sẽ thực hiện các tác vụ theo cách
nhanh nhất và an toàn nhất có thể, sử dụng dung lượng bộ nhớ tối thiểu. Nó thường sử
dụng những lợi thế cá nhân của ngoại vi lõi hoặc hệ thống để đạt được điều này. Ưu
điểm chính của lập trình cấp thấp là kiểm soát tốt hơn cả mã và tài nguyên của thiết bị.
Kiểm soát mã tốt hơn và khả năng các lập trình viên tối ưu hóa chương trình -
các nhà phát triển có kinh nghiệm hơn có thể tận dụng lợi thế của lập trình cấp thấp và
viết các chương trình hiệu quả hơn với quản lý luồng dữ liệu tốt hơn.
Các chương trình chạy hiệu quả hơn, ngay cả khi bộ nhớ và dung lượng lưu trữ
hạn chế - điều này làm cho lập trình cấp thấp trở nên hoàn hảo cho các hệ thống nhúng,
chẳng hạn.
Nhược điểm của ngôn ngữ cấp thấp là gì? Nói chung – sự phức tạp của chúng.
Không di động - như đã đề cập trước đây, mã cấp thấp hoạt động trên một thiết bị
chuyên dụng (tức là nó phụ thuộc vào máy), ngược lại với các ngôn ngữ cấp cao.
30
Viết code cấp thấp đòi hỏi lập trình viên phải có kiến thức tốt về phần cứng đang
được sử dụng – không có thư viện, code phải được viết lại mỗi lần.
Tại thời điểm này, điều đáng nói là một ngôn ngữ lắp ráp chắc chắn dễ hiểu và
sửa đổi hơn, nhưng nó vẫn phụ thuộc vào máy móc.
Application softwave: để chỉ phần mềm thực hiện các chức năng cụ thể cho
người dùng. Khi người dùng tương tác trực tiếp với một phần mềm, nó được gọi là
phần mềm ứng dụng. Mục đích duy nhất của phần mềm ứng dụng là hỗ trợ người dùng
thực hiện các tác vụ cụ thể. Microsoft Word và Excel, cũng như các trình duyệt web
phổ biến như Firefox và Google Chrome, là những ví dụ về phần mềm ứng dụng. Nó
cũng bao gồm danh mục ứng dụng dành cho thiết bị di động, bao gồm các ứng dụng
như WhatsApp để liên lạc và các trò chơi như Candy Crush Saga. Ngoài ra còn có các
phiên bản ứng dụng của các dịch vụ phổ biến, chẳng hạn như thông tin thời tiết hoặc
giao thông, cũng như các ứng dụng cho phép người dùng kết nối với doanh nghiệp. Hệ
thống định vị toàn cầu (GPS), Đồ họa, đa phương tiện, phần mềm trình bày, phần mềm
xuất bản trên máy tính để bàn, v.v. là những ví dụ về phần mềm đó.
31
Team Leader chịu trách nhiệm chia nhỏ công việc cho từng thành viên trong đội.
Ví dụ một người đảm nhận phần ALU, một người đảm nhận phần Decoder...Tới lượt
mình thành viên sẽ sử dụng các ngôn ngữ thiết kế phần cứng (Verilog-HDL,
VHDL.System-C ...) để hiện thực hóa các chức năng logic. Người ta gọi mức thiết kế
này là thiết kế mức RTL (Register Transfer Level). Thiết kế mức RTL nghĩa là không
cần quan tâm đến cấu tạo chi tiết của mạch điện mà chỉ chú trọng vào chức năng của
mạch dựa trên kết quả tính toán cũng như sự luân chuyền dữ liệu giữa các register
(Flip-Flop) .
Thông thường các file Text như trên được gọi là các fie RTL (Resister Transfer
Lervel) trong trường hợp viết bằng ngôn ngữ Verilog hoặc VHDL. Để kiểm tra tính
đúng đắn của mạch điện, người ta dùng một công cụ mô phỏng ví dụ như NC-Verilog
(Native Code Verilog ) hay NC-VHDL của hãng Candence, ModelSim của hãng
Mentor Graphics. Quá trình debug sẽ được lặp đo lặp lại trên máy tính cho tới khi thiết
kế thõa mãn yêu cầu từ Team Leader. Thành quả của thành viên là các file RTL. Team
Leader sẽ tổng hợp các file RTL từ các thành viên, ghép các module với nhau thành
một module lớn hơn, đó chính là RTL cho cả CPU.
Tới lượt mình Team Leader sẽ dùng Simulater để mô phỏng và kiểm tra tính
đúng đắn của CPU, nếu có vấn đề gì thì sẽ Feedback lại cho thành viên yêu cầu họ sửa
chữa. Sau khi đã được Test cẩn thận, toàn bộ cấu trúc RTL trên sẽ được nộp cho
trưởng dự án.
Tương tự đối với các module khác: bus, peripherals...Các module trên lại được
tiếp tục ghép với nhau để cấu thành nên một SoC hoàn chỉnh, bao gồm: CPU, system
bus, peripherals... SoC này là thành quả của phần Function design.
3. Synthesic-place-router
Đây là bước chuyển những RTLs đã thiết kế ở phần 2 xuống mức thiết kế thấp
hơn. Các chức năng mức trừu tượng cao (RTL) sẽ được hoán đổi thành các quan hệ
logic (NOT, NAND, NOR, MUX,...). Các Tool chuyên dụng sẽ thực hiện nhiệm vụ
này, ví dụ như Design Compiler của hãng Synopsys, Synplify của hãng Synplicity,
XST của hãng Xilinx.... Kết quả hoán đổi sẽ khác nhau tùy theo Synthesis Tool và thư
viện. Thư viện ở đây là bộ các "linh kiện" và "macro" - được cung cấp bởi các nhà sản
xuất bán dẫn.
4. Layout design
Phần này là khởi đầu cho thiết kế mức "hạ lưu", thường được đảm nhiệm bởi
chuyên gia trong các hãng sản xuất bán dẫn.
Họ sử dụng các công cụ CAD để chuyển net-list sang kiểu data cho layout.
Netlist sẽ trở thành bản vẽ cách bố trí các transistor, capacitor, resistor,... Ở đây phải
tuân thủ nghiêm ngặt một thứ gọi là Design Rule.
Ví dụ chip dùng công nghệ 65nm thì phải dùng các kích thước là bội số của
65nm...
5. Mask pattern design
Bước kế tiếp của layout design là Mask Pattern. Phần này thực ra giống hệt với
artwork trong thiết kế bản in. Các bộ Mask (cho các bước sản xuất khác nhau) sẽ được
tạo ra dưới dạng data đặc biệt. Mask data sẽ được gửi tới các nhà sản xuất Mask để
nhận về một bộ Mask kim loại phục vụ cho công việc sản xuất tiếp theo.
6. Sản xuất mask
32
Có thể xem Mask là cái khuôn để đúc vi mạch lên tấm Silicon. Công nghệ sản
xuất Mask hiện đại chủ yếu dùng tia điện tử (EB - Electron Beam). Các điện tử với
năng lượng lớn
(vài chục keV) sẽ được vuốt thành chùm và được chiếu vào lớp film Crom đổ
trên bề mặt tấm thủy tinh. Phần Cr không bị che bởi Mask (artwork) sẽ bị phá hủy, kết
quả là phần Cr không bị chùm electron chiếu vào sẽ trở thành mask thực sự.
Một chip cần khoảng 20 tới 30 masks. Giá thành các tấm Mask này cực đắt, cỡ
vài triệu USD.
7. Chuẩn bị wafer
Đây là bước tinh chế cát (SiO2) thành Silic nguyên chất (99.999999999%). Silic
nguyên chất sẽ được pha thêm tạp chất là các nguyên tố nhóm 3 hoặc nhóm 5. Ví dụ
pha B sẽ được wafer loại p, pha P sẽ ra wafer loại n. Silicon sẽ được cắt thành các tấm
tròn đường kính 200mm hoặc 300mm với bề dày cỡ 750um. Có các công ty chuyên
sản xuất silicon wafer. Chẳng hạn Shin'Etsu là công ty cung cấp khoảng 40% silicon
wafer cho thị trường bán dẫn Nhật Bản. Giá một tấm wafer 200mm khoảng 20 USD.
8. Các quá trình xử lý wafer
Tất cả được thực hiện trong môi trường siêu sạch (ultra clean room)
9. Kiểm tra - Đóng gói - Xuất xưởng
Các xử lý ở phần 3 sẽ được lặp đi lặp lại nhiều lần tùy thuộc vào mức độ phức
tạp của chip. Cuối cùng chip sẽ được cắt rời (một tấm wafer 300mm có thể tạo được
khoảng 90 con chip Pentium IV). Một loạt các xử lý khác như back grinding (mài
mỏng phần mặt dưới của chip), bonding (nối ra các pins, dùng chì mạ vàng hoặc đồng),
mold (phủ lớp cách điện), marking (ghi tên hãng sản xuất etc.)
Phạm Duy An
Hình 5.1 Hình ảnh minh chứng sinh viên tham gia chuyên đề 5
33