Tự học HTML căn bản. Nội dung của cuốn sách này:– Giới thiệu một số chủ đề về chọn nghề, học làm nghề và phương pháp học– Kiến thức căn bản về web, trình duyệt, URL, siêu liên kết, siêu văn bản– Kiến thức tổng quan về HTML– Cách hiển thị văn bản– Tìm hiểu về liên kết– Hiển thị hình ảnh– Thiết kế form– Nhúng nội dung vào trang web– Các chủ đề mở rộng liên quan đến HTML– Tập làm dự án
Trang 1TỰ HỌC LÀM WEB
Lê Gia Công
Phiên bản 2023
Tập 1 – HTML căn bản
Trang 2Mục lục
Lời nói đầu 7
1 Nghề làm web 9
1.1 Áp dụng “Nụ cười Stan Shih” vào nghề Công nghệ thông tin 9
1.2 Muốn theo nghề lập trình bắt đầu từ đâu? 10
1.2.1 Học theo chương trình chính quy 11
1.2.2 Học theo chương trình tự chế 14
1.3 Làm web là làm gì? 16
1.3.1 Các công đoạn căn bản để làm web 16
1.3.2 Một số vị trí trong nấc thang nghề nghiệp 16
1.3.3 Tham khảo quy trình để làm ra một sản phẩm phần mềm 18
1.4 Muốn làm web cần học những gì 20
1.5 Xem và đọc thêm 22
1.6 Bài tập và thực hành 23
2 Cách học 23
2.1 Học và Hành 23
2.2 Thang đo Bloom 24
2.3 Tháp học tập 28
2.4 Chu trình học tập Kolb 29
2.5 Mô hình Dreyfus 32
2.6 Xem và đọc thêm 34
2.7 Bài tập và thực hành 35
3 Lộ trình học web front-end 36
4 Web căn bản 40
4.1 Web 40
4.1.1 Web là gì? 40
4.1.2 Nội dung của web 41
4.1.3 Xem và đọc thêm 42
4.1.4 Bài tập và thực hành 42
Trang 34.1.5 Câu hỏi ôn tập 43
4.2 Trình duyệt web 44
4.2.1 Trình duyệt web là gì? 44
4.2.2 Quá trình hiển thị trang web của trình duyệt 48
4.2.3 Xem và đọc thêm 49
4.2.4 Bài tập và thực hành 50
4.2.5 Câu hỏi ôn tập 51
4.3 URL, siêu liên kết và siêu văn bản 52
4.3.1 URL là gì? 52
4.3.2 Giao thức File 54
4.3.3 Siêu liên kết 55
4.3.4 Siêu văn bản 55
4.3.5 Xem và đọc thêm 56
4.3.6 Bài tập và thực hành 56
4.3.7 Câu hỏi ôn tập 58
5 HTML 59
5.1 Tạo một trang web đơn giản 59
5.1.1 Trang web tĩnh là gì? 59
5.1.2 Chuẩn bị nội dung cho trang web 60
5.1.3 Cấu trúc cơ bản của một tài liệu HTML 61
5.1.4 Thêm cấu trúc và ngữ nghĩa cho nội dung 65
5.1.5 Phần tử kiểu block và inline 67
5.1.6 Xem và đọc thêm 69
5.1.7 Bài tập và thực hành 69
5.1.8 Câu hỏi ôn tập 73
5.2 Hoàn thiện một trang web đơn giản 74
5.2.1 Phần tử rỗng 74
5.2.2 Thuộc tính 75
5.2.3 Hiển thị tiếng Việt 77
5.2.4 Thêm CSS cho trang web 78
5.2.5 Kiểm tra tính hợp lệ của mã HTML 79
5.2.6 Xem và đọc thêm 81
Trang 45.2.7 Bài tập và thực hành 81
5.2.8 Câu hỏi ôn tập 86
5.3 Hiển thị văn bản 87
5.3.1 Đoạn văn bản và đề mục 87
5.3.2 Danh sách 90
5.3.3 Một số phần tử hiển thị nội dung khác 94
5.3.4 Xem và đọc thêm 97
5.3.5 Bài tập và thực hành 97
5.3.6 Câu hỏi ôn tập 100
5.4 Bố cục một trang web 100
5.4.1 Các phần tử tạo bố cục trang web 101
5.4.2 Xem và đọc thêm 110
5.4.3 Bài tập và thực hành 111
5.4.4 Câu hỏi ôn tập 116
5.5 Phần mềm lập trình web 117
5.5.1 Phân loại phần mềm lập trình 117
5.5.2 Sử dụng phần mềm lập trình 120
5.5.3 Xem và đọc thêm 120
5.5.4 Bài tập và thực hành 120
5.5.5 Câu hỏi ôn tập 122
5.6 Một số phần tử HTML khác 123
5.6.1 Các phần tử inline 123
5.6.2 Div và span 125
5.6.3 Cải thiện khả năng tiếp cận với ARIA 128
5.6.4 Hiển thị các kí tự đặc biệt 129
5.6.5 Xem và đọc thêm 130
5.6.6 Bài tập và thực hành 131
5.6.7 Câu hỏi ôn tập 137
5.7 Liên kết trang web 138
5.7.1 Trang web, website, ứng dụng web 138
5.7.2 Tạo liên kết 140
5.7.3 Liên kết ngoài 141
Trang 55.7.4 Liên kết trong một website 142
5.7.5 Liên kết trong một trang web 149
5.7.6 Liên kết đến phân đoạn trong trang khác 152
5.7.7 Hiển thị trang đích 152
5.7.8 Gửi email, gọi điện thoại bằng liên kết 153
5.7.9 Tải tập tin bằng liên kết 154
5.7.10 Xem và đọc thêm 154
5.7.11 Bài tập và thực hành 154
5.7.12 Câu hỏi ôn tập 160
5.8 Hình ảnh 161
5.8.1 Phần tử img 161
5.8.2 Ảnh SVG 165
5.8.3 Hiển thị ảnh linh hoạt 168
5.8.4 Xem và đọc thêm 176
5.8.5 Bài tập và thực hành 176
5.8.6 Câu hỏi ôn tập 181
5.9 Bảng 182
5.9.1 Hiển thị dữ liệu dưới dạng bảng 182
5.9.2 Gộp ô 185
5.9.3 Thêm ngữ nghĩa cho bảng 188
5.9.4 Bài tập và thực hành 192
5.9.5 Xem và đọc thêm 193
5.9.6 Câu hỏi ôn tập 193
5.10 Form 194
5.10.1 Tổng quan về Form 194
5.10.2 Các control phổ biến 199
5.10.3 Tăng tính ngữ nghĩa cho form 207
5.10.4 Tạo bố cục và thiết kế form 208
5.10.5 Bài tập và thực hành 209
5.10.6 Xem và đọc thêm 218
5.10.7 Câu hỏi ôn tập 218
5.11 Các thành phần nhúng 219
Trang 65.11.1 Iframe 220
5.11.2 Object và Embed 221
5.11.3 Video và Audio 222
5.11.4 Canvas 224
5.11.5 Bài tập và thực hành 226
5.11.6 Xem và đọc thêm 228
5.11.7 Câu hỏi ôn tập 229
5.12 Một số chủ đề khác 229
5.12.1 HTML không chỉ là ngôn ngữ đánh dấu 229
5.12.2 Cách tìm và sửa lỗi HTML 230
5.12.3 Chú thích 232
5.12.4 Bài tập và thực hành 235
5.12.5 Xem và đọc thêm 235
5.13 Tập làm dự án 235
5.13.1 Dự án 1 235
5.13.2 Dự án 2 253
Trang 7Lời nói đầu
Câu hỏi đầu tiên xuất hiện trong đầu, khi bạn thực sự muốn bước chân vào lĩnh vực làm web là
“muốn theo nghề làm web bắt đầu từ đâu?”
Thực tế, bạn có thể bắt đầu theo nhiều cách, ví dụ:
– Cách một, học bài bản theo chương trình của một trường đại học, cao đẳng, hay trung tâm (tạm gọi là chương trình chính quy)
– Cách hai, tự học bằng cách kết hợp các chỉ dẫn, các bài học của rất nhiều thầy cô, anh chị trên mạng; cùng với các khóa học trực tuyến của các công ty, tổ chức, và cá nhân Tạm gọi cách học thứ hai này là học theo chương trình tự chế ––tự các bạn chế ra
Học bài bản theo chương trình chính quy có một số đặc điểm sau:
– Bạn phải vượt qua được các kì thi đầu vào, các đợt xét tuyển của các trường đại học và cao đẳng
– Học theo chương trình được thiết kế sẵn của các trường
– Chương trình học khá bài bản và chi tiết, cho phép bạn có thể lựa chọn và theo đuổi nhiều ngành nghề khác nhau
– Bạn cần phải chi trả một khoản tiền khá lớn cho học phí, học liệu, ăn ở, và đi lại
– Cần thời gian khá dài theo đúng tiến độ đào tạo của các trường
– Có nhiều môn học khó, đôi khi không thực sự cần thiết; có những môn học không phải là thế mạnh của bạn; hoặc bạn không thích, nhưng vẫn phải học
Trong phần tiếp theo (phần Tổng quan) sẽ trình bày cụ thể hơn về lộ trình học theo chương trình chính quy, để bạn có thêm một góc nhìn
Tuy nhiên, nếu bạn không có nhiều tiền, nhưng có ý chí và muốn có một cái nghề; hoặc đơn giản bạn muốn tự tìm kiếm cho mình một con đường đi riêng, thì bạn vẫn hoàn toàn có thế học được nghề làm web theo chương trình tự chế
Để học theo chương trình tự chế, bạn cần phải chuẩn bị một cái máy tính; một ít chi phí để mua các khóa học, tài liệu; nếu tính toán hợp lý, thì chi phí này bằng khoảng một tháng lương thử việc của các lập trình viên Chi phí lớn nhất chính là thời gian, ý chí và quyết tâm của bạn Tài liệu này được viết cho các bạn học theo kiểu tự chế Mời bạn cùng trải nghiệm
Để có thể làm web, bạn cần đạt được các điều sau:
– Nắm được các kiến thức cơ bản, cần thiết, để tạo ra sản phẩm; làm cơ sở giúp bạn học được các chủ đề nâng cao
– Học kiến thức một cách bài bản, có “lớp lang”, để trả lời được các câu hỏi “tại sao lại làm như vậy?” Thực tế, có nhiều bạn biết làm nhưng không biết tại sao lại làm như vậy
– Kỹ năng làm ra sản phẩm, làm nhiều thì sẽ quen, làm các sản phẩm từ dễ đến khó
– Kỹ năng tự học, tự đọc tài liệu (tiếng Việt, Anh) để có kiến thức áp dụng vào thực tế
– Thái độ đúng đắn khi làm nghề: yêu nghề, có đạo đức nghề nghiệp, tính kỉ luật, tinh thần trách nhiệm, khiêm tốn, không ngừng học hỏi
Trang 8“TỰ HỌC LÀM WEB, Tập 1 – HTML căn bản” là cuốn sách đầu tiên trong loạt các cuốn sách giúp bạn có thể tự tin bước vào nghề Sách được viết theo kiểu dẫn dắt từng bước, bắt đầu với các kiến thức lý thuyết căn bản, đây được xem như những viên gạch nền móng, từ đó người học
dễ dàng tiếp cận các kiến thức sâu hơn, khó hơn; tiếp đến có thể tự tìm tòi và thử nghiệm kiến thức đã biết vào việc tạo ra sản phẩm
Tiếp sau phần kiến thức căn bản, tài liệu cũng cung cấp các từ khóa, liên kết tới các trang web, sách điện tử (ebook), và video khác trên mạng để bạn tự tìm hiểu, tự thực hành thêm, giúp bạn có thêm nhiều góc nhìn, nhiều thông tin và nhiều trải nghiệm hơn Sau khi đã có những hiểu biết cơ bản về một chủ đề, tài liệu sẽ cung cấp các bài tập và bài thực hành nhằm giúp người đọc hiểu rõ hơn lý thuyết, từng bước nâng cao kỹ năng thực hành, có thể tạo ra các sản phẩm
Ngoài ra, sách cũng có các bài tập, câu hỏi bằng tiếng Anh, giúp người đọc từng bước làm quen,
để tiến tới sẽ đọc và làm việc với các tài liệu hoàn toàn bằng tiếng Anh Bạn có thể sử dụng danh mục các từ tiếng Anh chuyên ngành tại đây: https://bit.ly/3iLYpgG
Cuối mỗi phần sẽ có các câu hỏi trắc nghiệm, giúp người học hệ thống và củng cố lại kiến thức Các bạn cũng sẽ tìm thấy liên kết đến các video bài giảng, hướng dẫn làm bài tập và thực hành ứng với mỗi chủ đề trên Youtube
Cuối cùng là hướng dẫn để làm một số dự án
Nội dung của cuốn sách này:
– Giới thiệu một số chủ đề về chọn nghề, học làm nghề và phương pháp học
– Kiến thức căn bản về web, trình duyệt, URL, siêu liên kết, siêu văn bản
Trang 91 Nghề làm web
Trong phần này, bạn sẽ tìm hiểu một số chủ đề có tính gợi mở, giúp bạn có những tiếp cận ban đầu về nghề, chọn nghề, học gì để làm được nghề
Một số chủ đề được trình bày gồm:
– Áp dụng Nụ cười Stan Shih vào nghề Công nghệ thông tin
– Muốn theo nghề lập trình bắt đầu từ đâu
– Làm web là làm gì
– Muốn làm web cần học những gì
1.1 Áp dụng Nụ cười Stan Shih vào nghề Công nghệ thông tin
Từ hoạt động thực tiễn, chủ tịch tập đoàn Acer, ông Stan Shih đã đưa ra Đường cong nụ cười, thường được gọi là Nụ cười Stan Shih Qua đó, ông cho rằng: trong chuỗi giá trị, giá trị gia tăng tạo ra do sản xuất (manufacturing) luôn nằm ở đáy của đường cong Phần giá trị còn lại thuộc về những công việc đòi hỏi nhiều kỹ năng và chất xám hơn, như: lên ý tưởng (concept/R&D), xây dựng thương hiệu (branding), thiết kế (design), phân phối (distribution), marketing, bán
hàng/dịch vụ hậu mãi (sale/after service) Xem hình minh họa (đường cong màu xanh chính là nụ cười Stan Shih):
Từ ý tưởng của Đường cong nụ cười tạm rút ra được một số ý, liên quan đến nghề nghiệp trong lĩnh vực Công nghệ thông tin:
– Để có một sản phẩm phần mềm, một dịch vụ, hay một giải pháp công nghệ, cần phải trải qua rất nhiều công đoạn Bao gồm: lên ý tưởng, nghiên cứu tính khả thi, xây dựng thương hiệu, phân tích hệ thống, thiết kế, cài đặt (lập trình), vận hành, phân phối, marketing, bán hàng, bảo trì,
Xây dựng thương hiệu Lên ý tưởng
Phân phối Marketing
Trang 10chỉ là lập trình, mà thực tế còn có rất nhiều các công việc khác để bạn lựa chọn Hãy tiếp cận từng loại công việc, trải nghiệm từng bước, và trải nghiệm càng nhiều càng tốt để xem bạn thực
sự hợp với loại công việc nào Nguyên tắc chung là trải nghiệm một công việc đủ lâu và đủ sâu
để bạn nắm bắt được quy trình và cách thức làm việc; thời gian để trải nghiệm mỗi công việc không cố định, nó tùy thuộc vào khả năng và điều kiện của mỗi bạn Với việc trải nghiệm đa dạng, bạn sẽ có được cái nhìn đa chiều, có tính hệ thống, thấy được mối liên quan giữa các công đoạn Điều này rất có lợi cho bạn, trước khi bạn chọn một công việc thích hợp nhất cho bản thân
để gắn bó
– Vòng đời của một sản phẩm bất kì, bao gồm rất nhiều công đoạn, vậy thì một phần mềm, một dịch vụ hay một giải pháp công nghệ thông tin giúp ích được gì vào mỗi công đoạn đó? Giúp giảm chi phí, tăng hiệu quả, hỗ trợ quá trình sản xuất? Bạn hãy luôn suy nghĩ làm sao để ứng dụng công nghệ thông tin vào mỗi công đoạn, đây chính là động lực giúp bạn tạo ra được những sản phẩm công nghệ thông tin hữu dụng Chưa cần phải làm những hệ thống phức tạp, hãy bắt đầu bằng những tiện ích, những giải pháp, hoặc những phần mềm đơn giản nhất, miễn là có ích
và áp dụng được vào trong công việc Theo thời gian, bạn sẽ có kinh nghiệm và kiến thức để làm các hệ thống lớn hơn
– Giá trị gia tăng (thu nhập) được phân bổ theo đường cong nụ cười, bạn hãy đối chiếu mỗi công đoạn của vòng đời sản phẩm vào trục đứng (trục Giá trị gia tăng) để biết được thu nhập của mỗi
vị trí, từ đó lựa chọn công việc phù hợp với khả năng của bản thân để có thu nhập cao nhất – Số lao động cần cho mỗi công đoạn được phân bổ theo đường cong nụ cười lật ngược (theo ý kiến của tác giả Chu Hảo, đường cong màu đỏ) Dựa vào đường cong lật ngược này, bạn sẽ biết được công đoạn nào cần nhiều lao động hơn (do vậy dễ tìm việc hơn) Bạn cũng biết được công đoạn nào cần phải học nhiều hơn, thì mới có thể làm việc được
– Có thể dùng kiến thức trong lĩnh vực Công nghệ thông tin để phát triển sự nghiệp của bản thân hoặc khởi nghiệp theo các ngành nghề khác nhau
Ngoài các ý tưởng của Đường cong nụ cười, bạn cũng nên tham khảo một vài nhận xét hữu ích
về marketing hiện đại, để áp dụng vào nghề của mình:
– Bản chất của mọi giao dịch trao đổi trên thị trường hiện nay không còn là trao đổi của hàng hóa hữu hình mà là trao đổi dịch vụ (service) Dịch vụ ở đây được hiểu là quá trình sử dụng kỹ năng, kiến thức, công nghệ tác động lên các đối tượng hữu hình (con người, máy tính, nhà cửa, đất đai, hàng hóa hữu hình) để tạo ra giá trị mới Như vậy, hàng hóa sẽ là vật trung gian để cung cấp dịch
vụ
– Kỹ năng và kiến thức là đơn vị trao đổi cơ bản, là nền tảng của lợi thế cạnh tranh Do vậy, bạn cần không ngừng học hỏi để nâng cao giá trị của cá nhân và tổ chức
– Khách hàng luôn là người đồng sản xuất
– Lấy dịch vụ làm trung tâm, hướng vào khách hàng
1.2 Muốn theo nghề lập trình bắt đầu từ đâu?
Như trong phần Nụ cười Stan Shih đã đề cập, trong ngành Công nghệ thông tin, lập trình chính là công việc cần nhiều lao động, do vậy sẽ dễ tìm được việc làm Lập trình là công việc khá đơn giản so với các công đoạn khác trong vòng đời của một sản phẩm, vì vậy bạn có thể lựa chọn để thử sức Học được nghề lập trình sẽ giúp bạn có một nền tảng tốt, từ đó sẽ có nhiều lợi thế trước khi thử sức ở các công đoạn khác trong vòng đời của một sản phẩm công nghệ thông tin
Trang 11Như trong phần Lời nói đầu đã đề cập, bạn có thể theo nghề làm web (là một công việc cụ thể của nghề lập trình) bằng hai cách: học bài bản theo chương trình chính quy, hoặc tự học theo chương trình tự chế
1.2.1 Học theo chương trình chính quy
Để có thể theo nghề lập trình, bạn cần phải được trang bị rất nhiều các kiến thức liên quan, chứ không đơn giản là học một ngôn ngữ lập trình Bạn sẽ phải theo học một chương trình của trường đại học, trường cao đẳng hoặc một trung tâm đào tạo Thông thường, chương trình sẽ được thiết
kế theo 3 khối kiến thức, bao gồm:
– Khối kiến thức giáo dục đại cương
– Khối kiến thức cơ sở ngành
– Khối kiến thức chuyên ngành
Các trường sẽ sắp xếp các môn học theo thứ tự phù hợp, để đảm bảo người học được trang bị kiến thức một cách bài bản, có lớp lang, môn học trước là nền tảng cho môn học sau Theo thứ tự, các bạn sẽ học Khối kiến thức giáo dục đại cương trước, sau đó đến Khối kiến thức cơ sở ngành, cuối cùng là chọn một chuyên ngành và học Khối kiến thức của chuyên ngành đó Làm web là một công việc cụ thể của chuyên ngành Công nghệ phần mềm
Lưu ý, chương trình đào tạo của mỗi trường sẽ có các môn học, và thứ tự học khác nhau một chút; tùy theo bối cảnh xã hội, xu thế công nghệ, nhu cầu việc làm, thế mạnh của mỗi trường Cũng lưu ý thêm, đây là chương trình được thiết kế theo hướng nghề nghiệp; tuy nhiên, đối với các trường đào tạo theo hướng khai phóng thì chương trình sẽ rất khác, các bạn có thể tự tìm hiểu thêm Dưới đây là ví dụ một số môn học của từng khối kiến thức để các bạn tham khảo:
Khối kiến thức giáo dục đại cương – Tiếng Anh căn bản & chuyên ngành CNTT
– Toán (ví dụ Toán rời rạc, Xác suất thống kê) – Nhập môn CNTT
– Nhập môn lập trình – Kỹ thuật lập trình – Phương pháp lập trình hướng đối tượng – Kỹ năng mềm
Khối kiến thức cơ sở ngành – Cấu trúc dữ liệu và thuật giải
– Cơ sở dữ liệu – Hệ điều hành – Kiến trúc máy tính và hợp ngữ – Mạng máy tính
Khối kiến thức chuyên ngành (sinh viên chọn
một chuyên ngành để theo học, trong mỗi
– Công nghệ phần mềm / kỹ nghệ phần mềm /
kỹ thuật phần mềm (3 tên gọi là tương đương)
Trang 12Tùy theo từng trường sẽ có các chuyên ngành
khác nhau
– Mạng máy tính và viễn thông – Hệ thống thông tin
– Khoa học máy tính – Công nghệ tri thức – Thị giác máy tính và khoa học robot – Thương mại điện tử
– Khoa học dữ liệu – Digital marketing – IoT
– Thiết kế mỹ thuật số – (còn nữa)
Để lựa chọn được chuyên ngành phù hợp, bạn cần xem xét đến một số yếu tố, như sở thích, thế mạnh của bản thân, cơ hội xin được việc làm, mức lương
Như đã nói, sinh viên học ngành Công nghệ thông tin khi ra trường không nhất thiết phải theo nghề lập trình, mà thực tế có rất nhiều các công việc khác liên quan để các bạn lựa chọn Dưới đây sẽ liệt kê một số tên công việc, bạn có thể tìm hiểu kĩ hơn về kiến thức, kĩ năng cần có của mỗi công việc để lựa chọn chuyên ngành cho phù hợp Các công việc sẽ luôn luôn biến động, có công việc sẽ mất đi, có công việc mới sẽ xuất hiện, quan trọng là bạn phải nhanh nhạy, có khả năng tự học, luôn luôn thay đổi để thích ứng và bắt kịp với thị trường Bạn có thể đọc kĩ hơn về các công việc trong tài liệu Những điều cần biết về nghề Công nghệ thông tin – Bộ thông tin và truyền thông
Một số vị trí việc làm của ngành Công nghệ thông tin:
Lĩnh vực phát triển phần mềm Lập trình viên – Kỹ sư phát
triển phần mềm
(Dev, Software Developer,
Software Programmer)
Kỹ sư thiết kế phần mềm (Software Designer)
Kiến trúc sư phần mềm (Software Architect)
Kỹ sư kiểm thử phần mềm
(Software Tester)
Chuyên viên phân tích nghiệp
vụ (System/Business Analyst)
Kỹ sư cầu nối (Bridge Software Engineer)
Quản lý dự án
(Project Manager)
Lĩnh vực mạng và an toàn thông tin mạng
Trang 13Quản lý công nghệ thông tin
Kỹ sư hệ thống thông tin/Kỹ sư tích hợp hệ thống (ERP/MIS/SI Engineer)
gồm các công việc cụ thể sau ERP: Enterprise Resource Planning – Hệ thống hoạch định nguồn lực doanh nghiệp
MIS: Management Information System – Hệ thống thông tin quản lý
SI: System Integration – Tích hợp hệ thống
Phân tích nghiệp vụ
(Business Analyst)
Phân tích hệ thống (System Analyst)
Phân tích kinh doanh thông minh
(Business Intelligence Analyst)
Tư vấn ERP (ERP Consultant)
Chuyên viên phân tích/Quản
trị cơ sở dữ liệu
(Database
Analyst/Administrator)
Quản trị mạng (Network Administrator)
Chuyên gia hỗ trợ kỹ thuật (Technical Support Specialist)
Giám đốc CNTT (CIO – Chief Information Officer )
Lĩnh vực khác
Trang 14(Integrated Circuit Designer) (Webmaster/Website
Administrator)
triển CNTT (IT Reseacher) Giảng viên chuyên ngành
Chuyên viên, chuyên gia, nhà
tư vấn, nhà nghiên cứu trong lĩnh vực Thương mại điện tử (eCommerce )
Các lĩnh vực công nghệ mới SMAC: Social – Mạng xã
hội, Mobility – Di động,
Analytics – Phân tích dữ liệu,
Cloud – Điện toán đám mây
Trí thông minh nhân tạo (AI – Artificial Intelligence)
Mạng kết nối vạn vật (IoT – Internet of Things)
và ứng dụng được vào công việc khi đi làm
Để có thêm một lựa chọn nữa cho người học, chúng ta sẽ tiếp cận theo hướng ngược lại, là từ ứng dụng về căn bản Nghĩa là, bạn sẽ bắt đầu từ một công việc cụ thể (ví dụ nghề làm web), qua trải nghiệm học nghề và thử làm nghề, bạn sẽ biết cần phải học các chủ đề lý thuyết, các kiến thức và kĩ năng căn bản gì? Cách tiếp cận này giúp bạn học có trọng tâm và hứng thú hơn
Tại sao lại gọi là chương trình tự chế? Vì nó do chính bạn tạo ra, dựa trên những thứ có sẵn, mang dấu ấn cá nhân Kiểu học này giúp bạn hình thành được kĩ năng chọn tài liệu, học liệu, tự tìm ra được phương pháp học phù hợp nhất cho bản thân, luôn tiến về phía trước mà không phụ thuộc vào người khác, có khả năng tự thích ứng trong điều kiện thay đổi không ngừng của xã hội Dựa trên những thứ có sẵn
Hiện nay, bạn muốn học gì, thì trên mạng sẽ luôn có đủ tài nguyên giúp bạn tự học Nó có thể là video hướng dẫn, bài giảng, sách điện tử (ebook), tài liệu trên các website bằng cả tiếng Việt và tiếng Anh, mã nguồn các dự án mẫu Bạn có thể nghe, xem, đọc, làm theo, kiểm tra, trải nghiệm
Để tự học hiệu quả, bạn nên ghi chép, tổ chức và tổng hợp các kiến thức, tài nguyên, để có được một lộ trình học rõ ràng, một hệ thống kiến thức bài bản của riêng bạn, có thể tái sử dụng về sau
Cá nhân hóa việc học
Trang 15Với giả định là mỗi cá nhân có một khả năng, tố chất, điều kiện, tiến độ học tập, phương pháp,
và mục tiêu học khác nhau Vì vậy, với mỗi chủ đề, tài liệu sẽ cung cấp các nội dung như trải nghiệm rời rạc (xem, nghe, đọc, làm theo), phần lý thuyết tổng hợp, bài tập thực hành và ứng dụng vào thực tế Bạn cần phải thực hiện đủ các nội dung thì mới đảm bảo là bạn đã nắm chắc được mỗi chủ đề Bạn sẽ tự thiết lập tốc độ học cho phù hợp với bản thân, ví dụ bạn đặt ra mục tiêu là sau 6 tháng hoặc 1 năm tự học là có thể nộp hồ sơ ứng tuyển (CV) vào các công ty để thực tập
Học được phương pháp học
Việc tìm ra phương pháp học hiệu quả với mỗi bạn là một kĩ năng quan trọng Với sự thay đổi không ngừng của công nghệ, của môi trường làm việc, khả năng tự học giúp bạn thích ứng tốt hơn trong công việc
Trong thực tế, bạn phải học không ngừng để biết cách cải tiến các sản phẩm đã có hoặc tạo ra các sản phẩm có chất lượng và tiện dụng hơn Nếu bạn có phương pháp học hiệu quả, nó sẽ giúp bạn nhanh chóng nắm bắt được công nghệ mới Như vậy, bạn không chỉ tập trung vào học kiến thức chuyên môn mà cũng cần phải học phương pháp học
Ở các phần sau sẽ có các chủ đề giúp bạn tìm ra được phương pháp học phù hợp với bản thân Ví dụ: học và hành, tháp học tập, thang đo Bloom, chu trình học tập Kolb, mô hình Dreyfus
Quay trở lại nghề Công nghệ thông tin, như ở phần trước đã giới thiệu một số công việc cụ thể theo tài liệu của Bộ thông tin và truyền thông Để có thêm một góc nhìn nữa về các công việc phổ biến, bạn có thể tham khảo các thông tin từ trang Stackoverflow
Stackoverflow là một mạng xã hội lớn, uy tín của các lập trình viên trên thế giới Nó giúp các lập trình viên tìm kiếm giải pháp cho các vấn đề gặp phải trong công việc hàng ngày; là nơi mỗi cá nhân thể hiện trình độ của mình thông qua việc giúp đỡ các đồng nghiệp khác; tuyển người làm
& tìm việc làm Jeff Atwood và Joel Spolsky (người Mỹ) đã sáng lập ra Stackoverflow năm
2008 Hàng năm Stackoverflow thường thực hiện các khảo sát liên quan đến cộng đồng làm nghề Công nghệ thông tin trên thế giới, bạn nên đọc các khảo sát này để có thêm nhiều thông tin hơn Bảng sau liệt kê một số công việc phổ biến trong ngành Công nghệ thông tin
Loại công việc
1 Full-stack developer 2 Back-end developer 3 Front-end developer
4 Desktop or enterprise
applications developer
5 Mobile developer 6 DevOps specialist
7 System administrator 8 Database administrator 9 Designer
10 Embedded applications
or devices developer 11 Data scientist or machine learning specialist 12 Data engineer
13 Engineering manager 14 Data or business analyst 15 QA or test developer
16 Product manager 17 Game or graphics 18 Academic researcher
Trang 1619 Educator 20 Site reliability engineer 21 Scientist
Số thứ tự mỗi công việc ở bảng trên thể hiện mức độ phổ biến của nó, ví dụ công việc đang có nhiều người làm nhất là Full-stack developer, kế đến là Back-end developer, tiếp theo là Front-end developer Nói chung, công việc nào đang có nhiều người làm thì sẽ dễ kiếm được việc hơn Tất nhiên, tùy theo sở thích và điều kiện cá nhân, bạn có thể lựa chọn một trong các nghề ở trên
để theo đuổi; cứ kiên trì và quyết tâm thì cơ hội việc làm sẽ đến với bạn
Bạn có thể vào mạng, gõ tên của mỗi nghề để tìm hiểu thêm Đây xem như một thử thách nhè nhẹ đầu tiên, trên con đường tự học của riêng mình
1.3 Làm web là làm gì?
Để trả lời câu hỏi “làm web là làm gì”, hãy bắt đầu từ nhu cầu của người sử dụng Mọi người hay vào mạng, lên mạng, duyệt web, lướt web để đọc, để nghe, để xem, để mua bán và để làm việc Hiểu nôm na, để đọc thì cần phải có văn bản (text), để nghe thì phải có âm thanh, để xem thì phải
có các đối tượng đồ họa (graphic), để mua bán thì phải có gian hàng, có chọn hàng, có thanh toán
và để làm việc thì phải có chương trình Văn bản, âm thanh, đối tượng đồ họa, gian hàng, thanh toán, chương trình, được gọi chung là các tài nguyên web Trang web sẽ cung cấp các tài nguyên này
Vậy, làm web là làm ra sản phẩm mà nó cung cấp các tài nguyên web cho người dùng Sản phẩm này chính là các trang web được hiển thị trong các trình duyệt web (hay gọi tắt là trình duyệt)
Cụ thể hơn, làm web là làm ra một trang web (web page), một website hoặc một ứng dụng web (web application, web app)
1.3.1 Các công đoạn căn bản để làm web
Để làm được một sản phẩm trong lĩnh vực web (cũng như một sản phầm phần mềm nói chung)
sẽ có nhiều cách làm khác nhau, ví dụ, bạn có thể thực hiện theo các công đoạn căn bản sau [7]:
1 Phân tích yêu cầu khách hàng
2 Phân tích chức năng hệ thống
3 Thiết kế cơ sở dữ liệu
4 Thiết kế giao diện
5 Thiết kế kiến trúc ứng dụng
6 Cài đặt
7 Kiểm tra và sửa lỗi
8 Viết tài liệu hướng dẫn
9 Vận hành
10 Quản trị, bảo trì và SEO
Mỗi công đoạn cần có kiến thức, kĩ năng và kinh nghiệm khác nhau, tùy vào khả năng của mỗi người để lựa chọn công việc phù hợp Với người mới vào nghề, thường làm ở công đoạn Cài dặt, Kiểm tra và sửa lỗi
1.3.2 Một số vị trí trong nấc thang nghề nghiệp
Bảng sau là một số vị trí trong nấc thang nghề nghiệp, khi đi làm tại một công ty phần mềm [8]:
Trang 17Fresher/Junior developer
Là các bạn sinh viên thực tập, sinh viên mới ra trường, sẽ được công ty đào tạo thêm về quy trình làm việc, văn hóa công ty, các kĩ năng, kiến thức, công nghệ, để có thể làm việc cùng mọi người trong công ty Công việc thường là tìm hiểu dự án hiện tại, làm một số chức năng nhỏ, sửa một số lỗi, làm việc dưới sự trợ giúp của những người có kinh nghiệm
Là người quản lý một nhóm nhỏ (3-6 người),
cùng lập trình với các thành viên trong nhóm,
họp với cấp trên, báo cáo với khách hàng,
quản lý các thành viên
Senior developer
Là người hiểu sâu về công nghệ, quy trình, đưa
ra được các giải pháp, hướng dẫn cho người mới, xem xét và đánh giá mã nguồn của các thành viên
Project manager
Là người làm công việc quản lý, lãnh đạo, báo
cáo, phỏng vấn tuyển người cho dự án Chịu
trách nhiệm về sự thành công hay thất bại của
dự án
Technical lead
Là người có hiểu biết sâu và rộng về công nghệ, quy trình; lựa chọn công nghệ, thiết kế, quy trình cho dự án
Manager
Là người quản lý cấp cao, công việc hàng
ngày là: giao việc, phỏng vấn, họp, trao đổi
công việc với các bộ phận, phòng ban
Software architecture
Là người có kinh nghiệm từ mười đến hai mươi năm trong nghề, có khả năng đánh giá giải pháp, lập nhóm, đưa ra lựa chọn về kiến trúc hệ thống
Một số công việc khác
Sales: Người bán hàng
BrSE: Kĩ sư cầu nối
Business Analyst: chuyên viên phân tích nghiệp vụ
Trong lập trình web, thường có ba hướng đi sau:
Lập trình front-end Lập trình các phần liên quan đến giao diện
người dùng Nếu coi trang web như một ngôi nhà, thì front-end chính là lớp sơn, là mặt tiền của ngôi nhà
Trang 18Lập trình back-end Lập trình các phần liên quan đến xử lý logic,
xử lý dữ liệu Nếu coi trang web như một ngôi nhà, thì back-end chính là hệ thống cốt thép, bê tông, điện, nước của ngôi nhà
và lập trình back-end Ngoài ra, còn làm việc với vai trò của một người thiết kế (designer), người phát triển và triển khai (DevOps là viết tắt của Development & Operations)
Khi đi làm, việc lựa chọn theo front-end, back-end hay full-stack phụ thuộc vào tính người, có người thích tìm hiểu rộng, có người thích tìm hiểu sâu, có người rất giỏi: vừa có khả năng hiểu rộng lại vừa có khả năng hiểu sâu Vậy, tùy sở thích và khả năng để lựa chọn hướng đi, quan trọng là phải hiểu và làm thật chuyên nghiệp công việc của mình Khi làm một hệ thống càng lớn thì yêu cầu về tính chuyên nghiệp và sự chuyên môn hóa càng cao, vì vậy không nhất thiết phải
cố gắng bằng mọi giá để trở thành một full-stack, cứ học và làm theo đúng sở trường của bản thân là tốt nhất
Khi học thì nên vừa học front-end vừa học back-end ở mức cơ bản, để xem bản thân mình phù hợp với hướng nào, sau đó sẽ tập trung học thật tốt, thật sâu vào một hướng Ngoài ra, dù làm về front-end thì cũng phải biết cơ bản về back-end và ngược lại
1.3.3 Tham khảo quy trình để làm ra một sản phẩm phần mềm
Phần này lược thuật lại từ bài nói chuyện về Product Management for Managers, của tác giả Hieu Nguyen (link bài nói chuyện ở phần Xem và đọc thêm)
Theo tác giả, để làm ra một sản phẩm hiệu quả (web cũng là một sản phẩm), có xác suất thành công cao thì cần làm theo các bước trong Tháp quản lý sản phẩm (Product Management Tower) Tác giả minh họa bằng sản phẩm cho Airbnb (giả định)
Tháp quản lý sản phẩm gồm các bước sau:
Trang 19– Target Market: thị trường mục tiêu mà chúng ta muốn hướng đến, nó dựa trên hai yếu tố là thị trường mà chúng ta am hiểu và độ lớn của nó Vì hiểu thị trường nên biết nó đang cần gì? Biết mình phải làm gì để đáp ứng nhu cầu của thị trường Chúng ta cũng cần biết được độ lớn của thị trường để đảm bảo khả năng sinh lời của sản phẩm
– Segmentation: lựa chọn phân khúc khách hàng Chia thị trường thành các phân khúc khách hàng khác nhau Ví dụ: trẻ em, giới trẻ, gia đình, thương nhân, nhà giàu Sau đó loại đi các phân khúc mà chúng ta không muốn phục vụ hoặc không thể phục vụ (loại đi những nhóm khách hàng
1 Target Market Travel Industry Logistic Banking …
2 Segmentation Kids Young Family Business Luxury
3 Target Customers Young people, Families, Business
Trang 20– Target Customers: sau khi lựa chọn được phân khúc khách hàng, chúng ta sẽ có Tập khách hàng tiềm năng
– User Personas: từ Tập khách hàng tiềm năng, chúng ta sẽ đưa ra được bản mô tả về khách hàng hay Chân dung khách hàng (profile) Đây là bản mô tả chung về một nhóm người dùng mục tiêu của một sản phẩm Tập trung vào hành vi và mục tiêu của khách hàng khi sử dụng sản phẩm của chúng ta
– Needs: thực hiện phỏng vấn, khảo sát, để biết được các nhu cầu của khách hàng mục tiêu Ví
dụ người đi du lịch sẽ cần một nơi để ở, phương tiện đi lại, bảo hiểm, các đánh giá về địa điểm
họ sẽ tới, các hoạt động, ăn, hướng dẫn viên du lịch, đặt vé máy bay, đổi tiền
– Underserved Needs (Pain Points): sắp xếp các nhu cầu của khách hàng mục tiêu, từ quan trọng nhất đến ít quan trọng hơn, tìm ra được những nhu cầu khách hàng cần, nhưng chưa được phục
vụ tốt bởi các dịch vụ đang có Cách làm: loại đi các dịch vụ đã được phục vụ tốt hoặc các dịch
vụ mà không phải là thế mạnh của chúng ta
– Product Market-Fit: sản phẩm thị trường đang cần, và người dùng cảm thấy hài lòng khi sử dụng sản phẩm đó
– Value Proposition: đưa ra các dịch vụ mà khách hàng cần, nhằm giúp họ được sử dụng các dịch vụ tốt hơn những cái đang có
– Product Feature Set: cần sản phầm gì? sản phầm gồm các chức năng gì? để đáp ứng nhu cầu của khách hàng
– User Experience: không chỉ là trải nghiệm người dùng, mà quan trọng hơn là đáp ứng được nhu cầu của người dùng
– User Interface: giao diện ứng dụng
– Front-end: làm phần front-end của ứng dụng
– Back-end: làm phần back-end của ứng dụng
Như vậy, qua mô hình Tháp quản lý sản phẩm, bạn đã biết được công việc cụ thể của một người làm về UX, UI, front-end, back-end Họ sẽ làm việc ở giai đoạn nào trong quá trình tạo ra một sản phẩm phần mềm nói chung, và ứng dụng web nói riêng
1.4 Muốn làm web cần học những gì
Muốn làm web cần học tiếng Anh chuyên ngành và chuyên môn
Về tiếng Anh chuyên ngành, bước đầu phải có khả năng đọc hiểu tài liệu Để hiểu được tài liệu, bạn cần hai thứ: một là từ vựng và hai là ngữ pháp (ví dụ cấu trúc câu, mệnh đề, đại từ thay thế, chia động từ, thể bị động, thể chủ động, các từ loại)
Mỗi bạn sẽ có cách học tiếng Anh chuyên ngành khác nhau Học theo cách nào cũng được, miễn
là cuối cùng phải sử dụng được nó trong công việc
Sau đây là một cách để có thể học tiếng Anh chuyên ngành:
– Chọn một chủ đề mà bạn quan tâm (về HTML chẳng hạn)
– Đọc sách/tài liệu tiếng Việt về HTML trước, chọn cuốn sách/tài liệu nào mà tác giả có ghi các thuật ngữ tiếng Anh đi kèm là tốt nhất
Trang 21– Đọc hiểu và làm theo sách/tài liệu tiếng Anh về HTML
– Nếu được, nên tập dịch tài liệu từ tiếng Anh ra tiếng Việt
– Trong quá trình học, nên viết các từ tiếng Anh chưa biết nghĩa ra giấy, tra nghĩa của nó, viết một hai lần thôi, chứ đừng viết liền một lúc cả trăm lần từ đó, điều này làm mất thời gian Sau này nếu gặp lại từ cũ mà mình chưa nhớ nghĩa, thì lại viết ra giấy và tra nghĩa Bạn sẽ lặp lại quá trình này cho tới khi nào bạn thực sự nhớ được từ và nghĩa của nó thì thôi Qua việc viết, từ mới cùng với nghĩa của nó sẽ đi vào đầu mình lúc nào không hay!
Ban đầu cần học để có thể đọc hiểu được tài liệu chuyên môn bằng tiếng Anh, sau đó học nghe, nói, viết Nếu bạn học thêm được các ngoại ngữ khác thì càng tốt (tiếng Nhật chẳng hạn)
Về chuyên môn, bảng dưới đây liệt kê một số thứ cần học, người học sẽ cảm thấy việc học nhẹ nhàng và hiệu quả hơn nếu học đúng theo trình tự Tuy nhiên, nếu tự học hoặc vì điều kiện nào
đó mà không thể học theo đúng thứ tự cũng không sao Cứ tự tin học, thấy còn thiếu kiến thức gì thì bổ sung từ từ, quan trọng là kiên trì và dám bước tới
Xem bảng minh họa một số thứ cần học (chỉ mang tính chất tham khảo),
Kiến thức chung (dù theo front-end hay
back-end)
– Kiến thức nền về Hệ điều hành, Kĩ thuật lập trình, Cấu trúc dữ liệu và thuật toán, Lập trình hướng đối tượng, Cơ sở dữ liệu
– Kiến thức nền về WWW, Mạng máy tính – Kĩ năng và thái độ về khía cạnh kĩ thuật (cách viết mã, lựa chọn giải thuật, tổ chức mã nguồn chuyên nghiệp), cũng như khía cạnh nghề nghiệp (cách làm việc chuyên nghiệp, hiệu quả và hạnh phúc với nghề)
– Phần mềm Quản lý phiên bản/quản lý mã nguồn: Git, SVN, TFS
– AJAX / Web API – RESTful API / HTTP method – Cơ bản về lập trình front-end và back-end
– Các thư viện và framework phổ biến (ví dụ: jQuery, Bootstrap, AngularJS, ReactJS, VueJS)
– Responsive design, UX/UI – Các kiến thức nâng cao (ví dụ: mô hình MVC, design pattern, lập trình bất đồng bộ trong JavaScript)
Trang 22Back-end – Một trong các ngôn ngữ phổ biến: Java, C#,
PHP, Ruby, Python, JavaScript, Go – Cơ sở dữ liệu (SQL, mySQL, MongoDB) – Mô hình MVC, Design pattern
– Các framework của mỗi ngôn ngữ – Các kiến thức nâng cao (ví dụ Dependency Injection, Inversion of Control, SOLID) – Các kiến thức về triển khai, bảo mật Bảng trên là liệt kê các thứ cần học để tham khảo thôi Để nắm hết các nội dung đó quả là thử thách thực sự, và cũng không cần thiết
– [2] Nụ cười Stan Shih: http://legiacong.blogspot.com/2021/01/nu-cuoi-stan-shih.html
– [3] Bài viết về marketing hiện đại của tác giả Lương Hà:
moi-ve-nguon-goc-gia-tri/
https://www.luonghaparis.com/2017/08/04/khai-phong-tiem-luc-doanh-nghiep-bang-goc-nhin-– [4] Tư duy phát triển: nụ cười Stan Shih (Huỳnh Thế Du): duy-phat-trien-bai-4-nu-cuoi-stan-shih-188923.html (xem 18/1/2022)
https://diendandoanhnghiep.vn/tu-– [5] Những điều cần biết về nghề Công nghệ thông tin:
https://www.mic.gov.vn/Upload_Moi/VanBan/Nghe-CNTT.pdf
– [6] Khảo sát của Stackoverflow: https://insights.stackoverflow.com/survey/2021
Trang 23– [7] Bài giảng của tác giả Võ Đức Thiện về các bước làm một phần mềm:
tự học, hay nói cách khác hãy rèn cho mình có được kĩ năng tự học, tìm được cho bản thân một CÁCH HỌC hiệu quả
Trong phần này, bạn sẽ tìm hiểu sơ qua một số chủ đề, hi vọng giúp bạn thay đổi cách nghĩ và tự tìm được cho mình một cách học phù hợp
2.1 Học và Hành
Thử áp dụng mấy chữ W của tiếng Anh trong lúc học, lúc làm việc Ví dụ, làm gì thì cũng luôn đặt ra vài câu hỏi, như mục đích của việc làm này là gì? Tại sao lại làm việc này (Why)? Để đạt được mục đích đã đặt ra thì cần phải làm được những việc gì? Hay mục tiêu gồm những gì (Which, What)? Và để đạt được các mục tiêu, trước khi đạt được mục đích thì phải làm thế nào,
có cách làm nào hay hơn không (hoW)?
Cụ thể hơn, giả sử bạn muốn sống hạnh phúc (mục đích), thì trước đó bạn phải làm việc chuyên nghiệp, đây là một trong nhiều kết quả ngắn hạn bạn cần đạt được (mục tiêu), cũng là phương pháp làm Để làm việc chuyên nghiệp thì bạn phải học bài bản (phương pháp)
Học bài bản được hiểu là học có lớp có lang, từ căn bản đến nâng cao, học đủ kiến thức để áp dụng vào việc tạo ra sản phẩm
Thử quan sát con dấu (seal) hay logo của Viện công nghệ Massachusetts (MIT-Massachusetts Institute of Technology) Đây là một trường rất nổi tiếng của Mỹ và thế giới
Trang 24Bạn cứ vào wikipedia để đọc về số giải nobel, các giải thưởng khác của MIT, để thấy thành quả của họ “khủng” cỡ nào Vậy thì học theo họ cũng là một ý hay
Hãy luôn kết hợp khối óc và đôi bàn tay Học đi đôi với hành Học lý thuyết thì luôn nghĩ tới nó
sẽ được áp dụng vào đâu, nó có thể làm ra được sản phẩm gì trong thực tế để phục vụ con người Khi làm sản phẩm thì luôn tìm hiểu xem thử có cách nào làm hay hơn không, làm tốt hơn không? Tại sao mình lại làm sản phẩm này? Nền tảng lý thuyết để làm ra sản phẩm này là gì?
Hãy học và làm những gì mà xã hội đang cần hoặc mình nghĩ là xã hội sẽ cần
Tóm lại, khi học và làm việc hãy luôn tự đặt ra cho mình những câu hỏi tại sao, cái gì, bằng cách nào, rồi tự tìm cách trả lời những câu hỏi đó; luôn tâm niệm là học và hành phải đi cùng nhau
2.2 Thang đo Bloom
Thế nào gọi là giỏi? Có phải một người đạt điểm cao ở trường học gọi là giỏi? Một người đứng đầu các cuộc thi thì gọi là giỏi? Một người biết kiếm thật nhiều tiền được gọi là giỏi? Một người
có nhiều bằng cấp được gọi là giỏi? Thiết nghĩ, chúng ta không nhất thiết phải mất thời gian để tranh cãi nhau về khái niệm giỏi, bởi theo lẽ thường, người nào tập trung thời gian, sức lực nhiều vào một lĩnh vực nào đó thì sẽ có kết quả tốt hơn người khác
Có thứ khá hữu ích mà chúng ta nên tìm hiểu là Thang đo Bloom Nó là cái gì vậy?
Thang đo cấp độ nhận thức Bloom (Bloom’s Taxonomy), hay Bảng phân loại Bloom, hay ngắn gọn là Thang đo Bloom là một công cụ dùng để phân loại quá trình nhận thức (cognitive) Thang
đo Bloom được nhà tâm lý giáo dục người Mỹ, có tên là Benjamin Samuel Bloom (1913 – 1999) đưa ra năm 1956 Kể từ khi ra đời, Thang đo Bloom đã được sử dụng rộng rãi và không ngừng được cải tiến
Biểu tượng và con dấu của Viện Massachusetts (MIT)(nguồn en.wikipedia)
Dù bạn theo hướng cầm búa (lao động chân tay), hay cầm sách (lao động trí óc) thì vẫn luôn luôn đứng trên một nền tảng là:
Mens et Manus (tiếng Latinh)
Mind and Hand (tiếng Anh)
Trí óc và Đôi tay
Học và Hành
Lý thuyết và Thực hành
Trang 25Thang đo Bloom được dùng như là công cụ quan trọng trong việc xây dựng mục tiêu giáo dục,
đo lường giáo dục, đặt câu hỏi trong giảng dạy và nghiên cứu, xây dựng và thiết kế bài giảng, cũng như hướng dẫn giảng dạy để đạt mục tiêu đã đề ra
Tới năm 2001, các nhà giáo dục học đã điều chỉnh Thang đo Bloom cho phù hợp với thực tế và
có tên gọi mới là Thang đo Bloom tu chính (Bloom’s Revised Taxonomy) Để cho ngắn gọn và tiện trình bày, chúng ta sẽ gọi Thang đo Bloom tu chính là Thang đo Bloom Xem hình minh họa
Khi bạn muốn theo học, hay làm một nghề bất kì; hay đơn giản chỉ là tìm hiểu về một nội dung, một chủ đề nào đó, thì bạn có thể lấy Thang đo Bloom để xem trình độ của bạn đang ở mức nào? Thang đo Bloom gồm 6 cấp độ; thấp nhất là cấp độ 1 (Nhớ), cao nhất là cấp độ 6 (Sáng tạo) Sau đây là ý nghĩa cụ thể của mỗi cấp độ:
– Nhớ (remembering)
Đây là mức độ thấp nhất của quá trình học, hay quá trình nhận thức Là khả năng nhắc lại những khái niệm, những kiến thức tổng quát, các quy trình, các chú ý đặc biệt Ở mức độ này, bạn có thể phát biểu là tôi có BIẾT về lĩnh vực đó, nhưng chưa hiểu và chưa thể áp dụng kiến thức vào việc tạo ra sản phẩm Kiểu như, để làm web thì phải học HTML, CSS, JavaScript, PHP, MySQL; nhưng chưa hiểu thực sự chúng đóng vai trò gì trong việc làm web, cũng như chưa thể dùng chúng để tạo ra một ứng dụng web cụ thể
Nói chung bạn mới trả lời được những câu hỏi kiểu: nó là cái gì? trình bày? nhắc lại? mô tả? liệt kê?
Do vậy, nếu hỏi một bạn mà cái gì bạn cũng biết, và chỉ thế thôi Thì rất có thể, trình độ của bạn
ấy đang ở mức độ này Ở một góc độ nào đó, biết nhiều cũng tốt, tuy nhiên, cần phải đi xa hơn thế
– Hiểu (Understanding)
Thang đo Bloom
Trang 26Đây là cấp độ thứ 2 của nhận thức Sau khi bạn nghe giảng, đọc sách, xem người khác làm, thì bạn đã BIẾT sơ sơ về một lĩnh vực, chủ đề nào đó rồi Tuy nhiên, bạn cần phải suy nghĩ thêm, tự xâu chuỗi các thông tin, dữ liệu để HIỂU được nó Từ đó rút ra được ý nghĩa, có thể diễn giải, liên hệ tới các chủ đề bạn đã biết, các chủ đề liên quan và có thể ứng dụng được nó vào thực tế, vào việc tạo ra sản phẩm
Ví dụ, bạn có thể vẽ lại được luồng xử lý của một ứng dụng web, trong đó có dùng tới HTML, CSS, JavaScript, PHP, MySQL Có thể tóm tắt được mối liên hệ giữa chúng
Ở cấp độ này bạn được đánh giá là đã HIỂU về một lĩnh vực Các câu hỏi mà bạn có thể trả lời được, thường có dạng: bạn hãy giải thích? bạn hiểu gì về? bạn hãy phân biệt và so sánh? bạn hãy cho ví dụ?
Nếu chỉ học để BIẾT sẽ làm cho đầu của bạn bị “đầy”, vì vậy nên “động não” một chút để HIỂU, giúp đầu bạn nhẹ nhàng hơn, tập trung để tư duy nhiều hơn Từ đó hướng tới việc ứng dụng kiến thức vào thực tế
Nếu chỉ học để biết, để hiểu, để trả bài, để thi lý thuyết, thì bạn đang tự đóng lại cơ hội nâng cao trình độ của bạn Hãy tiến thêm một bước nữa
– Vận dụng (Applying)
Sau khi đã hiểu về một chủ đề, một lĩnh vực nào đó rồi, thì nên nghĩ tới việc áp dụng nó Giờ mình có thể tạo ra được sản phẩm gì đây? Có thể áp dụng được vào đâu trong cuộc sống? Triển khai một ý tưởng, một lý thuyết, một quy trình vào thực tế thì sẽ làm như thế nào?
Ví dụ, hãy tạo ra một ứng dụng web để bán hàng dùng HTML, CSS, JavaScript, PHP, MySQL
Ở cấp độ này, bạn có thể LÀM việc được rồi Và các công ty thường yêu cầu người học việc, người mới đi làm phải đạt được mức này Nghĩa là có thể tạo ra được sản phẩm
Ngoài việc tạo ra được sản phẩm hữu hình, ở trình độ này bạn cũng có khả năng để tính toán, chứng minh, giải thích về một chủ đề cụ thể
– Phân tích (Analyzing)
Sau khi làm việc đủ lâu với một nghề, một chủ đề Nếu bạn không ngừng đọc tài liệu, suy nghĩ, đúc kết kinh nghiệm từ việc làm thực tế, bạn sẽ có khả năng phân tách một hệ thống lớn thành các yếu tố nhỏ hơn, hiểu được các mối liên hệ và nguyên tắc cấu tạo của từng thành phần trong
– Đánh giá (Evaluating)
Dựa trên kinh nghiệm làm việc lâu năm trong một lĩnh vực, cộng với việc không ngừng học hỏi, đúc kết kinh nghiệm Bạn sẽ có khả năng đưa ra các nhận định, đánh giá đối với một giải pháp, một vấn đề, dựa trên các chuẩn mực, các tiêu chí đã có
Trang 27Khi đó, công việc của bạn sẽ là phản biện một nghiên cứu, một bài báo; đánh giá khả năng thành công của một dự án; chỉ ra các điểm mạnh/điểm yếu của công nghệ Ví dụ: bạn sẽ biết lựa chọn công nghệ nào? kiến trúc nào? mô hình phát triển ứng dụng nào là phù hợp cho một ứng dụng web cụ thể
Công việc của bạn thường gắn với các từ khóa: đánh giá, cho ý kiến, bình luận, tổng hợp, so sánh – Sáng tạo (Creating)
Đây là cấp độ cao nhất của nhận thức Ở mức này, bạn sẽ có khả năng tạo ra cái mới, xác lập thông tin, sự vật mới, trên cơ sở những thông tin, sự vật đã có
Ví dụ: bạn có thể thiết kế ra một phương pháp lập trình mới, tạo ra một thuật toán mới, đề xuất một giải pháp, công nghệ mới
Công việc của bạn thường gắn với các từ khóa: thiết lập, tổng hợp, xây dựng, thiết kế, đề xuất Như vậy, với Thang đo Bloom sẽ giúp bạn tự nhìn lại bản thân, để biết trình độ của mình đang ở đâu và cần phải làm gì để nâng cao nó
Cũng từ thang đo này, người ta chia việc học ra thành 2 kiểu, là học nông và học sâu
– Học nông (surface learning): là kiểu học chỉ dừng lại ở mức Nhớ và Hiểu, ở mức này, sinh viên
sẽ khó thành công trong việc phát triển năng lực của bản thân, không làm được việc
– Học sâu (deep learning): là kiểu học giúp sinh viên đạt được các mức độ kiến thức cao hơn (Vận dụng, Phân tích, Đánh giá, Sáng tạo), có khả năng làm việc hiệu quả và đưa ra được các giải pháp mới, hữu ích
Học nông và học sâu
Trang 28– Đọc thật nhiều để có thông tin, từ đó suy nghĩ, chắt lọc, hệ thống hóa, xâu chuỗi để hiểu vấn đề – Thực hành thật nhiều để củng cố lý thuyết, có kĩ năng làm việc, có thể tạo ra sản phẩm
– Không ngừng đặt ra các câu hỏi tại sao, rồi tìm ra câu trả lời cho chúng
– Ghi chép một cách có hệ thống các kiến thức đã học được
2.3 Tháp học tập
Nếu để ý quan sát, có thể bạn đã thấy một vài tình huống sau:
– Khi học ở phổ thông, quá trình học của bạn thường gồm đọc trước bài ở nhà, nghe thầy cô giảng, làm bài tập
– Khi học lái xe (xe đạp, xe máy, ô tô) bạn cảm thấy khá đơn giản, chỉ việc xem người khác làm
và làm theo Nhiều lúc không cần biết lý thuyết là gì
– Bạn sẽ nhớ rất lâu các thông điệp, hay bài học, khi tham gia các hoạt động trải nghiệm
– Bày lại bài cho bạn khác, hoặc dạy người khác học quả là khó, nhiều thách thức
Tất cả các tình huống trên đều liên quan ít nhiều đến quá trình học của con người
Hình tháp dưới đây là một số phương pháp học phổ biến:
Tháp học tập (The learning pyramid) do Edgar Dale, người Mỹ, đưa ra vào những năm 1940
Từ tháp học tập, bạn thấy có một số phương pháp học tập phổ biến, được chia thành 2 nhóm: nhóm phương pháp học bị động (passive learning) và nhóm phương pháp học chủ động (active learning) Cụ thể:
Tháp học tập (nguồn ảnh: https://www.arlo.co/)
Trang 29Phương pháp học bị động
– Nghe giảng (lecture)
– Đọc sách/tài liệu (reading)
– Học qua quan sát (nghe, nhìn) (audio/visual)
– Học qua thị phạm (có người làm mẫu, vật mẫu) (demonstration)
Phương pháp học chủ động
– Thảo luận (group discussion): học thông qua việc nói về bài học
– Trải nghiệm (practiced by doing): học thông qua làm, thí nghiệm, thực hành
– Hướng dẫn lại cho người khác (teach others): học thông qua việc nói, làm, giải thích lại bài học cho người khác
Chỉ số % ở hình trên chính là lượng kiến thức người học hấp thụ được, ứng với mỗi phương pháp Như vậy, bạn đã biết được các phương pháp học nào có hiệu quả cao
Sau đây là một số nhận xét và kinh nghiệm thực tế, hi vọng có ích cho bạn:
– Mỗi phương pháp có cái hay riêng, phù hợp với từng hoàn cảnh khác nhau, vì vậy bạn cần lựa chọn phương pháp cho phù hợp, không nên cực đoan trong quá trình lựa chọn phương pháp học
Ví dụ: lớp học hàng trăm bạn thì khó mà thảo luận được; hoặc mình còn đang chưa hiểu về bài học thì làm sao mà hướng dẫn cho người khác được
– Nếu có nhiều phương pháp học để chọn, thì nên chọn phương pháp có hiệu quả nhất Ví dụ, bạn đang học lập trình, có máy tính, thì sao lại chỉ ngồi đọc lý thuyết, mà không thực hành luôn trên máy
– Nên kết hợp một vài phương pháp học để không bị nhàm chán trong lúc học Ví dụ, kết hợp đọc lý thuyết để hệ thống kiến thức, trao đổi với bạn để hiểu kĩ hơn, và thực hành liền để xem kết quả hoặc tạo ra sản phẩm
– Đọc, tìm hiểu, làm bài tập, bài thực hành trước ở nhà, trước khi tới lớp là một phương pháp học hiệu quả Tuy nhiên, phải kiên trì và có kỉ luật cao mới làm được
– Tận dụng mọi phương pháp, mọi cơ hội để học Quan sát, nghe, đọc, trải nghiệm, làm việc càng nhiều càng tốt
2.4 Chu trình học tập Kolb
Sau khi đọc xong các chủ đề Học và hành, Thang đo Bloom, và Tháp học tập, có thể bạn đã có một vài ý tưởng liên quan đến “cách học”, như:
– Khi học thì luôn nghĩ tới việc áp dụng vào cuộc sống, ngược lại, khi làm việc thì luôn học thêm
để nâng cao trình độ, cải tiến sản phầm, có sáng tạo trong công việc
– Muốn biết trình độ của mình đang ở đâu, trong một lĩnh vực, thì tự xem lại bản thân, xem mình
đã biết, hiểu và làm việc thuần thục trong lĩnh vực đó hay chưa; mình có khả năng phân tích, đánh giá hay tạo ra một cái gì mới mẻ không?
– Khi cần học một chủ đề mới, hoặc cần học để làm một việc mới, bạn có thể học nhanh được không? Có thể tự đọc sách, nghe bài giảng, xem làm minh họa, tự thực hành và trình bày lại cho
Trang 30Nếu bạn đã đạt được những việc trên thì xin chúc mừng
Phần này sẽ giới thiệu với bạn một phương pháp học cụ thể, mang tính thực hành, hi vọng sẽ giúp bạn học hiệu quả hơn Xin giới thiệu phương pháp học dựa trên trải nghiệm (experimental learning model), có tên là Chu trình học tập Kolb Kolb là một nhà giáo dục, người Mỹ Ông đưa
ra chu trình học tập này vào năm 1984, mô hình dựa trên các ý tưởng của Dewey, Piaget, Lewin Phương pháp học trải nghiệm được sử dụng rộng rãi trong việc thiết kế chương trình, thiết kế bài giảng, trong huấn luyện, hướng dẫn học tập cho các chương trình đào tạo nghề nghiệp
Chu trình học tập Kolb tập trung nhiều vào quy trình học và phương pháp học
Quy trình học
Theo chu trình học tập Kolb, quá trình học gồm bốn giai đoạn:
– Trải nghiệm rời rạc
– Quan sát, đánh giá lại sự việc
– Khái quát các khái niệm
– Chủ động thử nghiệm
Trải nghiệm rời rạc
Là việc bạn đã đọc tài liệu, nghe giảng, xem hướng dẫn, xem làm mẫu, làm theo, tự làm một số thao tác đơn giản, liên quan đến chủ đề đang học Đây được xem là mức “học nông”, người học mới chỉ ghi chép, nhớ, và là bước khởi đầu của quá trình học
Quan sát, đánh giá lại sự việc
Chu trình học tập Kolb
Trang 31Là việc bạn chiêm nghiệm lại nội dung bài học dựa trên các trải nghiệm rời rạc; suy nghĩ, móc nối các khái niệm, đối tượng; hệ thống lại các nội dung liên quan; đối chiếu các nội dung học với thực tế Tới đây bạn đã tham gia sâu hơn vào quá trình nhận thức, đã hiểu được chủ đề đang học Khái quát các khái niệm
Sau khi bạn đã có các trải nghiệm rời rạc, đã có những suy tưởng, chiêm nghiệm, đánh giá, tổng hợp, bạn sẽ rút ra được những kết luận cuối cùng cho bản thân về chủ đề đang học Các kết luận
có thể xem là những tri thức mới (đối với bạn)
Chủ động thử nghiệm
Là việc bạn đem những tri thức mới có ở bước trước, áp dụng vào thực tế để kiểm nghiệm lại tính đúng sai, có ích hay không, trước khi chấp nhận tri thức mới Tri thức mới này sẽ là nguyên liệu đầu vào cho chu trình học kế tiếp
Trang 32– Người quyết định (decider): thích được trải nghiệm các lý thuyết trong thực tế, thích có những quy luật rõ ràng, logic, ngắn gọn để áp dụng luôn vào thực tế Là người thực dụng và không muốn mất nhiều thời gian cho quá trình học
Một số nhận xét
– Do đặc điểm tâm lý khác nhau, nên khi học, mỗi bạn sẽ có xu hướng lựa chọn các giai đoạn khác nhau để bắt đầu Ví dụ, có bạn thì thích bắt tay vào làm sản phẩm ngay, muốn thực hành ngay, trong quá trình làm sẽ tìm hiểu lý thuyết; có bạn thì thích được hướng dẫn từng bước; có bạn thì phải đọc, hiểu, rồi mới làm thực hành Bạn chọn cách nào cũng được, miễn là bạn thấy nó phù hợp với bạn, và quá trình học có hiệu quả
– Bạn thường có xu hướng chỉ tập trung vào một giai đoạn mà bạn ưa thích và thành thạo Ví dụ: bạn chỉ thích làm thực hành, mà lười đọc để hiểu lý thuyết; hoặc có bạn khác chỉ thích ngồi đọc
lý thuyết, hiểu, rồi dừng lại, không bắt tay vào thực hành, tạo ra sản phẩm Đây là một thói quen không tốt, bạn cần phải điều chỉnh Lời khuyên là bạn cần phải trải nghiệm đủ 4 giai đoạn của chu trình học tập thì bạn mới có kiến thức toàn diện, sâu sắc về một chủ đề, một lĩnh vực Bạn cũng luôn phải phân bổ thời gian cho hợp lý giữa 4 giai đoạn học này
– Người lớn tuổi thường có xu hướng đi từ “lý thuyết” > “chiêm nghiệm” > “thực hành”; trong khi trẻ em, người trẻ có xu hướng đi từ “thực hành” > “chiêm nghiệm” > “lý thuyết”
– Học liệu của một môn học thường gồm: tài liệu lý thuyết, video hướng dẫn làm theo, video bài giảng, câu hỏi thảo luận, bài thực hành, bài tập nâng cao, dự án thực tế
– Để học hiệu quả, bạn cần có giáo viên đồng hành, họ sẽ là người thiết kế chương trình, hỗ trợ quá trình học; ngoài ra, họ còn đóng vai trò như một người huấn luyện viên, đưa ra lộ trình học, thực hiện các bài đánh giá, gây áp lực
– Người giáo viên sẽ đánh giá bạn ở cả bốn mức độ: nhớ, hiểu, tổng hợp, áp dụng vào thực tế Mục đích là để bạn trải qua đầy đủ bốn giai đoạn học Công cụ đánh giá thường gồm: các câu hỏi (trắc nghiệm) để kiểm tra khả năng nhớ, hiểu và tổng hợp; kiểm tra, báo cáo, đánh giá dựa trên
dự án, bài tập lớn, và các sản phẩm do bạn thực hiện
2.5 Mô hình Dreyfus
Trong lúc học, hay tự học, để theo một nghề bất kì, ví dụ theo nghề làm web; có khi nào bạn tự hỏi: khả năng của mình đã đủ để đi phỏng vấn làm thực tập? hay đã đủ để vào công ty làm hay chưa? Hoặc khi đã đi làm nghề, cũng rất hữu ích, nếu biết được trình độ của mình đang ở đâu
Mô hình Dreyfus là một công cụ hữu ích dành cho bạn
Mô hình Dreyfus, được hai tác giả (hai anh em) là Stuart và Hubert Dreyfus, làm việc tại Đại học California, Mỹ, đưa ra năm 1980
Mô hình Dreyfus được sử dụng để phân loại mức độ trưởng thành về mặt kỹ năng (skill) của một con người trong một lĩnh vực cụ thể
Mô hình Dreyfus không quan tâm nhiều tới yếu tố “khoa học” như Thang Bloom, mà nó tập trung vào khía cạnh “thực hành”, “thực nghiệm” Mô hình này rất có ý nghĩa trong quá trình dạy, học và làm nghề
Theo mô hình Dreyfus, về mặt kĩ năng, để học và làm một nghề thì bạn sẽ trải qua năm mức độ trưởng thành, gồm: Vỡ lòng > Nhập môn > Biết làm > Thành thạo > Chuyên gia Xem hình minh họa
Trang 33Mô hình Dreyfus cho thấy, một người muốn trở thành một chuyên gia trong một lĩnh vực thì họ phải chăm chỉ luyện tập, không ngừng tích lũy kinh nghiệm, luôn tiếp nhận và hấp thụ các tri thức mới Thời gian để đi từ chỗ chưa biết gì tới cấp độ một chuyên gia cần nhiều năm học và làm việc (khoảng 10.000 giờ quy ước) Tạm tính, nếu một ngày bạn dành 8 tiếng để học thì bạn cần 10.000/8 = 1250 ngày Nếu bạn học liên tục, không nghỉ ngày nào thì bạn cần khoảng 3.4 năm để học
Sau đây là đặc điểm của mỗi mức độ:
Vỡ lòng (Novice)
Là bạn chưa biết gì về nghề nghiệp đang theo đuổi, kiến thức về nghề nghiệp của bạn là con số không Mọi thao tác, việc làm của bạn ở mức độ này đều phải được quy trình hóa, phải được hướng dẫn từng bước Bạn sẽ làm theo các hướng dẫn, để có những trải nghiệm đầu tiên với nghề
Ví dụ: khi bạn học lập trình, một vài bài đầu tiên, bạn sẽ được hướng dẫn từng bước, từ việc cài đặt trình soạn thảo mã nguồn, viết mã, dịch và chạy chương trình
Nhập môn (Advanced Beginner)
Là khi bạn đã có những hiểu biết cơ bản về một số khái niệm trong nghề nghiệp, đã nhớ một số thao tác, quy trình, kĩ năng; có thể thực hiện các thao tác, bài tập linh hoạt hơn, mà không cần phải có hướng dẫn từng bước
Ở mức độ này, bạn đã có khả năng làm các bài tập, các yêu cầu dựa trên mô tả quy trình, mô tả đầu ra, hay kết quả đạt được
Ví dụ, bạn đã có thể tự viết được các chương trình khi có mô tả đầu vào, đầu ra và giải thuật Tuy nhiên, ở mức này, bạn vẫn chưa thể làm việc độc lập, mà cần có người hướng dẫn, hỗ trợ, sửa lỗi
Biết làm (Competent)
Ở mức này, bạn đã có khả năng làm việc độc lập Dựa trên các kinh nghiệm và kĩ năng đã tích lũy được, bạn có thể tự sửa lỗi, khắc phục các trục trặc để hoàn thành được yêu cầu đặt ra Bước đầu hình thành được mô hình, quy trình thực hiện, hệ thống hóa các khái niệm Có khả năng
Mô hình Dreyfus
Trang 34tham gia vào quy trình làm việc thực tế Tuy nhiên, mức độ hiểu biết đang ở phạm vi nhỏ, và kĩ năng mới dừng lại ở mức giải quyết vấn đề, ít có khả năng phát hiện vấn đề
Ví dụ: trong nghề lập trình, mức này tương đương với thực tập viên, lập trình viên mới vào nghề (fresher, junior developer) Công việc thường là tìm hiểu dự án hiện tại, làm một số chức năng nhỏ, sửa một số lỗi, làm việc dưới sự trợ giúp của những người có kinh nghiệm
Chuyên gia (Expert)
Ở mức này, bạn đã có hiểu biết sâu và rộng về kiến trúc, công nghệ, quy trình
Ví dụ: trong nghề lập trình, công việc của bạn thường là lựa chọn và đánh giá công nghệ, thiết kế, quy trình cho dự án Mức này tương đương với technical lead, software architecture
Một vài gợi ý về lộ trình học để làm nghề:
Sau đây là lộ trình học, các bạn có thể tham khảo, nó được sắp xếp từ dễ đến khó Để học nhanh
và hiệu quả, bạn nên kết hợp nhiều cách làm cùng lúc
– Xem các clip hoặc đọc hướng dẫn chi tiết và làm theo
– Đọc sách giấy hoặc ebook tiếng Việt, làm theo và tạo ra sản phẩm
– Đọc sách giấy hoặc ebook tiếng Anh, làm theo và tạo ra sản phẩm
– Làm một bài tập lớn hoàn chỉnh, làm theo tài liệu hướng dẫn hoặc clip
– Tải mã nguồn các dự án từ trên mạng (ví dụ github), đọc hiểu và làm lại Mục đích để rèn khả năng đọc và hiểu mã nguồn
– Đi thực tập và làm thêm tại các công ty công nghệ
– Đọc và viết các bài về công nghệ chuyên sâu, sách chuyên sâu; tham gia các nhóm, cộng đồng nghề nghiệp tại Việt nam và thế giới
2.6 Xem và đọc thêm
– Từ khóa tìm kiếm: seal of MIT, logo of MIT
– Viện MIT:
https://vi.wikipedia.org/wiki/Vi%E1%BB%87n_C%C3%B4ng_ngh%E1%BB%87_Massachusetts
– Nhà báo Phan Đăng, Tại sao cần tư duy ngược?
https://www.youtube.com/watch?v=OcrwaBKNLy4
– The learning pyramid:
https://www.arlo.co/blog/overview-of-the-learning-pyramid-for-training-providers
Trang 35– Kolb’s learning cycle: https://en.wikipedia.org/wiki/Kolb%27s_experiential_learning;
https://www.simplypsychology.org/learning-kolb.html
– Kolb’s learning cycle [view]: https://www.youtube.com/watch?v=rycjUldMl3k
– A skill acquisition model [view]: https://www.youtube.com/watch?v=SBoT8WJXq4s
2.7 Bài tập và thực hành
Bài 1 Lựa chọn một thứ mà bạn muốn học, ví dụ: một nghề, một chủ đề, hoặc một ngôn ngữ lập trình Sau khi đã chọn xong, thực hiện các công việc sau:
– Tìm trên youtube các loạt clip dạy về thứ bạn sẽ học
– Tìm một cuốn sách tiếng Việt (sách in hoặc ebook), một trang web tiếng Việt liên quan đến thứ bạn sẽ học
– Tìm một cuốn sách tiếng Anh (sách in hoặc ebook), một trang web tiếng Anh liên quan đến thứ bạn sẽ học
– Tìm và tham gia vào một cộng đồng những người đang làm về lĩnh vực bạn sẽ học
Bài 2 Tự tạo một danh sách các thuật ngữ tiếng Anh chuyên ngành, kèm theo nghĩa tiếng Việt Bài 3 Tìm trên mạng, và viết ra lộ trình (roadmap) liên quan đến thứ bạn sẽ học
Bài 4 Tạo một blog cho bản thân viết về các chủ đề bạn đang theo đuổi, có thể tạo trên blogspot, wordpress, github, hoặc trên các hệ thống khác
Gợi ý:
Bài 1 Lựa chọn một thứ mà bạn muốn học, ví dụ: lập trình web front-end
– Tìm trên youtube các loạt clip dạy về thứ bạn sẽ học: cứ xem, trải nghiệm rồi ghi chép trong quá trình học
– Tìm một cuốn sách tiếng Việt (sách in hoặc ebook), một trang web tiếng Việt liên quan đến thứ bạn sẽ học: tốt nhất là mua sách, sẽ thấy trân quý sách, thấy tiếc tiền nên học hiệu quả hơn – Tìm một cuốn sách tiếng Anh (sách in hoặc ebook), một trang web tiếng Anh liên quan đến thứ bạn sẽ học Trang web tải ebook tiếng Anh (https://libgen.rs/ hoặc https://www.pdfdrive.com/) – Tìm và tham gia vào một cộng đồng những người đang làm về lĩnh vực bạn sẽ học: nhóm facebook, zalo, tiktok hoặc mạng xã hội bất kì
Bài 2 Tự tạo một danh sách các thuật ngữ tiếng Anh chuyên ngành, kèm theo nghĩa tiếng Việt
Có thể làm theo mẫu này [link]
Bài 3 Tìm trên mạng, và viết ra lộ trình (roadmap) liên quan đến thứ bạn sẽ học Lên mạng gõ từ khóa “roadmap + chủ đề muốn học” Ví dụ roadmap web front-end developer hoặc vào trang này https://roadmap.sh/
Bài 4 Tạo một blog cho bản thân viết về các chủ đề bạn đang theo đuổi, có thể tạo trên blogspot, wordpress, github, hoặc trên các hệ thống khác Ví dụ: https://legiacong.blogspot.com/
Trang 363 Lộ trình học web front-end
Học tới phần này là bạn đang hướng tới một nghề cụ thể Đó là nghề làm web Tất nhiên, có thể bạn còn do dự, không biết đi theo rồi có làm được không? Lỡ học xong không xin được việc thì sao? Đam mê, sở thích của mình là gì? Cứ tiến lên thôi bạn nhé Nhiều bạn cứ nặng nề về đam
mê, sở thích Hãy thực tế một chút, học lấy cái nghề để kiếm việc, kiếm tiền, để tồn tại, để sống cái đã Hãy học và làm nghề dựa vào sở trường, vì nó có vẻ lâu bền và hợp lý hơn là dựa trên đam mê, sở thích (có tính nhất thời và dễ thay đổi)
Ngoài ra, bạn nhớ thực hành và áp dụng các cách học sao cho có hiệu quả
Chúng ta cùng nhìn lại quy trình để tạo ra một sản phẩm web:
Chúng ta sẽ học để làm việc ở bước 6, thực hiện “Cài đặt” hay lập trình ứng dụng web
Cụ thể hơn, bạn xem lại Tháp quản lý sản phẩm ở hình sau,
Trang 37Theo quy trình trên, sau bước 10, và 11, chúng ta đã có bản thiết kế (UX/UI) của ứng dụng web Công việc tiếp theo là làm phần front-end và back-end cho ứng dụng
Làm UI/UX và back-end là các nhánh công việc khác, bạn có thể tự tìm hiểu thêm Phần này sẽ giúp bạn học để làm phần front-end của một ứng dụng web (bước 12)
Hiểu một cách đơn giản, làm web front-end là việc chuyển đổi từ bản thiết kế (UI/UX) sang HTML, CSS và JavaScript
1 Target Market Travel Industry Logistic Banking …
2 Segmentation Kids Young Family Business Luxury
3 Target Customers Young people, Families, Business
Trang 38Một cách bài bản, để làm phần front-end, các bạn phải học hết Kiến thức đại cương, và Kiến thức cơ sở ngành Một số chủ đề cần học như:
Tiếng Anh căn bản & chuyên
ngành CNTT
Kỹ thuật lập trình Phương pháp lập trình hướng
Cấu trúc dữ liệu và thuật giải Cơ sở dữ liệu Hệ điều hành
Kiến trúc máy tính và hợp
ngữ
bản/quản lý mã nguồn: Git, hoặc SVN, hoặc TFS
Kĩ năng và thái độ liên quan đến kĩ thuật: cách viết mã, lựa chọn giải thuật, tổ chức mã nguồn chuyên nghiệp Kĩ năng và thái độ liên quan đến môi trường làm nghề: cách làm việc chuyên nghiệp, hiệu quả và hạnh phúc với nghề
Nếu vì lý do gì đó, bạn không thể học tuần tự các chủ đề có tính nền tảng như trên, thì bạn vẫn
có thể bắt đầu ngay vào việc học để làm web front-end Trong quá trình học, bạn thấy thiếu kiến
gì thì học bổ sung
Lộ trình học để làm phần front-end (tham khảo trên trang https://roadmap.sh/frontend):
Web căn bản – Hoạt động của Internet
– Giao thức HTTP – Trình duyệt web – DNS
– Tên miền (domain name) – Lưu trữ website (hosting)
– Forms và validation – Quy ước đặt tên và kinh nghiệm viết mã
– Các kĩ thuật tạo bố cục trang (layout): float, positioning, display, box model, CSS grid, flex box
– Responsive và media queries
– DOM
Trang 39– Fetch API, Ajax – ES6+
– Hoisting, event bubbling, scope, prototype, shadow DOM, strict
Quản lý phiên bản – Git căn bản
– Github, hoặc Gitlab, hoặc Bitbucket Chương trình quản lý gói – Npm, hoặc yarn, hoặc pnpm
– PostCSS Build tools – Linters and formatters
– Task runners (npm scripts) – Module bundlers (vite, hoặc esbuild) Framework – React, hoặc Angular, hoặc Vue
– CSS modules
– Tailwind Kiểm thử phần mềm
(Testing your Apps)
sẽ linh hoạt học thêm các chủ đề mà bạn thấy cần, thấy hữu ích
Trang 40Không gian thông tin toàn cầu có một số đặc điểm sau:
– Có phạm vi toàn cầu: người dùng ở mọi nơi đều có thể truy cập vào không gian thông tin này
họ chỉ cần có một trong các thiết bị như máy tính, tivi, điện thoại thông minh (smartphone), máy tính bảng (tablet) hoặc một thiết bị điện tử bất kỳ (gọi chung là máy tính), miễn là có kết nối tới Internet
– Thông tin trong hệ thống web tồn tại ở nhiều dạng: văn bản (text), hình ảnh, video, âm thanh Các thông tin này được gọi chung là tài nguyên web Mỗi tài nguyên web được xác định bằng một địa chỉ cụ thể gọi là URL
– Không gian thông tin được tạo ra bởi rất nhiều các liên kết (link) (cũng được gọi là siêu liên kết - hyperlink) giữa các tài nguyên web với nhau Các liên kết này được các lập trình viên tạo ra trong quá trình làm web, thực chất nó là liên kết tới các URL
– Hạ tầng của không gian thông tin toàn cầu chính là Internet Hạ tầng Internet gồm hai loại: hạ tầng cứng và hạ tầng mềm Trong đó, hạ tầng cứng bao gồm các thiết bị mạng, máy tính, môi trường truyền; và hạ tầng mềm gồm các giao thức và các phần mềm
Web – không gian thông tin toàn cầu (nguồn: Internet)