Tin mới
Đang tải...
Thứ Hai, 18 tháng 9, 2017




Phần 3: Con đường khởi đầu với ngành CNTT

Chào Bạn. Sau 2 bài chia sẻ trước đó:

Chắc hẳn đã mang lại được cho Bạn nguồn cảm hứng động lực để vững bước đi trên hành trình với ngành CNTT đầy thú vị này rồi đúng không? Khi Bạn chứng kiến được nó đang tác động vào tất cả mọi ngóc ngách trong đời sống hiện nay và giúp tất cả đi lên. Bạn đã nhìn thấy được những cơ hội mà ngành nghề mang lại cho những người theo đuổi đến cùng và cả những khó khăn thử thách đang chờ Bạn đương đầu phía trước. Sơn mong rằng sau khi đọc xong hết Bạn sẽ cảm thấy càng thêm tình yêu và muốn dấn thân với ngành CNTT đầy thú vị này.

Ở bài viết này Sơn sẽ đi sâu vào góc độ chuyên ngành để cho các Bạn biết con đường khởi đầu với ngành CNTT có những hướng đi thế nào và cần phải học những kiến thức chuyên môn gì để đi theo đúng được lộ trình hướng đi mà Bạn mong muốn.

Bài viết phần 3 này đã lấy đi của Sơn trọn vẹn 1 tuần liền từ sáng đến tối để viết hết ra - so với 2 bài trước đó chỉ hết 4 ngày. Giá trị mang lại là rất lớn có thể giúp thay đổi cuộc đời sự nghiệp của Bạn. Nói là 1 tuần ngồi viết nhưng Bạn cũng nên hiểu rằng nó là hành trình 5 năm trải nghiệm trong ngành của Sơn đánh đổi nhiều thứ để có được kiến thức - trải nghiệm đúc kết ra chia sẻ đến Bạn. Nếu Bạn thương và yêu quý Sơn thì hãy cố gắng đọc hết nhé!

Bài viết cực kỳ phù hợp với những Bạn mới bước chân theo ngành này để biết được hướng đi rõ ràng ngay từ đầu và có một lộ trình kế hoạch học tập hợp lý. Bài viết cũng sẽ như lời nhắc nhở cảnh tỉnh với những Bạn đang ở trong ngành có dịp nhìn lại để xem lộ trình mà Bạn đã và đang trải qua Bạn đã có làm đúng chưa?

Bài viết không nặng nề câu từ kiến thức chuyên ngành vì Sơn xác định đối tượng đọc bài viết này đa phần là các Bạn mới bắt đầu con đường lộ trình coi như chưa biết gì – còn với những Bạn đã có sự trải nghiệm trong ngành thì chắc chắn dư sức để có thể hiểu được những điều Sơn chia sẻ. Vì thế hãy yên tâm mà đọc các Bạn nhé!

Bài viết dựa trên quan điểm cá nhân của tác giả sau khi đã lặn ngụp trong ngành và có cơ hội được trải nghiệm nhiều lĩnh vực khác nhau trong cuộc sống để có được cái nhìn tổng quan đúc kết. Mọi ý kiến thảo luận rất mong nhận được phản hồi với tinh thần tôn trọng lẫn nhau.

Điều đặc biệt nữa đó là Sơn có dành tặng cho Bạn 1 món quà giá trị ở khúc cuối bài – Nhưng món quà đó chỉ xứng đáng với những người đọc từ đầu đến cuối từng câu từng chữ một cách tâm huyết và trân quý những điều mà Sơn viết ra.

Bạn cam kết với Sơn là sẽ đọc từ đầu đến cuối một cách thật tâm huyết chứ? Nếu đằng nào cũng đã dành thời gian ra đọc thì hãy cho nó xứng đáng Bạn nhé!

Cuối cùng Sơn mong là sau khi đọc xong hết có thể nhận được một phản hồi nào đó của Bạn về bài viết có giúp ích gì được cho Bạn không? Sơn rất mong nhận được phản hồi của Bạn để tiếp thêm động lực cho Sơn chia sẻ thêm nhiều kiến thức giá trị nữa.


1/ HIỂU VỀ NGÀNH CNTT VỚI CÁC CHUYÊN NGÀNH CỤ THỂ BÊN TRONG

Trước tiên Bạn cần phải hiểu rằng ngành Công Nghệ Thông Tin (CNTT) nó là một tên gọi chung dành cho những công việc liên quan đến máy tính & thông tin dữ liệu. Còn bên trong đó nó được phân ra làm nhiều chuyên ngành khác nhau (nếu Bạn học tại các trường đại học thì sẽ có chọn chuyên ngành ngay từ đầu năm 1 hoặc đến năm 3 mới chọn sau khi đã trải qua các môn đại cương). Một số chuyên ngành phổ biến trong ngành CNTT ở các trường đại học như là:
  • Kỹ Thuật Phần Mềm (hay một số trường gọi là Công Nghệ Phần Mềm)
  • Khoa Học Máy Tính
  • Hệ Thống Thông Tin
  • Mạng Máy Tính
Ngoài ra có một số chuyên ngành khác ít phổ biến hơn và tùy theo từng trường như:
  • An Toàn Thông Tin
  • Thị Giác Máy Tính
  • Và nhiều chuyên ngành khác …

Việc lựa chọn chuyên ngành để học cũng ngầm có ý nghĩa với việc Bạn đã xác định được hướng đi tương lai của mình sau này trong công việc sau khi ra trường. Chính vì thế Bạn phải thực sự hiểu một cách sâu sắc về các chuyên ngành để có sự lựa chọn đúng đắn cho con đường đi tương lai của mình vì khi bước vào chuyên ngành là Bạn sẽ phải đào sâu thật sâu vào mỗi chuyên ngành đó mà thôi chứ không thể có thêm thời gian để mà học sang các chuyên ngành khác. Rồi sau đó Bạn ra trường làm công việc đúng với chuyên ngành thì Bạn sẽ hòa nhập vào và phát triển nhanh hơn do đã có vài năm chuẩn bị kiến thức nền tảng. Còn nếu Bạn không lựa chọn kỹ càng để đến lúc ra trường quyết định rẽ hướng sang chuyên ngành khác thì Bạn sẽ phải làm lại từ đầu hành trình vài năm để có kiến thức nền tảng của chuyên ngành mà Bạn muốn theo. Tất nhiên đôi lúc cuộc sống sẽ khiến Bạn đưa ra bước ngoặt chuyển hướng chuyên ngành, có thể là vì đã có sự trải nghiệm rồi nhưng Bạn cảm thấy không phù hợp. Điều này sẽ không có gì là hối tiếc cả vì tất cả đều là kiến thức bổ trợ cho nhau (Ví dụ Bạn đi bên Lập Trình nhưng có kiến thức tốt về Mạng Máy Tính thì công việc của Bạn sẽ rất tốt khi Lập Trình các ứng dụng mạng). Nhưng nhìn chung nếu ngay từ đầu Bạn xác định rõ ràng được hướng đi tương lai mà Bạn muốn theo đuổi trong ngành CNTT bằng việc hiểu đầy đủ các thông tin về các chuyên ngành và nhìn nhận lại bản thân mình xem mình thực sự đam mê với hướng nào (chỉ nhìn nhận được khi đã hiểu rõ các hướng nhé) thì Bạn sẽ có sự phát triển tốt hơn trong ngành nghề không phải mất nhiều thời gian công sức chỉ đơn giản là Bạn đã đi đúng hướng.

Chính vì lý do trên nên Bạn phải bằng mọi cách cố gắng hiểu thật chi tiết về các chuyên ngành mà trường đại học Bạn đang học có dạy để đến lúc lựa chọn Bạn sẽ có sự lựa chọn phù hợp cho bản thân mình.

Bạn có thể bằng những cách sau đây để hiểu rõ về các chuyên ngành:
  • Tham gia các buổi hướng nghiệp do trường học Bạn tổ chức ghi chép thật kỹ lưỡng và đặt các câu hỏi nếu Bạn có những thắc mắc. Thường trước khi chọn chuyên ngành vào năm 3 trường sẽ tổ chức buổi hướng nghiệp để phân tích rõ ràng từng chuyên ngành cụ thể tất cả mọi thứ trong đó. (Tuy nhiên điều này là có thật đó là Sơn thấy một số trường mới năm 1 vào sinh viên chưa biết gì cả đã bắt phải chọn chuyên ngành rồi gắn liền nó suốt 4 năm đại học luôn dẫn đến nhiều Bạn nghĩ không quan trọng chọn đại vì năm 1 có biết gì đâu thậm chí có trường còn bắt chọn từ lúc thi đại học luôn thật là cạn lời).

  • Nghe chia sẻ từ các Anh/Chị có kinh nghiệm chuyên môn tốt (Tránh kiếm mấy Cha mấy Mẹ học không ra ất giáp gì ngồi nghe chém gió nhé).

  • Hỏi chuyện với Thầy/Cô dạy dỗ Bạn trong trường đại học là một cách tốt nhất.

  • Đặt câu hỏi trên các diễn đàn CNTT – các group Facebook CNTT để nhờ các bậc tiền bối chỉ điểm. 

Cách tốt nhất đó là chính Bạn phải có sự chủ động tìm hiểu lấy thông qua những nguồn tài nguyên hiện có trên mạng rất nhiều sẽ phần nào giúp Bạn hình dung rõ hơn về các chuyên ngành. Bạn đừng có tiếc chút thời gian bỏ ra tìm hiểu để có một con đường đi đúng cho cả một tương lai lâu dài của Bạn nhé. Tương lai của Bạn do chính Bạn tự quyết định lấy chứ không ai khác cả!

Hiểu được tầm quan trọng của việc lựa chọn chuyên ngành. Ngày 15/4/2017 Sơn đã làm buổi live stream xuyên suốt hơn 4 tiếng đồng hồ nói khô cả cổ để chia sẻ định hướng cụ thể rõ ràng chi tiết về 4 chuyên ngành chính trong trường đại học (Công Nghệ Phần Mềm, Khoa Học Máy Tính, Hệ Thống Thông Tin, Mạng Máy Tính) với từng chuyên ngành Sơn phân tích rõ ra sẽ học gì ở trong đó? Làm ra được cái gì? Cần có sự chuẩn bị kiến thức gì? Cơ hội việc làm như thế nào? Nhiều thứ khác nữa xoay quanh và một số lời khuyên gửi đến các Bạn. Đừng tiếc thời gian xem qua hết Bạn nhé. Bỏ 4 tiếng ra để có sự hiểu biết định hướng rõ ràng giúp Bạn có một tương lai tốt hơn trong ngành nghề Bạn nhé.

Lưu ý: Bạn có thể xem video này sau - hãy cứ tiếp tục đọc tiếp bài viết ở phần dưới




2/ HIỂU VỀ CÁC HƯỚNG ĐI CỦA LẬP TRÌNH

Nếu Bạn đã xem qua video live stream chia sẻ về các chuyên ngành CNTT của Sơn ở trên sẽ nhận ra rằng tất cả các hướng đi chuyên ngành CNTT đều có mối tương quan chặt chẽ với Lập Trình. Vì thế mà ngày nay khi nói đến Học CNTT thì gắn liền với cái mác là Học Lập Trình. Thậm chí có câu nói bất hủ “Nếu nói học CNTT mà không biết lập trình thì đừng nói là học CNTT”. Chính vì thế ở phần này Sơn sẽ đi sâu về định hướng Học Lập Trình Bạn nhé. Vì đây là thử thách đầu tiên cho bất cứ ai muốn bước chân theo ngành CNTT này trước khi học để làm cái gì đó cao siêu hơn ở trong các chuyên ngành thì phải trải qua Học Lập Trình.

Đầu tiên chúng ta phải hiểu Học Lập Trình để làm ra được cái gì? Nếu Bạn đã xem qua phần 2: Những điều hay ho của ngành CNTT – Cơ hội và Thách thức cho những ai dấn thân với ngành thì chắc chắn Bạn đã rõ rồi đúng không? Nhờ Lập Trình để làm ra các sản phẩm ứng dụng phục vụ cho cuộc sống con người. Nó có thể là một cái Website bán hàng để hiển thị lên đó thông tin sản phẩm dịch vụ của công ty đến với nhiều người. Nó có thể là một ứng dụng tiện ích trên điện thoại di động giúp tra cứu món ăn, sức khỏe. Nó có thể là một game trên điện thoại di động giúp người chơi giải trí. Nó có thể là một phần mềm ứng dụng trên máy tính như quản lý bán hàng, học tiếng Anh … Tóm lại nó là tất cả những gì mà cái đầu chúng ta nghĩ ra và nhờ Học Lập Trình chúng ta sẽ làm ra được nó như chúng ta muốn.

Bạn có thể tưởng tượng hình dung ra bức tranh Học Lập Trình và các công nghệ xoay quanh nó chỉ đơn giản thế này thôi:

Lộ trình học lập trình ứng dụng

Giải thích:

Sản phẩm (phần mềm ứng dụng, game) được hiện thực ra trên các nền tảng (máy tính, điện thoại, website) nhờ vào các ngôn ngữ/công nghệ hỗ trợ riêng trong từng nền tảng (máy tính: C/C++, C#, Java … – điện thoại: Android, iOS – website: PHP, ASP.NET với các framework hỗ trợ kèm thêm như NodeJS, React Native, ReactJS, Angular …).

Bước 1: Chọn 1 nền tảng làm khởi đầu:

Sau khi Bạn hình dung được sơ đồ trên thì điều đầu tiên đó là Bạn phải xác định chọn ra cho mình khởi đầu với 1 hướng đi nền tảng ứng dụng cụ thể mà Bạn cảm thấy hứng thú. Nó có thể là nền tảng Web, Mobile (Mobile App hoặc Mobile Game) hay Ứng Dụng Máy Tính. Bạn lưu ý là chỉ chọn 1 hướng duy nhất làm khởi đầu nền tảng và dồn hết sức chuyên tâm vào nó tránh ôm nhiều cuối cùng chẳng được chi. Bạn hãy cứ yên tâm một điều là tất cả những nền tảng nó đều bổ trợ cho nhau và nếu Bạn xác định theo hướng làm Lập Trình Viên thì chuyện Bạn phải có kiến thức ở nhiều nền tảng để đáp ứng nhu cầu công việc là điều hết sức bình thường. Ví dụ Bạn đi theo Lập Trình Web nhưng bất chợt công ty có Project Mobile cần người làm hay khách hàng của Bạn yêu cầu sản phẩm phải có mặt trên cả 2 nền tảng Web & Mobile là điều hết sức bình thường. Bạn đừng lo lắng bởi vì bản thân các nền tảng đều có những điểm tương đồng với nhau thành ra khi Bạn đã nắm vững cố định được 1 nền tảng Bạn sẽ rất dễ để học lên các nền tảng khác so với lúc Bạn chưa có nền tảng gì. Vì thế tóm lại lời khuyên là hãy cứ chọn ra cho mình 1 nền tảng khởi đầu và tập trung học mọi thứ xoay quanh nó Bạn nhé. Rồi sau đó cuộc đời sẽ đẩy đưa Bạn.

Bước 2: Chọn 1 công nghệ/ngôn ngữ trong nền tảng đã chọn để khởi đầu:

Bên trong nền tảng mà Bạn chọn khởi đầu sẽ có rất nhiều những công nghệ/ngôn ngữ khác nhau hỗ trợ vì thế Bạn cũng sẽ phải chọn ra cho mình 1 nền tảng ngôn ngữ/công nghệ để tập trung theo sâu về nó tránh tẩu hỏa nhập ma (Ví dụ nếu Bạn chọn theo Lập Trình Mobile thì khởi đầu Bạn chỉ nên học hoặc Mobile Android hoặc Mobile iOS chứ không thể học cả 2, sau khi đã vững kiến thức về nó xong Bạn mới nên tiếp tục tìm hiểu thêm các công nghệ framework hỗ trợ xoay quanh nó ví dụ: React Native, ReactJS). Bạn hãy cứ yên tâm một điều là tất cả những công nghệ/ngôn ngữ thuộc cùng 1 nền tảng nó đều có những điểm giống nhau và nếu Bạn xác định theo hướng làm Lập Trình Viên trong 1 nền tảng nào đó (Vd: Lập Trình Viên Mobile) thì chuyện Bạn phải có kiến thức ở nhiều công nghệ/ngôn ngữ xoay quanh nền tảng đó để đáp ứng nhu cầu công việc là điều hết sức bình thường. Ví dụ Bạn đi theo Lập Trình Mobile Android nhưng khách hàng/công ty yêu cầu sản phẩm phải có mặt trên cả hệ điều hành iOS là điều hết sức bình thường. Bạn đừng lo lắng bởi vì bản thân các công nghệ/ngôn ngữ trong cùng 1 nền tảng đều có những điểm tương đồng với nhau thành ra khi Bạn đã nắm vững cố định được 1 công nghệ/ngôn ngữ trong 1 nền tảng Bạn sẽ rất dễ để tiếp thu thêm các công nghệ/ngôn ngữ hỗ trợ khác trong chính nền tảng đó so với lúc Bạn chưa biết gì. Vì thế tóm lại lời khuyên là hãy cứ chọn ra cho mình 1 công nghệ/ngôn ngữ khởi đầu và tập trung đào sâu về nó Bạn nhé. Rồi sau đó cuộc đời sẽ đẩy đưa Bạn.

Tóm lại:

Sau khi Bạn đã hiểu được tất cả những điều trên thì vấn đề lúc này là Bạn phải bắt đầu từ Bước 1 đó là chọn ra cho mình 1 nền tảng đầu tiên để theo đuổi. Bạn hãy lưu ý rằng điều này có tầm ảnh hưởng rất quan trọng quyết định đến sự nghiệp của Bạn vì để theo một nền tảng và ra nghề được với nền tảng đó chắc chắn Bạn sẽ phải mất ít nhất là 1 năm cày cuốc. Vậy chuyện gì sẽ xảy ra nếu sau tất cả Bạn nhận ra mình không thực sự hứng thú và đam mê với nền tảng ấy? Có nghĩa là Bạn sẽ không làm việc trong nền tảng ấy và tiếp tục bắt đầu lại theo một hướng mới. Mặc dù kiến thức nó vẫn nằm trong đầu Bạn nhưng thời gian qua rất uổng phí nếu Bạn bỏ đi và tiếp tục với hướng đi mới rồi lâu dần kiến thức cũng sẽ mất hết đi do không được thực hành thường xuyên. Cách tốt nhất đó là ngay từ bước đầu tiên Bạn phải có sự quyết định chắc chắn với định hướng của mình bằng việc phải tìm hiểu kỹ lưỡng mọi thông tin xoay quanh các hướng đi để từ đó có sự quyết định chắc chắn với một hướng đi cụ thể sau khi Bạn thực sự đã hiểu rõ mọi thứ xoay quanh nó.

Hiểu được tầm quan trọng của việc lựa chọn định hướng Học Lập Trình. Ngày 22/4/2017 Sơn đã làm buổi live stream xuyên suốt 4 tiếng đồng hồ nói khô cả cổ để chia sẻ cụ thể rõ ràng chi tiết định hướng Học Lập Trình với các nền tảng Ứng Dụng Máy Tính, Website, Mobile với những nội dung chính trong từng lĩnh vực:
  • Học làm ra được cái gì? Nhu cầu phát sinh
  • Ngôn ngữ, công nghệ nền tảng hỗ trợ phát triển
  • Cơ hội:
  •   - Việc làm
  •   - Kiếm tiền
  •   - Tương lai
  • Sự chuẩn bị
  • Lời khuyên khi học
Sơn còn phân tích rõ mối tương quan giữa các nền tảng trên và lời khuyên tổng kết của Sơn. Bạn đừng tiếc thời gian xem qua hết Bạn nhé. Bỏ 4 tiếng ra để có sự hiểu biết định hướng rõ ràng giúp Bạn có một tương lai tốt hơn trong ngành nghề Bạn nhé.

Lưu ý: Bạn có thể xem video này sau - hãy cứ tiếp tục đọc tiếp bài viết ở phần dưới




3/ SỰ KHỞI ĐẦU CHO CẢ NGÀNH CNTT BẰNG 4 MÔN LẬP TRÌNH NỀN TẢNG ĐƯỢC GỌI LÀ TỨ TRỤ CỦA CẢ NGÀNH CNTT

Đọc đến đây rồi thì chắc hẳn Bạn đã nắm được những chuyên ngành trong ngành CNTT (Kỹ Thuật Phần Mềm, Hệ Thống Thông Tin, Mạng Máy Tính, Khoa Học Máy Tính) và hiểu được những hướng đi của người Lập Trình Viên (Lập Trình Web, Mobile, Ứng Dụng Máy Tính) rồi đúng không?

Nếu đã xem qua video chia sẻ của Sơn thì Bạn sẽ biết rằng bản thân các hướng đi của người Lập Trình Viên (Lập Trình Web, Mobile, Ứng Dụng Máy Tính) nó chính là nằm ở trong chuyên ngành Kỹ Thuật Phần Mềm (hay còn gọi là Công Nghệ Phần Mềm) – là chuyên ngành mà hơn 70% sinh viên theo ngành CNTT lựa chọn để có thể ra trường có công việc ngay với sự thiếu hụt nhân sự Lập Trình Viên ở mức báo động hiện nay. Còn với các chuyên ngành khác thì sao? Thực ra từ Lập Trình Viên chúng ta dễ dàng học thêm tiếp một số kiến thức để đi theo các chuyên ngành kia. Ví dụ học thêm về giải thuật, trí tuệ nhân tạo, machine learning để đi theo chuyên ngành Khoa Học Máy Tính nghiên cứu sâu về khoa học công nghệ - học sâu về hệ thống cơ sở dữ liệu để đi theo chuyên ngành Hệ Thống Thông Tin.

Điều đó Sơn đang muốn chứng minh cho Bạn thấy rằng tất cả các hướng đi chuyên ngành trong CNTT đều xuất phát từ Lập Trình Viên. Vì thế nếu Bạn học được lập trình nghĩa là Bạn sẽ đi theo được trong ngành CNTT này ở bất kỳ mảng chuyên ngành nào – cũng đồng nghĩa nếu Bạn không học được lập trình Bạn sẽ khó có khả năng tiếp cận với ngành CNTT này hoặc sẽ không thể phát triển đi xa được chỉ làm những công việc mang tính chất thủ công và tương lai sẽ bị thay thế bằng Robot như Sơn đã chia sẻ ở trong phần 2. 

Điều này không phải Sơn nói ra để hù dọa Bạn mà nó là sự thật. Bạn hãy thử nghĩ xem đặc thù của ngành CNTT này làm việc liên quan đến công nghệ - dữ liệu tức là những thứ đầu óc suy luận tính toán. Lập Trình nó dạy cho chúng ta tư duy suy nghĩ nếu Bạn không học được Lập Trình thì làm sao các Bạn có thể làm được các công việc liên quan đến óc suy luận tính toán? Điều này là lẽ thường tình mà. Kể cả nhiều Bạn ôm mộng tưởng trong đầu rằng mình không học tốt lập trình để theo hướng Lập Trình Viên thì mình làm Tester (chuyên viên kiểm lỗi phần mềm) cũng được mà. Xin thưa với Bạn rằng bản thân người Tester cũng phải có kiến thức lập trình tốt để có thể tìm ra đầy đủ mọi ngóc ngách lỗi của phần mềm chứ nếu không biết về Lập Trình thì làm sao biết lỗi ở đâu được? Thậm chí Bạn có biết có đa phần những Tester trước đó phần lớn là Lập Trình Viên không? Có thể vì áp lực công việc họ không chịu nổi nên mới chuyển xuống Tester cho khỏe nhưng cơ bản vẫn dùng đến cái đầu nhiều lắm Bạn nhé!

Chính vì tầm quan trọng như vậy nên các trường đại học chính quy chuyên ngành CNTT muốn nhấn mạnh rõ tầm quan trọng của Lập Trình với ngành CNTT này vì thế ngay từ trước khi bước vào các chuyên ngành (năm 3) thì suốt 2 năm đầu tiên tất cả các sinh viên CNTT đều phải trải qua những môn Lập Trình được xem là “nền tảng mở đầu của chuyên ngành”. Tức là không biết Bạn sẽ theo chuyên ngành gì và mong muốn làm được gì trong ngành CNTT này, trước tiên hãy cứ trải qua các môn Lập Trình Nền Tảng và học được nó đã rồi mới suy nghĩ đến chuyện đi tiếp chuyên sâu vào các chuyên ngành. Đây được xem như là quá trình rèn luyện thử thách để ai vượt qua được nó thì chắc chắn sẽ theo được ngành này, còn nếu ai không vượt qua được thì thật lòng mà khuyên nên bỏ sang ngành khác thì hơn vì Bạn không phù hợp với ngành.

Chính vì được xem là nền tảng mở đầu của chuyên ngành và quyết định được số phận tương lai của Bạn vì thế không có gì lạ khi cuộc đời sinh viên 4 năm chuyên ngành thì hết tận 2 năm đầu tiên (50% quãng đời sinh viên CNTT) chỉ để học những môn nền tảng mở đầu này. Đáng tiếc nhiều Bạn không hiểu ra được chân lý đó cứ nghĩ những môn nền tảng mở đầu này không quan trọng mà chỉ chăm chăm vào các môn chuyên ngành (Vd: Lập Trình Web, Mobile) vì nghĩ rằng lúc đó mới học được thứ có thể giúp Bạn đi làm được và kiếm tiền. Cuối cùng là Bạn sẽ tay trắng về không vì nền tảng cốt lõi không có gì làm sao học được? Cũng như chúng ta đều hiểu học đại học chính là lúc chúng ta được học các kiến thức để sau này đi làm và kiếm tiền nhưng nếu Bạn không được học các cấp tiểu học, trung học thì liệu Bạn có ngồi lên được đại học không? Hãy hiểu ngành CNTT cũng như vậy nhé, nếu không có kiến thức Lập Trình Nền Tảng thì Bạn sẽ không thể học được các kiến thức Lập Trình Nâng Cao và như thế đồng nghĩa Bạn không có kiến thức Lập Trình tức là Bạn không thể đi được trong ngành CNTT này vì đã nói rõ: “Học CNTT mà không biết Lập Trình thì đừng có nói là học CNTT”. Nhớ nhé!

Đối với những Bạn không được học chính quy ngành CNTT ở trường đại học hoặc học ngành CNTT ở những trường không thuộc chính quy nhà nước thì cũng hãy hiểu rõ tầm quan trọng của Lập Trình Nền Tảng mà đi theo đúng lộ trình để đảm bảo chất lượng kiến thức tốt nhất cho sự nghiệp của Bạn.

Vậy Lập Trình Nền Tảng mà Sơn cứ nhai đi nhai lại suốt từ đầu tới giờ nó là gì? Sơn sẽ cho Bạn biết rõ như sau: Nó là qua 4 môn học được gọi là tứ trụ của ngành CNTT này và với mỗi môn sinh viên sẽ học trong 1 học kỳ (nửa năm):
  1. Nhập Môn Lập Trình
  2. Kỹ Thuật Lập Trình
  3. Cấu Trúc Dữ Liệu & Giải Thuật
  4. Lập Trình Hướng Đối Tượng

Có thể có trường sẽ khác tên các môn (Vd: Thay vì gọi là Nhập Môn Lập Trình thì sẽ gọi là Lập Trình Cơ Bản) hoặc gộp 2 môn (môn 1 và môn 2) lại làm 1 nhưng kiến thức vẫn phải đảm bảo đầy đủ nhất quán.

Các môn học này kiến thức sẽ được hiện thực dưới một ngôn ngữ lập trình cụ thể nào đó (Vd: C/C++/C#/Java …) nhưng nhìn chung đa phần các trường đại học hiện nay đều theo ngôn ngữ C/C++ làm mở đầu nền tảng (Giải thích chuyên môn 1 tí cho vấn đề tại sao ngôn ngữ C/C++ hay được các trường dùng làm khởi đầu: Bởi vì các ngôn ngữ khác như C#/Java nó là ngôn ngữ thuần về Hướng Đối Tượng nhưng mới đầu vào người học sẽ chưa học đến Hướng Đối Tượng nên sẽ khó cho người học tiếp cận chính vì thế sẽ bắt đầu từ nền tảng thấp hơn là C/C++ rồi từ từ mới đi lên sau sẽ giúp người học hiểu biết nhiều hơn về các thời kỳ của lập trình).

Điều này cũng cho Bạn một sự nhìn nhận đó là khi bắt đầu với một ngôn ngữ lập trình bất kỳ nào mà Bạn muốn nắm tất cả mọi thứ xoay quanh nó trước tiên Bạn cần nắm được 3 thứ sau: Căn Bản (môn 1 & môn 2) + Giải Thuật (môn 3) + Hướng Đối Tượng (môn 4) là coi như Bạn đã nắm đủ kiến thức nền tảng về nó để có thể tiếp tục đào sâu về các công nghệ bên trong nó. Nhưng để nắm rõ mọi thứ trong từng phần trên thì nó phải là một quãng thời gian dài chứ không phải chỉ học sơ qua để biết qua Bạn nhé.

Cảnh báo hiện trạng khóa học lập trình hiện nay:

Vì thế nếu Bạn có thấy thông tin một khóa học dạy kiến thức Lập Trình Ứng Dụng như Web hay Mobile mà Bạn xem qua nội dung dạy không thấy trước tiên dạy 3 phần trên (Căn Bản + Giải Thuật + Hướng Đối Tượng) mà nhảy vào dạy thẳng ngay các công nghệ mà không có lưu ý người học phải có kiến thức nền tảng thì đó không phải là nơi uy tín cho Bạn học. Họ chỉ muốn thu được tiền từ Bạn mà không quan tâm đến việc Bạn có phù hợp để học hay chưa. Ở một số nơi họ chỉ ghi sơ sài như kiểu yêu cầu có kiến thức nền tảng của 1 ngôn ngữ lập trình bất kỳ. Vấn đề ở đây họ không nói rõ ra cho Bạn biết kiến thức nền tảng của 1 ngôn ngữ lập trình bất kỳ ở đây cần là gì? Cụ thể như thế nào? Còn có nhiều khóa học có tâm hơn họ có dạy cả 3 thứ đó trước tiên trong khóa rồi sau đó mới đến công nghệ nhưng Bạn hãy thử suy nghĩ xem 3 thứ đó với 1 sinh viên chính quy CNTT phải mất 2 năm để học và nắm thật vững còn cả thảy Bạn chỉ được học trong vòng vài buổi thì liệu Bạn thực sự nắm được bao nhiêu? Tệ hơn nữa đa phần các khóa học nhan nhản ngày nay ở trên mạng đều đánh trúng vào tâm lý muốn học nhanh sớm có kiến thức để đi làm với các câu chào mời đánh bóng “3 tuần trở thành chuyên gia lập trình” ở đủ các thể loại lập trình game, web, mobile hay “Tự tay xây dựng 10 ứng dụng thực tế” … khiến nhiều người ảo tưởng ngành CNTT dễ ăn đến thế. Nói thẳng ra nhé: Đé* có dễ cho Bạn ăn đâu!

Bạn có biết sự thực là sao ko? Khi tham gia vào các khóa học đó đúng là Bạn có thể làm ra được 10 ứng dụng thực tế gì đó đấy nhưng Bạn cũng chỉ biết làm như thế thôi dựa theo các đoạn code mã lệnh mà trung tâm đã để sẵn hết cho Bạn copy vào và chạy rồi cố gắng hiểu nó. Còn nếu Bạn tự tư duy suy nghĩ viết ra được đầy đủ thì Bạn sẽ không làm được. Ngẫm lại thực ra đúng đấy nhỉ? 10 ứng dụng đấy tự tay Bạn làm ra đấy chứ nhưng bằng copy paste và cố gắng hiểu ^^

Nhiều Bạn tìm đến Sơn tâm sự nỗi lòng là học ở các khóa đào tạo lập trình cấp tốc trên trong vài tháng sau đó cũng ra làm lập trình web, ứng dụng cho khách hàng (Free Lancer). May mắn khách hàng nào yêu cầu đơn giản giống như trong các chức năng mà trung tâm có cho code xử lý hướng dẫn thì chỉ cần bỏ vào sửa lại cho phù hợp là xong. Còn những khách hàng yêu cầu chức năng nâng cao hơn là phải chạy vạy lên mạng đi kiếm hết từ nguồn này đến nguồn khác để copy chỉnh sửa. Thậm chí phải lên các cộng đồng mạng để xin sự “bố thí code” của cộng đồng. Nản quá nhìn nhận lại vấn đề là do Bạn chưa có được cái nền tảng lập trình vì thế quyết định học lại từ đầu để chính thức làm chủ những dòng code do chính mình viết ra.

Nhiều Bạn thì học cấp tốc các khóa trên xong đi vào các công ty CNTT xin việc (Ví dụ: Tuyển lập trình viên Web PHP) thì công ty lại test các kiến thức tư duy lập trình – các kiến thức về lập trình hướng đối tượng … cuối cùng ú ớ không biết gì hoặc không nắm vững khiến bị trượt. Tự hỏi tại sao họ lại không test kiến thức Web mà lại đi test các kiến thức kia? Vấn đề Bạn phải hiểu là chỉ cần nắm vững các kiến thức lập trình nền tảng kia thôi thì Bạn hoàn toàn có thể học bất kỳ công nghệ/ngôn ngữ nào – chính vì thế công ty mong muốn ở những ứng viên cần phải nắm được cốt lõi nền tảng để trong công việc sau này cũng không phải chỉ bó buộc với mỗi duy nhất 1 nền tảng ngôn ngữ công nghệ mà có thể chạy theo các dự án khác nhau và bản thân công ty cũng có bộ phận chuyên training (đào tạo) cho người mới nên họ chỉ cần Bạn chắc chắn nền tảng là có thể vào được.

Quay lại vấn đề tầm quan trọng của 4 môn Lập Trình Nền Tảng:

Sơn nói ra luôn điều này để Bạn đừng lo lắng nếu Bạn nghĩ rằng các kiến thức nền tảng 4 môn ở trên (Nhập Môn Lập Trình – Kỹ Thuật Lập Trình – Cấu Trúc Dữ Liệu & Giải Thuật – Lập Trình Hướng Đối Tượng) chỉ học dưới 1 ngôn ngữ lập trình nào đó (Vd: C/C++) rồi sau đó Bạn qua ngôn ngữ khác là phải làm lại từ đầu nhé. Không có đâu đừng nghĩ khùng như vậy. Tuy học dưới 1 ngôn ngữ cho các kiến thức nền tảng trên nhưng nó ứng dụng cho tất cả ngôn ngữ khác sau này vì các ngôn ngữ nó chỉ khác nhau cú pháp còn TƯ DUY XỬ LÝ đều như nhau cả thôi (Ví dụ như ngôn ngữ C/C++/C#/Java và nhiều ngôn ngữ khác tất cả đều có kiến thức về vòng lặp, hàm, mảng, hướng đối tượng và cấu trúc quy tắc vận hành của nó đều giống nhau). Chỉ cần Bạn nắm được 4 môn ở trên với 1 ngôn ngữ bất kỳ là Bạn có thể yên tâm rằng nền tảng lập trình của Bạn đã rất tốt rồi đấy. Đi lên các ngôn ngữ lập trình ứng dụng (như Web, Mobile) Bạn chỉ cần học các cú pháp, công nghệ đặc trưng riêng của nó còn tư duy vận hành nền tảng đều giống như vậy. Bạn hãy hiểu Học Lập Trình chính là Học Tư Duy Lập Trình chứ không phải là Học Ngôn Ngữ Lập Trình nhé. Ngôn ngữ thì có rất nhiều nhưng tư duy thì giống nhau hãy yên tâm về điều đó. (Giống như Bạn được học tư duy rằng nếu đứa nào đấm Bạn 1 cái Bạn sẽ biết chửi “Đậu Má Mày” ở Việt Nam thì qua bên Mỹ đứa nào đấm Bạn 1 cái Bạn cũng sẽ tự biết chửi “Fuck You Bitch” vậy đó chỉ khác cái ngôn ngữ là Bạn phải học để biết chửi còn tư duy auto chửi khi bị đấm thì không cần phải học lại haha).

Bạn có hay xem phim chưởng không? Hãy thử hình dung nhé: Nếu xem việc học CNTT Lập Trình như việc luyện tập võ nghệ để có thể hành tẩu giang hồ thì ở 4 môn tứ trụ này giúp ta luyện tập “nội công” để đến khi lên các thứ ngôn ngữ/công nghệ (như Web, Mobile …) lúc đó mới chính thức là học “võ công”. Mà Bạn coi phim cũng biết rồi đấy 1 người nếu nội công tốt thì học võ công sẽ rất nhanh, nhưng nếu 1 người nội công không tốt thì dù cố gắng đến mấy cũng không thể luyện thành võ công được. Lập Trình cũng giống như vậy đấy!

Nội công của chưởng môn Huỳnh Tuấn Kiệt đẩy cái bay luôn

Sơn nhắc lại lần cuối nhé, nghe cho kỹ: 4 môn tứ trụ mà Sơn nhắc đến ở trên (Nhập Môn Lập Trình – Kỹ Thuật Lập Trình – Cấu Trúc Dữ Liệu & Giải Thuật – Lập Trình Hướng Đối Tượng) nó cực kỳ … cực kỳ quan trọng có giá trị không chỉ riêng với hướng đi Lập Trình Viên mà là tất cả mọi hướng đi có trong ngành CNTT này. Ví dụ sau này dù Bạn xác định đi theo hướng mạng hay bảo mật hay hệ thống thì tất cả Bạn đều cần phải nắm chắc kiến thức của 4 môn tứ trụ trên. Nói thẳng ra nếu không qua được 4 môn trên thì Bạn cũng không thể học tiếp được trong ngành này đâu. Nhớ lấy!

Trong quyển bí kíp “Độc Cô Cửu Kiếm” lừng danh trên giang hồ của ẩn sĩ Nguyễn Tấn Trần Minh Khang có luận phân tích rõ 9 kiếm quan trọng trong suốt hành trình của người tu luyện CNTT trong đó có nhắc đến 3 kiếm quan trọng như sau nằm trong tứ trụ của ngành CNTT mà Sơn đã đề cập đến ở trên:

Kiếm thứ nhất: Kiếm Tàn Lục Thức (Kỹ Thuật Lập Trình) – Bao gồm luôn cả môn thứ 1 & môn thứ 2 trong tứ trụ (Nhập Môn Lập Trình + Kỹ Thuật Lập Trình): Chiêu này bao hàm căn cơ nhất cho toàn bộ bí kíp, nếu luyện chiêu này không kỹ có thể dẫn người ta đến con đường bàn môn tà đạo, công lực khó lòng tiến triển! Là căn bản trong cái căn bản, nếu luyện không thành thì phế bỏ võ công rời khỏi giang hồ mà theo môn phái khác thì hơn. 

Kiếm thứ hai: Cầm Trảo Dạ Lôi (Cấu Trúc Dữ Liệu) – Tức là môn thứ 3 trong tứ trụ (Cấu Trúc Dữ Liệu & Giải Thuật): Kiếm này cao thâm, khó học, nếu tường tận có thể đưa người luyện đến mức cao siêu, chiết giải chiêu thức không mấy gì làm khó! Xưa nay hiếm người luyện thành chiêu này, phần lớn là bị sư phụ giữ lại núi để rèn luyện (học lại, thi lại).

Kiếm thứ năm: Hồi Đao Tuyệt (Hướng Đối Tượng) – Tức là môn thứ 4 trong tứ trụ (Lập Trình Hướng Đối Tượng): Môn này xem ra là căn cơ nội công của bộ bí kíp! Toàn bộ hướng đến việc đơn giản hóa các chiêu thức từ địch nhân, lại dụng tâm suy nghĩ ra đường phản công sắc bén, thành hay bại, một phần lớn nằm trong chiêu này! Để luyện được, cần phải luyện qua chiêu thứ nhất kỹ càng, nếu dục tốc sẽ dẫn đến tẩu hỏa nhập ma, học hoài cũng ko thông bất tất không đem ra tỷ thí được! Nguy cơ rời bỏ võ lâm Trung Nguyên về Tây vực chăn vịt là có thể!

Xem thêm đầy đủ 9 kiếm trên Fanpage Trung Tâm tại đây: https://goo.gl/rAdiKc

Qua chia sẻ trên Bạn cũng thấy một điều nguy hiểm nữa đó là các kiếm này nó đi theo thứ tự bổ trợ cho nhau. Tức là nếu Bạn không luyện thành được kiếm thứ 1 thì đừng mong luyện thành được kiếm thứ 2 – kiếm thứ 2 mà không luyện thành được thì đừng mong đến được kiếm thứ 5 – mà kiếm thứ 5 không luyện thành được thì đừng mong bôn ba giang hồ chỉ có thể ở quê chăn vịt mà thôi!

Tổng kết:

Qua phần chia sẻ này Sơn chưa có nói chi tiết sâu vào bên trong từng môn của tứ trụ nền tảng (Nhập Môn Lập Trình – Kỹ Thuật Lập Trình – Cấu Trúc Dữ Liệu & Giải Thuật – Lập Trình Hướng Đối Tượng) có thể sẽ khiến Bạn chưa thực sự hình dung ra mức độ quan trọng của nó như thế nào trong Lập Trình Ứng Dụng Thực Tế, Sơn sẽ nói chi tiết trong phần tiếp theo ở dưới. Sơn chỉ cho Bạn biết rằng nó quan trọng quyết định tương lai số phận của Bạn trong ngành CNTT này. Nếu Bạn chưa chính thức bước vào học thì hãy biết qua lưu ý cho Sơn để khi học cố gắng tập trung đạt kết quả tốt nhất. Nếu Bạn đang học thì hãy hiểu được tầm quan trọng đó mà chú tâm học cho tốt. Nếu Bạn đã trải qua một trong số môn trong tứ trụ đó hoặc đã trải qua hết tất cả rồi hãy nhìn nhận lại kiến thức của mình xem mình có thực sự nắm vững nó hay không? Để từ đó lên kế hoạch mà ôn tập lại để con đường đi phía trước của Bạn được tốt đẹp hơn.


4/ CHI TIẾT VỀ 4 MÔN TỨ TRỤ CỦA CẢ NGÀNH CNTT

4 môn tứ trụ theo thứ tự từ thấp đến cao phải luyện qua từng bậc, mỗi bậc trong nửa năm (1 học kỳ) gồm có:
  1. Nhập Môn Lập Trình
  2. Kỹ Thuật Lập Trình
  3. Cấu Trúc Dữ Liệu & Giải Thuật
  4. Lập Trình Hướng Đối Tượng

Nhập Môn Lập Trình:

Từ 1 người ban đầu chưa hề biết gì về lập trình thì ở môn học này sẽ giúp cho Bạn hiểu được lập trình là gì? Trình tự các bước để xây dựng ra 1 chương trình từ lúc đầu tiên chỉ là yêu cầu đến lúc hiện thực thành công ra sản phẩm (viết code chạy thành công ra sản phẩm). Giúp Bạn tạo lập ra thứ rất quan trọng đối với người Lập Trình Viên được gọi là TƯ DUY LẬP TRÌNH ở mức độ sơ khai để giải quyết được những vấn đề cơ bản bằng lập trình. Giải thích khái niệm “Tư Duy Lập Trình” hiểu đơn giản đó là đưa ra cho Bạn 1 vấn đề và Bạn biết cách giải quyết nó.

Ví dụ: Khởi đầu Bạn sẽ làm quen với các bài tập đơn giản như Lập Trình (viết code) chương trình giải phương trình bậc 1, bậc 2, hệ phương trình, tìm số lớn nhất có trong dãy số, tính tổng dãy số …

Kỹ Thuật Lập Trình:

Môn học này phát triển tiếp lên từ Nhập Môn Lập Trình nhưng ở 1 mức độ cao hơn thành ra để có thể học được môn này Bạn phải đảm bảo thực sự nắm hết các kiến thức của Nhập Môn Lập Trình.

Bạn sẽ được học những Kỹ Thuật trong Lập Trình để ứng dụng linh hoạt đa dạng vấn đề tình huống, có thể nói hầu như tất cả các vấn đề đều được giải quyết ở môn này, thậm chí là những vấn đề trong các phần mềm ứng dụng thực tế. Đồng thời cái TƯ DUY LẬP TRÌNH của Bạn sẽ càng được nâng lên tầm cao mới vì được tiếp xúc nhiều với thực tế.

THÀNH HAY BẠI là ở môn Kỹ Thuật Lập Trình này cả đấy Bạn. Bởi vì sao?

Bản chất 1 phần mềm ứng dụng thực tế lớn sẽ bao gồm trong đó rất nhiều những tính năng nhỏ gộp ghép lại mà thành, và trong từng tính năng nhỏ đó sẽ nhờ vào Kỹ Thuật Lập Trình mà xây dựng nên. Hiểu được rõ bản chất vấn đề như vậy sẽ giúp Bạn xác định được tầm quan trọng của Kỹ Thuật Lập Trình có giá trị ứng dụng trong thực tế như thế nào khi sau này Bạn ra xây dựng các phần mềm ứng dụng.

Ví dụ:
Bạn muốn làm ra 1 Game bất kỳ nào đó không cần biết là Game gì. Chắc chắn Game của Bạn sẽ phải có chức năng thống kê điểm và xếp hạng. Nếu là Game cá nhân chơi thì sẽ thống kê điểm cao nhất trong các lần chơi, nếu là Game nhiều người chơi thì sẽ thống kê người chơi có điểm cao nhất. 
  • Nhờ vào Kỹ Thuật Lập Trình sẽ giúp Bạn có được tư duy để làm & cách làm để biết cách thống kê lại điểm cao nhất sau mỗi lần chơi, biết cách xếp hạng danh sách người chơi.

Bạn làm phần mềm quản lý bán hàng có thống kê lại thông tin những người mua hàng. Yêu cầu của công ty là cứ cuối mỗi tháng hệ thống sẽ tự động gửi Email cảm ơn những người đã mua hàng trong tháng vừa qua. Vấn đề là có những khách hàng trong tháng mua đến vài lần tức là sẽ có khả năng nhận được vài Email cảm ơn 1 lúc? Làm sao để giải quyết vấn đề này?
  • Nhờ vào Kỹ Thuật Lập Trình sẽ giúp Bạn có được tư duy để làm & cách làm để biết cách lọc ra danh sách Email những khách hàng bị trùng trong danh sách mua hàng để loại trừ ra bảo đảm 1 khách hàng chỉ nhận được duy nhất 1 Email.

Cũng tiếp tục là phần mềm quản lý bán hàng. Một tính năng nghiệp vụ cơ bản nhất của phần mềm quản lý bán hàng nói chung đó là khi khách hàng mua 1 món hàng thì trước khi bán phải kiểm tra xem món hàng đó có còn trong kho hàng hay không? Nếu còn thì số lượng có đủ để đáp ứng không? Nếu đáp ứng được thì tiến hành bán và sau khi bán phải cập nhật lại số lượng tồn kho. Bạn có hình dung được quy trình nghiệp vụ này không?
  •  Vậy thì khi người Lập Trình Viên hiểu ra được quy trình nghiệp vụ đó thì sẽ viết ra các dòng mã code xử lý nhờ vào kiến thức Kỹ Thuật Lập Trình sẽ hiện thực ra được quy trình đó để cho máy tính hiểu và làm đúng theo quy trình bao gồm các bước kiểm tra và tiến hành cập nhật lại.

  •  Thực tế quy trình nghiệp vụ tùy vào công ty, khách hàng, mô hình mà yêu cầu sẽ khác nhau. Ví dụ cũng như quy trình trên nhưng thêm tính năng là nếu sản phẩm khách hàng muốn mua mà hết rồi hay không đáp ứng đủ số lượng thì tự động gửi Email về cho bộ phận quản lý kho báo rõ tình hình để bộ phận chuyển thêm hàng về. Nhờ vào Kỹ Thuật Lập Trình Bạn sẽ biết cách tiếp nhận yêu cầu – lên ý tưởng xử lý và hiện thực thành công.

Tóm lại:

Kỹ Thuật Lập Trình đóng vai trò rất quan trọng đối với sự nghiệp của người Lập Trình Viên. Giúp Bạn có được Tư Duy Lập Trình vững chắc giải quyết hầu như tất cả mọi vấn đề thực tế trong việc xây dựng phần mềm ứng dụng.

Sai lầm của người học:

Kỹ Thuật Lập Trình quan trọng là thế nhưng khi Sơn có dịp trò chuyện với nhiều bạn sinh viên CNTT Sơn nhận thấy dưới con mắt của nhiều bạn thì nó chỉ là 1 môn học cơ bản không có giá trị thực tiễn. Tư tưởng sai lầm này đến vì chính các bạn không chịu đào sâu trải nghiệm để có góc nhìn thực tế.

Thử quay lại ví dụ về phần mềm quản lý bán hàng với chức năng gửi Email chăm sóc khách hàng vào cuối tháng nhé, vấn đề gặp phải là có khách hàng bị trùng và giải pháp đưa ra đó là chúng ta lọc danh sách Email nào trùng thì xóa đi. 

  •  Vậy nó có khác gì với bài tập mảng 1 chiều mà các Bạn thường hay giải trong trường với đề bài: “Cho mảng 1 chiều các số nguyên – hãy xóa các phần tử bị trùng nhau kể từ lần thứ 2 trở đi chỉ giữ lại phân biệt?”

  •  Rõ ràng rằng nó chỉ khác dữ liệu thay vì là số nguyên thì thực tế chính là Email, còn tư duy và cách giải quyết của nó là như nhau. Nhưng các Bạn không nhìn nhận ra được điều đó. Điều này cũng có nghĩa là các bài tập mà các Bạn thường được trường học đưa ra yêu cầu làm các Bạn cũng chỉ xem nó là những bài tập chứ các Bạn không nghĩ xem nó có giá trị ứng dụng thực tế như thế nào?


Thiếu sót của trường học – giảng viên:

Trách thì trách các Bạn như vậy còn xét về phía trường học có 2 điều trường học làm không tốt (không đánh đồng tất cả các trường nhưng Sơn thấy rằng số đông là vậy – mà cũng còn tùy theo cả giảng viên nữa):
  •  Điều thứ 1: Kiến thức dạy không nói rõ giá trị ứng dụng thực tế và tầm quan trọng.

  •  Điều thứ 2: Kiến thức dạy không có sự hệ thống hóa tổng quan.

Điều thứ 1: Kiến thức dạy không nói rõ giá trị ứng dụng thực tế và tầm quan trọng:

Nhiều giảng viên vào dạy đúng theo giáo trình từ đầu đến cuối rồi thôi. Mà các giáo trình hiện tại Sơn nhận xét thẳng rằng nó khá là khô khan theo kiểu chuyên môn quá mà không thực tế những ví dụ dễ hiểu đời sống và cũng không nói rõ ra được tầm quan trọng của các kiến thức để cho sinh viên được hiểu và có nhận thức đúng đắn. Bản thân lỗi ở trên của người học cũng có trách nhiệm của trường học – giảng viên trong đó.

Ví dụ nếu Bạn đã từng được học về mảng 1 chiều (Nếu Bạn chưa biết về nó vẫn cứ nghe qua để biết nhé Sơn nói dễ hiểu lắm) Bạn có biết rằng mảng 1 chiều nó là kiến thức cực kỳ quan trọng trong lập trình phần mềm ứng dụng thực tế không? Hay Bạn chỉ biết đến mảng 1 chiều qua các slide bài giảng là mảng các số nguyên, mảng các số thực xoay quanh đó là các bài tập yêu cầu tính tổng các số trong mảng, tìm số lớn nhất nhỏ nhất trong mảng? Giảng viên có nói thêm điều gì với Bạn nữa không?
  •  Khi Sơn dạy Sơn nói rất kỹ với các bạn học viên của Sơn rằng: Bản chất mảng chính là danh sách, mà danh sách trong thực tế nó không phải là các số nguyên, các số thực như Bạn chỉ biết vậy đâu mà trong thực tế nó có thể là danh sách hàng hóa trong kho nè, danh sách sinh viên trong lớp nè, danh sách nhân viên trong công ty nè. Các bài tập tìm số lớn nhất nhỏ nhất thực tế nó có thể là tìm xem món hàng nào bán nhiều nhất trong ngày nè, tìm xem sinh viên nào điểm cao nhất lớp trong kỳ thi nè, tìm xem nhân viên nào tháng này có lương cao nhất nè. Các bài tập tính tổng thực tế nó có thể là tính tổng tiền bán được trong ngày, tính tổng lương công ty phải trả trong tháng này cho toàn bộ nhân viên … Tất cả đều là những vấn đề thực tế của phần mềm ứng dụng đấy Bạn ạ!

Sơn tin rằng nếu Bạn học mà có sự hình dung hiểu rõ được cái Bạn đang học có giá trị ứng dụng thực tế và tầm quan trọng một cách rõ ràng bảo đảm Bạn sẽ càng có thêm động lực học hơn nữa vì đơn giản Bạn biết cái Bạn học nó không có uổng phí sẽ giúp ích cho Bạn!

Điều thứ 2: Kiến thức dạy không có sự hệ thống hóa tổng quan:

Phải nhồi nhét quá nhiều kiến thức dẫn đến người học bị loạn. Loạn ở đây trước tiên là bị loạn trong cùng 1 phần kiến thức và sau đó là loạn giữa nhiều phần kiến thức với nhau.

Ví dụ vẫn là kiến thức về mảng 1 chiều (Nếu Bạn chưa biết về nó vẫn cứ nghe qua để biết nhé Sơn nói dễ hiểu lắm) Bạn có từng phải trải qua rất nhiều dạng bài tập khác nhau về nó thậm chí lên đến cả vài trăm bài là bình thường? Làm nhiều như vậy rồi không xét đến khía cạnh Bạn có hiểu được giá trị thực tế ứng dụng từ các bài tập không vì điều đó Sơn đã chia sẻ ở trên. Sơn chỉ hỏi rằng Bạn có phân loại ra được cả thảy có bao nhiêu dạng bài tập mảng 1 chiều không trong tất cả hàng trăm bài? Điều này nó có liên quan đến các kỹ thuật của mảng 1 chiều?
  •  Khi Sơn dạy Sơn nói rất kỹ với các bạn học viên của Sơn rằng: Mảng 1 chiều chỉ có 6 kỹ thuật chính sau đây bao gồm: kỹ thuật duyệt mảng – kỹ thuật tìm kiếm – kỹ thuật sắp xếp – kỹ thuật thêm phần tử - kỹ thuật xóa phần tử - kỹ thuật cập nhật mảng. Và các bài tập chỉ xoay quanh 6 dạng kỹ thuật chính này thôi hoặc có thể phối hợp nhiều kỹ thuật lại với nhau. Do đó chỉ cần nắm chắc thật chắc các kỹ thuật này là có thể chiến đấu hết với tất cả các dạng bài tập và thực tế.

  •  Thực tế nhé: Nghiệp vụ bán hàng tìm kiếm xem món hàng có trong kho hay không? => Kỹ Thuật Tìm Kiếm. Nếu tìm ra rồi tiến hành bán sẽ cần cập nhật lại số lượng tồn => Kỹ Thuật Cập Nhật Mảng.

  •  Thực tế nhé: Lọc ra danh sách Email khách hàng bị trùng rồi xóa đi => Kỹ Thuật Duyệt Mảng + Kỹ Thuật Tìm Kiếm (để tìm ra những Email bị trùng) kết hợp Kỹ Thuật Xóa Phần Tử (để xóa khỏi danh sách gửi Email). 

  •  Thực tế nhé: Bảng danh sách xếp hạng Game theo điểm số hoặc người chơi. Đầu tiên phải thêm thông tin điểm số mới hoặc người chơi mới vào bảng xếp hạng => Kỹ Thuật Thêm Phần Tử sau đó tiến hành sắp xếp bảng xếp hạng => Kỹ Thuật Sắp Xếp.

Sơn tin rằng nếu từng phần kiến thức Bạn được hệ thống hóa một cách rõ ràng đầy đủ sẽ giúp Bạn nhìn ra được bức tranh tổng quát kiến thức để từ đó Bạn sẽ có kế hoạch học tập phù hợp và có được sự đánh giá đúng khả năng kiến thức của mình.

Cấu Trúc Dữ Liệu & Giải Thuật:

Chúc mừng Bạn đã đọc đến đây. Bạn đã thực sự hiểu rõ tầm quan trọng của Nhập Môn Lập Trình & Kỹ Thuật Lập Trình rồi chứ? Bạn phải nắm thật chắc kiến thức của 2 môn đó thì mới có thể phát triển tiếp lên được môn này nhé.

Vậy thì Kỹ Thuật Lập Trình tuy có thể giải quyết ra hầu hết đa dạng vấn đề trong các phần mềm ứng dụng thực tế - đạt được đến mức đó tức là Bạn đã có được cái gọi là Tư Duy Lập Trình. Nhưng còn 1 thứ rất quan trọng đi kèm theo đó chính là Tư Duy Giải Thuật. Tức là ở mức Kỹ Thuật Lập Trình Bạn giải quyết ra được vấn đề chưa có nghĩa là cách giải quyết đó của Bạn là cách "Tối Ưu Nhất” – nó phụ thuộc vào Giải Thuật của Bạn cho vấn đề đó có thực sự tốt hay không? Bạn hãy hiểu rằng lúc này điều kiện cần là giải ra được vấn đề (điều này Kỹ Thuật Lập Trình đã làm được) nhưng điều kiện đủ là vấn đề phải được giải quyết theo cách tốt nhất – tối ưu nhất.

Giống như để đi từ nhà đến trường Bạn có rất nhiều con đường để đi và cách đi. Bạn có thể đi đường thẳng, đường vòng. Bạn có thể đi bộ, đi xe máy, đi xe hơi. Kỹ Thuật Lập Trình không quan trọng Bạn đi bằng con đường nào và cách nào – chỉ cần Bạn đến được trường là được. Còn với Cấu Trúc Dữ Liệu & Giải Thuật Bạn phải đi làm sao để con đường đi của Bạn đến trường phải được “tối ưu nhất” – tối ưu ở đây trong tình huống này Bạn hiểu là nhanh nhất. Có nghĩa là Bạn nên đi bằng xe hơi và đi theo đường thẳng? Đó là trong điều kiện tốt nhất, quá dễ dàng đúng không? Nhưng thực tế cuộc sống chắc gì Bạn đã có được xe hơi? Chắc gì con đường thẳng đã là đường ngắn nhất? Lỡ nó bị kẹt xe thì sao? Thành ra Cấu Trúc Dữ Liệu & Giải Thuật chính xác hơn là giúp Bạn nhìn ra được các cách xử lý cho 1 vấn đề (nhiều hơn 1 cách) và chọn lựa ra cách tốt nhất để triển khai trong 1 tình huống cụ thể.

Cấu Trúc Dữ Liệu & Giải Thuật: Sau khi Bạn đã có kiến thức Kỹ Thuật Lập Trình coi như là xử lý được đa dạng mọi vấn đề tình huống thì ranh giới phân biệt giữa Lập Trình Viên Giỏi và Lập Trình Viên Bình Thường đó là ở việc đưa ra giải thuật (hướng giải quyết) cho 1 vấn đề tình huống một cách tối ưu nhất – tốt nhất. Và môn học Cấu Trúc Dữ Liệu & Giải Thuật giúp Bạn có các kiến thức giải thuật để làm được điều này.

Bạn hiểu thế nào về 2 chữ "tối ưu"? thế nào là “code tối ưu"?

Nó là viết ra các dòng code ngắn gọn mà dễ hiểu phải không? Giống như môn toán vậy hả?

Sơn sẽ chia sẻ cho Bạn hiểu “code tối ưu” trong ngành CNTT là gì nhé. Nó không phải là việc Bạn viết code dài hay ngắn kiểu như tao viết code có 50 dòng trong khi mày 100 dòng cùng giải quyết cho 1 vấn đề => Tao ngắn hơn nên code tối ưu hơn mày. Sai nhé!


Tối ưu ở đây được xét đến trên chính sản phẩm được lập trình ra dựa theo 2 tiêu chí đó là Tốc Độ Thực Thi & Bộ Nhớ Chiếm Dụng.

Ví dụ: Bạn chơi 1 Game hay mở 1 Ứng Dụng trên điện thoại ra mà nó khởi động lên ngốn hết 50% ram của điện thoại (Bộ Nhớ Chiếm Dụng) khiến máy Bạn muốn bị treo, bấm nút Start nó load hết vài phút để tải dữ liệu về rồi mới cho Bạn dùng (Tốc Độ Thực Thi) thử hỏi Bạn có muốn sử dụng nó nữa không hay muốn đập mẹ luôn cái điện thoại? Trong khi cũng Game hay Ứng Dụng tương tự nhưng mượt mà nhẹ nhàng bấm cái vào luôn thì thử hỏi Bạn sẽ sử dụng cái nào? Chắc chắn là sẽ chọn cái tốt nhất mà xài rồi. Vậy nên Bạn đã thấy rõ tầm quan trọng của Cấu Trúc Dữ Liệu & Giải Thuật trong việc lập trình ra các phần mềm ứng dụng thực tế rồi chứ?

Lưu ý: Nếu trước đến giờ Bạn học lập trình trên môi trường máy tính có thể Bạn sẽ cảm thấy cần cái quái gì phải nghĩ đến tốc độ rồi bộ nhớ? Khi chương trình chạy lên cái ra kết quả ngay do máy tính tốc độ xử lý quá nhanh và bộ nhớ thì quá dư dả mà. Đúng rồi, mừng là như vậy nhưng Bạn phải học thật kỹ môn Cấu Trúc Dữ Liệu & Giải Thuật này bởi vì nếu sau này Bạn chuyển lên Lập Trình Trên Nền Tảng Mobile Bạn sẽ thấy cái cảnh phải tối ưu từng chút một cho bộ nhớ & tốc độ vì nền tảng di động không được như nền tảng máy tính đâu.

Chúng ta cùng nhau xem qua những điều hay ho mà Giải Thuật mang lại qua những phần mềm ứng dụng thực tế giúp ích cho đời sống hiện nay nhé. Sơn tin Bạn sẽ cảm thấy hứng thú hơn về 1 thế giới giải thuật đầy thú vị bên trong thế giới lập trình này:

Ví dụ 1:

Bạn có từng xài Ứng Dụng Bản Đồ giúp dò tìm đường đi trên điện thoại chưa nhỉ? Nó có thể là Here Map hoặc Google Map. Nhờ nó mà Sơn đi khắp tất cả mọi nơi ở Việt Nam từ Sài Gòn ra Hà Nội, Sapa, Huế, Đà Nẵng, Hội An … chẳng bao giờ bị lạc đường cả. Bạn muốn đi từ vị trí A đến vị trí B và ứng dụng sẽ đưa ra gợi ý con đường đi tốt nhất dành cho Bạn để có thể đến được đích mà Bạn muốn. Cũng như trong ví dụ đầu tiên Sơn có chia sẻ về việc đi từ nhà đến trường có nhiều con đường và cách đi khác nhau đấy. Vấn đề cũng là vậy, tại sao lại gọi là con đường đi tốt nhất? Tốt ở đây là con đường đó không có ổ gà hả? Haha không phải vậy. Vấn đề là để đi từ vị trí A đến vị trí B có rất nhiều con đường đi khác nhau nhưng ứng dụng đã nhờ vào giải thuật để xác định ra được con đường đi ngắn nhất (độ dài quãng đường là ngắn nhất) dành cho Bạn giúp Bạn đi nhanh hơn không phải mất nhiều thời gian. Một điều quan trọng nữa đó là chỉ trong 1 khoảng thời gian ngắn tíc tắc ứng dụng đã đưa ra được giải pháp con đường ngắn nhất đến với Bạn không để Bạn đợi lâu – điều này cũng nhờ vào giải thuật mới có thể tối ưu được. Bạn có thấy giải thuật tuyệt vời chứ ^_^

Ứng dụng bản đồ Google Map


Ví dụ 2:

Quay lại phần mềm quản lý bán hàng mà Sơn đã chia sẻ với Bạn ở lúc đầu, Bạn hãy nhớ lại tính năng nghiệp vụ bán hàng mà Sơn đã chia sẻ nhé: Khi khách hàng muốn mua món đồ thì đầu tiên phải kiểm tra xem nó còn hàng không? Nếu còn hàng thì số lượng có đủ để đáp ứng không? Nếu không thì cáo lỗi còn nếu có thì bán và cập nhật lại số lượng tồn. Vậy thì chương trình sẽ lấy mã món hàng mà khách muốn mua sau đó dò vào trong kho hàng trải qua một danh sách các mã hàng khác nhau (danh sách hàng trong kho) để xem có kiếm thấy hay không? Vấn đề ở đây nếu cửa hàng chỉ có tầm vài chục hay vài trăm sản phẩm trong kho thì chẳng là vấn đề gì trong việc tìm kiếm như vậy cả - loáng cái ra kết quả có tìm thấy hay không ngay thôi vì dữ liệu tìm kiếm ít mà. Nhưng đặt vấn đề nếu như hàng hóa trong kho có cả ngàn sản phẩm hay cả hàng triệu sản phẩm thì chương trình phải chạy tìm kiếm đến bao giờ mới ra kết quả có tìm thấy hay không? Có khi đến sáng mai luôn quá và như thế là thất bại rồi. Vậy cho nên nếu Bạn không học Cấu Trúc Dữ Liệu & Giải Thuật để biết các thuật toán tìm kiếm và tư duy sắp xếp phân bổ hàng hóa trong kho sao cho quá trình tìm kiếm được tối ưu nhất thì Bạn không thể giải quyết được vấn đề này rồi.

Ví dụ 3:

Bạn có biết tới Amazon - Tập đoàn bán hàng thương mại điện tử của Mỹ lớn nhất thế giới hiện nay chứ? Mọi món đồ trong kho của Amazon đều được sắp xếp không theo thứ tự, búp bê đồ chơi có thể được xếp cùng ngăn với bàn chải đánh răng và tiểu thuyết, thế nhưng nó lại là sự đỉnh cao của nghệ thuật lưu trữ thời công nghệ giúp cho nhân viên tiện tay ở đâu thì đặt món đồ vào vị trí đó - không phải đi lại nhiều so với theo nguyên tắc truyền thống phải xếp món đồ đúng vị trí của nó (giống như trong các nhà sách, siêu thị hiện nay đang áp dụng). Việc lấy đồ trong kho mới là thứ đáng đề cập, mỗi đơn hàng của khách sẽ được nạp vào thiết bị cầm tay của nhân viên kho. Hệ thống sẽ tự động xác định cho họ khoảng cách gần nhất giữa những món đồ ngẫu nhiên bên trong nhà kho này để họ hoàn thành "cua lấy đồ" của mình trong khoảng thời gian ngắn nhất. Thời gian lấy đồ ngắn đồng nghĩa với thời gian món hàng tới tay khách ngắn hơn, khách hàng hài lòng hơn. Tất cả là nhờ vào công nghệ ứng dụng và giải thuật là thứ cốt lõi để vận hành (lưu trữ thông tin dữ liệu hàng hóa trong kho – điều phối nhân viên ở gần nhất lấy hàng – chỉ chỗ hàng gần nhất để khi lấy không phải đi xa).

Kho hàng của Amazon khi mà mọi thứ được xếp lung tung, không theo bất kì trình tự hay danh mục nào.

Ví dụ 4:

Tất cả mọi thứ trong thế giới công nghệ ngày nay đều có sự hiện diện của giải thuật ở trong đó cả, chẳng qua là Bạn không để ý đến thôi. Thành ra sau bài chia sẻ này Bạn hãy nhìn lại mọi thứ xung quanh và cảm nhận 1 cách sâu sắc hơn nhé.

Bạn có sử dụng mạng xã hội Facebook không nhỉ? Có 1 tính năng rất thú vị trên Facebook đó là thanh search tìm bạn bè không biết Bạn có để ý đến không? Nếu Bạn cần tìm kiếm bạn bè chỉ cần gõ tên của bạn bè vào dù đúng hay gần đúng thì nó đều đưa ra kết quả chính xác hoặc gợi ý chính xác cho người Bạn muốn tìm trong thời gian tíc tắc rất nhanh. Trong khi đó Bạn hãy tưởng tượng Facebook hiện đang có số lượng người dùng lên đến 2 tỷ người tương đương 1 phần 4 dân số toàn thế giới hiện nay. Vậy làm sao để có thể trong thời gian nhanh nhất đưa ra được kết quả tìm kiếm cho Bạn? Tất cả là nhờ giải thuật được ứng dụng vào. Sơn sẽ phân tích sơ lược cho Bạn hình dung như sau:

Để làm được điều đó thì ngay từ đầu Facebook phải lưu trữ thông tin người dùng một cách hợp lý để việc tìm kiếm được dễ dàng. Đơn giản nhất đó là Bạn tìm kiếm bạn bè bằng tiếng Việt => Facebook sẽ dò tìm trong cụm database (cơ sở dữ liệu) lưu trữ thông tin người dùng Việt Nam. Đây là chiến lược “chia để trị”. Thay vì dồn hết 1 cục 2 tỷ người dùng đủ các quốc gia Việt Nam, Mỹ, Anh, Pháp, Nga vào 1 chỗ thì Facebook chia ra theo từng cụm quốc gia để phạm vi tìm kiếm được giới hạn lại. Khi hành vi người dùng tìm kiếm bạn bè có tên tiếng Việt thì nó chỉ dò tìm vào cục database người dùng Việt Nam và tìm trong này. Dữ liệu cần phải so sánh tìm kiếm vì thế ít hơn đi rất nhiều. Thay vì phải tìm kiếm trong cả tỷ người thì chỉ cần tìm trong vài chục triệu người. Rồi việc tìm kiếm sẽ được rút ngắn hơn nữa dựa theo các mối quan hệ bạn bè – bạn chung. Cả việc tên người dùng được sắp xếp theo thứ tự Alphabet thì việc tìm kiếm sẽ nhanh hơn rất nhiều (giống như tìm bài hát trong danh sách bài karaoke). Bạn có thấy giải thuật thật vi diệu không?




Ví dụ 5: Thuật toán siêu nén của Jan Sloot (Cái này kinh vãi nồi nè)

Thiên tài công nghệ thông tin Romke Jan Bernhard Sloot người Hà Lan đã từng sáng tạo ra thuật toán thu nhỏ dung lượng thông tin vô cùng ảo diệu: Từ 10 GB dữ liệu được nén xuống nhiều nhất chỉ còn 8 KB. Năm 1999, ông đã bảo vệ công trình nghiên cứu của mình trước những “ông trùm” giới công nghệ và thuyết phục họ mua nó. Jan Sloot đã cho trình chiếu 16 bộ phim được chứa đựng trong một con chip 64 KB. Ai nấy cũng không khỏi ngạc nhiên khi có mặt trong sự kiện này và họ cho rằng chắc chắn ông sẽ trở thành tỷ phú từ việc nhượng lại sản phẩm của ý tưởng. Thế nhưng chỉ hai ngày trước khi chuyển giao thuật toán lại cho đối tác, thì Sloot đột ngột qua đời một cách bí ẩn. Người ta đồn đoán rằng, Jan Sloot đã bị đau tim nhưng cũng có thể là bị ám hại để cướp ý tưởng sáng tạo. Chiếc đĩa chứa chìa khóa bí mật về thuật toán nén dữ liệu của ông đã mãi mãi biến mất đã nói lên điều này.



Sai lầm của các bạn sinh viên khi học môn Cấu Trúc Dữ Liệu & Giải Thuật:

Đối với môn học đầy thú vị này nhưng với nhiều Bạn sinh viên Sơn thấy nó như là 1 cực hình vậy đó. Đúng là nó khó hơn so với 2 môn trước đó là Nhập Môn Lập Trình + Kỹ Thuật Lập Trình nhưng bản chất nó là nâng cao lên từ 2 môn kia giúp cho kiến thức của Bạn được hoàn thiện hơn lên 1 tầm cao mới để có thể bước ra hành tẩu giang hồ. Vì thế cho nên nếu như kiến thức của Bạn ở 2 môn trước đó chưa vững chắc thì không mấy gì lạ khi Bạn không học được môn này. Lời khuyên tốt nhất đó là Bạn hãy quay lại học thật chắc 2 môn kia đi nhé rồi mới chiến đến môn này.

Có thể vẫn quay lại vấn đề thiếu sót của trường học đó là không nói rõ giá trị ứng dụng thực tế của những kiến thức được dạy trong phần Cấu Trúc Dữ Liệu & Giải Thuật này dẫn đến các Bạn học không hiểu được nó ứng dụng thực tế như thế nào? Các Bạn được học đủ thứ kiến thức như các thuật toán tìm kiếm – các thuật toán sắp xếp nhưng trong tư duy của các Bạn chỉ biết rằng nó gắn liền với các bài tập trên trường như tìm kiếm 1 số nguyên x xem có nằm trong mảng 1 chiều các số nguyên không? Sắp xếp mảng 1 chiều các số nguyên tăng dần/giảm dần? Các Bạn không hiểu được giá trị ứng dụng trong thực tế của nó: Trong thực tế dữ liệu chúng ta không phải là số nguyên mà nó rất đa dạng - có thể là tìm kiếm món hàng có trong danh sách kho hàng hay không với số lượng sản phẩm trong kho lên đến cả triệu sản phẩm nếu chúng ta không biết mà đi áp dụng cách tìm kiếm như hồi Kỹ Thuật Lập Trình đó là tìm tuần tự từng phần tử thì đến sáng chương trình may ra mới chạy xong. Lúc này chúng ta phải biết cách áp dụng các Thuật Toán Tìm Kiếm để việc tìm kiếm được tối ưu hơn. Các sản phẩm trong kho có thể được sắp xếp theo thứ tự Alphabet để việc tìm kiếm được nhanh chóng hơn (Thuật Toán Sắp Xếp).

Tổng kết:

Bạn nên biết rằng Giải Thuật nó chính là nền móng cơ bản của tất cả các công nghệ đang rất phát triển ngày nay như Trí Tuệ Nhân Tạo (AI), Máy Học (Machine Learning), Vạn Vật Kết Nối Internet (IOT - Internet Of Thing), Phân Tích Xử Lý Dữ Liệu Lớn (Big Data) ... Nếu Bạn đã từng nghe Sơn chia sẻ qua những thứ trên ở phần 2 và cảm thấy hứng thú với nó thì hãy định hướng bản thân đi theo chuyên ngành Khoa Học Máy Tính (Computer Science) Bạn sẽ có cơ hội trải nghiệm hết những thứ trên và việc nắm vững Giải Thuật là yếu tố nền tảng để giúp Bạn làm được điều này.



Có 1 điều rất quan trọng Bạn cần biết như sau: Trong bối cảnh hiện nay CNTT phát triển với rất nhiều ngôn ngữ/công nghệ hỗ trợ, bất kỳ ai chỉ cần siêng năng chịu khó là có thể học và viết ra những đoạn mã code tạo thành chương trình thì thước đo để phân loại ra giữa Lập Trình Viên Giỏi & Lập Trình Viên Bình Thường đó chính là ở Cấu Trúc Dữ Liệu & Giải Thuật - khi ai học cũng có thể viết code ra những chương trình phần mềm bình thường nhưng để tối ưu được nó thì lại là 1 vấn đề ở tầm mức cao hơn và tiền (cơ hội) kiếm được nhiều hơn nhau cũng là ở chỗ này đấy.

Và cũng trong bối cảnh CNTT phát triển mạnh mẽ với nhiều ngôn ngữ/công nghệ như hiện nay thì Thuật Toán đã tách biệt hẳn sang 1 bên không xô bồ trong cuộc chạy đua này. Bạn hãy tưởng tượng các thứ ngôn ngữ/công nghệ nó là phần nổi của tảng băng trên đại dương CNTT thì phần chìm của tảng băng đó chính là Thuật Toán. Lúc nào cũng có mặt nó ẩn bên dưới các ngôn ngữ/công nghệ để bổ trợ giúp các sản phẩm được hoàn thiện hơn. Hãy ghi nhớ câu này: “Ngôn ngữ là nhất thời – Thuật toán là mãi mãi”.

Phần nổi của tảng băng tượng trưng là các công nghệ như Web, Mobile ... Còn phần chìm tượng trưng là Thuật Toán

Cơ hội dành cho các Bạn đam mê thuật toán:

Chúng ta đang đứng trước cuộc cách mạng công nghiệp 4.0 – Thời điểm mà công nghệ bùng nổ mạnh mẽ đặc biệt là các công nghệ liên quan đến Robot - Tự Động Hóa như Trí Tuệ Nhân Tạo (AI), Máy Học (Machine Learning), Vạn Vật Kết Nối Internet (IOT - Internet Of Thing), Phân Tích Xử Lý Dữ Liệu Lớn (Big Data) … Đây là sân chơi lớn mở ra nhiều cơ hội phát triển sự nghiệp dành cho những Bạn đam mê thuật toán & khoa học công nghệ.

Nếu Bạn đam mê với hướng đi Lập Trình Viên và có tham vọng vào các công ty công nghệ hàng đầu thế giới như Facebook, Google, Microsoft … thì chắc chắn kiến thức Thuật Toán của Bạn phải rất tốt để có thể ứng tuyển vào được. Và thường các công ty này họ sẽ tuyển chọn từ những thí sinh có thành tích cao trong các kỳ thi lập trình quốc tế (ACM/ICPC). Để có thể tham dự vào kỳ thi này thì Bạn sẽ phải thi đấu qua từng vòng loại từ các giải đấu trường đến giải đấu thành phố rồi đến quốc gia sau đó mới đại diện quốc gia để thi đấu giải quốc tế. Và tất nhiên giá trị mang lại là rất lớn nếu Bạn đạt thành tích giải thuật tốt không cần đến mức các công ty lớn dòm ngó – chỉ cần Bạn ở 1 mức nhất định là bao nhiêu công ty CNTT (cũng thuộc hàng có số má) mở rộng cửa hoan nghênh Bạn gia nhập vì số lượng người học CNTT mà có kiến thức tốt về thuật toán đang rất khan hiếm.
  •  Thần Đồng Thuật Toán hiện tại của Thế Giới đang thuộc về Tourist sinh năm 1994 (Nick name thôi nhé tên thật thì khác) được xem là huyền thoại của làng Lập Trình Thế Giới với rất nhiều thành tích phi thường được xem là người ngoài hành tinh – các kỹ sư hàng đầu của Google cũng rất khiếp sợ trước anh bạn trẻ này. Nếu Bạn tò mò hãy xem thêm thông tin tại đây: https://vnexpress.net/tin-tuc/giao-duc/cong-dan-so/9x-kiem-bon-tien-nho-thi-lap-trinh-3408119.html
Gennady Korotkevich (Tourist) người ngoài hành tinh trong giới Thuật Toán

Rồi Sơn kết thúc phần chia sẻ về Cấu Trúc Dữ Liệu & Giải Thuật nhé. Hi vọng qua phần chia sẻ ở trên sẽ giúp Bạn hình dung được rõ ràng tầm quan trọng và những cơ hội rộng mở khi Bạn học tốt môn này để từ đó Bạn thêm quyết tâm động lực và bứt phá thành công Bạn nhé!

Lập Tình Hướng Đối Tượng:

Bạn phải đảm bảo nắm thật chắc kiến thức của 3 môn trước đó (Nhập Môn Lập Trình – Kỹ Thuật Lập Trình – Cấu Trúc Dữ Liệu & Giải Thuật) thì mới có thể lĩnh hội được môn cuối cùng trong tứ trụ này. Lập Trình Hướng Đối Tượng: Đây là 1 Phong Cách Lập Trình hiện nay đang được cả thế giới Lập Trình ứng dụng như 1 tiêu chuẩn ràng buộc để xây dựng ra các phần mềm ứng dụng, hệ thống lớn. Nhờ vào nó mà việc xây dựng được tiện lợi dễ dàng nhanh chóng do có các tính chất đặc biệt hỗ trợ, tránh các lỗi dễ xảy ra, dễ dàng nâng cấp phát triển về sau đặc biệt là khi làm việc nhóm (nhiều người cùng xây dựng tính năng cho 1 hệ thống). Đây là môn học tiên quyết làm nền tảng cho việc Bạn xác định đi theo con đường Lập Trình Ứng Dụng. Tất cả các hướng đi lập trình ứng dụng thực tế như Phần Mềm Máy Tính, Website, Mobile, Game … tất cả đều được áp dụng trên nền tảng Lập Trình Hướng Đối Tượng.

Ví dụ cho Bạn dễ hình dung như sau: Lúc trước khi học đến môn Lập Trình Hướng Đối Tượng này thì Bạn đã học qua 3 môn nền tảng trước đó (Nhập Môn Lập Trình + Kỹ Thuật Lập Trình + Cấu Trúc Dữ Liệu & Giải Thuật). Ở 3 môn nền tảng này ví như nếu Bạn muốn xây ra 1 căn nhà thì chính Bạn sẽ lên kế hoạch từng thứ phải làm từ việc vẽ sơ đồ thiết kế nhà, lên kế hoạch vật tư phải mua, tiến hành mua vật tư, sau đó xây từng thứ từ nền móng cho đến đổ gạch, xây tường, xây trần, xây hàng rào … Nói chung tự Bạn sẽ quản lý các công việc dồn hết cho 1 mình Bạn. Còn với Lập Trình Hướng Đối Tượng thì ở đây Bạn sẽ biết chia ra theo đối tượng và chỉ quản lý đối tượng đó. Bạn sẽ đi tìm 1 ông kiến trúc sư để thiết kế và Bạn chỉ làm việc mảng thiết kế với ông này, sau đó Bạn sẽ đi tìm ông thầu xây dựng để từ đó đưa ra yêu cầu của Bạn. Ông thầu xây dựng tiếp tục đi kiếm các ông thợ để xây, các thợ ở đây lại được phân ra theo thợ xây tường, thợ trần nhà, thợ cổng rào … Cuối cùng Bạn chỉ làm việc đó là quản lý các đối tượng chủ chốt (kiến trúc sư – thầu xây dựng) – còn tùy theo đối tượng sẽ có nhiệm vụ công việc riêng của họ và sẽ quản lý cả các đối tượng dưới cấp của họ. Bạn quản lý theo mô hình đối tượng như vậy khiến Bạn rõ ràng hơn trong việc quản lý tiến độ tình hình và tránh các sai sót xung đột xảy ra. 

Lập trình phần mềm ứng dụng hệ thống trong thực tế cũng tương tự như ví dụ xây nhà trên. Bản thân 1 phần mềm lớn sẽ bao gồm trong đó rất nhiều những chức năng nhỏ thuộc các khâu khác nhau. Ví dụ Bạn muốn xây dựng ra 1 phần mềm quản lý bán hàng nó sẽ có rất nhiều tính năng nghiệp vụ ở bên trong bao gồm các khâu: Bán hàng, quản lý bán hàng, quản lý nhân viên, quản lý khách hàng, quản lý kho hàng … Bên trong mỗi khâu sẽ phải làm nhiều chức năng tương ứng ở bên trong ví dụ như khâu bán hàng phải hiển thị các sản phẩm lên cho khách hàng chọn, rồi kiểm tra xem sản phẩm đó có số lượng đáp ứng được để bán không? Rồi nhân viên nào là người bán phải lưu thông tin đơn hàng lại, lưu thông tin khách mua hàng lại, cập nhật lại số lượng tồn trong kho … Bạn sẽ không thể dồn hết tất cả lại mà xây dựng ra nó sẽ rất là rối rắm. Bạn phải biết phân chia ra thành các đối tượng và mỗi đối tượng sẽ đảm nhiệm công việc cụ thể rõ ràng. Bạn sẽ tạo ra các đối tượng bao gồm: Nhân Viên, Kho Hàng, Khách Hàng, Quản Lý rồi mỗi đối tượng sẽ có những chức năng riêng của nó. Ví dụ Nhân Viên sẽ quản lý chức năng bán hàng, Kho Hàng sẽ quản lý chức năng nhập hàng về & xuất hàng đi. Khách Hàng sẽ có chức năng như lọc danh sách khách mua hàng trong tháng qua, gửi Email chăm sóc … để khi xây dựng có bị lỗi ở 1 tính năng bất kỳ nào trong hệ thống thì chúng ta truy theo đối tượng quản lý chức năng đó là dễ dàng khắc phục được, cũng như sau này muốn nâng cấp thêm tính năng mới cho hệ thống thì chỉ cần xét tính năng đó thuộc về đối tượng nào vào đúng đối tượng đó code thêm là xong, cũng như làm việc nhóm để xây dựng ra hệ thống thì mỗi người Lập Trình Viên sẽ đảm nhận xây dựng chức năng cho riêng nhóm đối tượng nào đó (Ví dụ người A sẽ nhận xây dựng chức năng cho đối tượng Nhân Viên, người B sẽ nhận xây dựng chức năng cho đối tượng Khách Hàng). 

Bạn có thấy mọi thứ đều được quản lý chặt chẽ hơn nhờ vào Lập Trình Hướng Đối Tượng chứ? Giúp chúng ta không bị rối loạn chức năng dù hệ thống lớn đến mấy vì đã phân chia ra thành các đối tượng quản lý. Hơn thế nữa với các tính chất sẵn có của Hướng Đối Tượng (Kế Thừa, Đa Hình) giúp chúng ta có thể tận dụng lại code không phải viết nhiều lần nếu giữa 2 đối tượng đều có hành vi chức năng giống nhau (Ví dụ đối tượng Nhân Viên & đối tượng Quản Lý đều có 1 hành vi chức năng giống nhau là nhận lương) thì chúng ta chỉ xây dựng chức năng đó 1 lần và tận dụng lại sẽ khiến chương trình gọn gàng dễ quản lý. Thậm chí trong Lập Trình Hướng Đối Tượng chúng ta còn có các khái niệm “Mẫu Thiết Kế Hướng Đối Tượng (Design Pattern)” giúp cho việc xây dựng ra phần mềm ứng dụng được đẩy nhanh hơn và tránh gặp các lỗi nhờ vận dụng theo một số mẫu mô hình Hướng Đối Tượng (giống như việc xây nhà sẽ nhanh hơn nếu có sẵn các bản mẫu tham khảo vậy đó).

Tất cả những lý do trên đã khiến Bạn hình dung ra được tầm quan trọng của môn học này trong sự nghiệp tương lai của Bạn rồi chứ? Hướng Đối Tượng cũng là kiến thức thường xuyên được phỏng vấn đầu vào trong các vị trí tuyển dụng Lập Trình Viên bất kể là mảng gì. Bạn hãy có sự đầu tư chuẩn bị kiến thức thật tốt để không bỏ qua các cơ hội trong tương lai Bạn nhé.

Mối liên hệ giữa môn thứ 4 (Lập Trình Hướng Đối Tượng) và 3 môn đầu tiên (Nhập Môn Lập Trình – Kỹ Thuật Lập Trình – Cấu Trúc Dữ Liệu & Giải Thuật):

Phần này rất quan trọng nhé, hiểu được mối liên hệ sâu sắc của các môn sẽ giúp Bạn có sự chuẩn bị tiếp nhận kiến thức được tốt hơn.

Từ ban đầu Bạn chưa có kiến thức gì về lập trình thông qua 3 môn đầu tiên (Nhập Môn Lập Trình – Kỹ Thuật Lập Trình – Cấu Trúc Dữ Liệu & Giải Thuật) giúp Bạn đi từ giai đoạn từ chưa biết gì coi như 1 chú nai vàng ngơ ngác đến việc biết lập trình những thứ cơ bản hình thành ra được Tư Duy Lập Trình đến giai đoạn thuần thục có thể giải quyết cho hầu hết mọi vấn đề gặp phải kể cả trong phần mềm ứng dụng thực tế rồi cuối cùng đến giai đoạn hoàn thiện tất cả các kiến thức – tư duy – kỹ thuật đó một cách tối ưu nhất. Có thể xem là từ tay trắng gầy dựng ra cả cơ đồ.

Thông qua môn thứ 4 (Lập Trình Hướng Đối Tượng) giúp Bạn hòa nhập vào phong cách lập trình hiện nay mà thế giới đang ứng dụng để chuẩn bị cho con đường đi tương lai sắp tới của Bạn.

Nếu như nói 3 môn đầu tiên giúp Bạn luyện thành kiến thức như một thanh đao sắc bén thì môn thứ 4 này như là vỏ đao giúp bọc lại thanh đao kiến thức ấy.

Tuy nhiên Bạn hãy lưu ý rằng nếu thanh đao không có thì có vỏ đao cũng không ích gì nhé. Tức là bản chất Bạn hãy hiểu rằng Hướng Đối Tượng chỉ là phong cách áp dụng vào thôi, còn cốt lõi chính là những đoạn code do chính Bạn viết ra bên trong – và Bạn viết ra được những đoạn code đó là nhờ vào 3 môn đầu tiên giúp Bạn làm được điều ấy. Hãy hiểu rõ điều này Bạn nhé!

Tổng kết:

Vậy là qua bài chia sẻ Phần 3: Con đường khởi đầu với ngành CNTT này Sơn đã giúp Bạn hiểu rõ về ngành CNTT với các chuyên ngành ở bên trong – hiểu rõ về các hướng đi của Lập Trình - hiểu rõ được tầm quan trọng của 4 môn tứ trụ nền tảng của cả ngành CNTT và chi tiết trong từng môn sẽ học gì và làm được những gì rồi nhé. Điều quan trọng hơn nữa đó là Sơn còn phân tích sâu vào những lối học sai lầm của các Bạn sinh viên – của trường học khiến các Bạn học mà không hiểu rõ những kiến thức đó tầm quan trọng ứng dụng thực tế như thế nào để từ đó Bạn biết mà tránh và tạo lập cho mình một cách học tốt hơn để gặt hái thành công!

Sơn có 1 lời khuyên chân thành đến với Bạn đó là ngoại trừ tất cả những chia sẻ của Sơn ở trên về ngành nghề trong suốt Phần 3 này và cả 2 phần trước đó cũng khá đầy đủ chi tiết nhưng có 1 thứ Sơn không thể truyền tải được đến với Bạn chỉ qua những dòng chữ viết này đó chính là TRUYỀN TẢI ĐAM MÊ CẢM XÚC. Đam mê cảm xúc về cái hay của ngành nghề CNTT này và những cơ hội mang lại. Và tất cả những lời khuyên chân thành để giúp Bạn có thể học tốt được trong ngành này Sơn cũng chưa thể viết ra hết trong bài này được. Vì thế Sơn rất mong Bạn dành thời gian xem qua 4 video live stream của Sơn về chủ đề “Những sai lầm và Cách học lập trình đạt hiệu quả” do Sơn tâm huyết chia sẻ thời gian qua. Chỉ 12 tiếng đồng hồ cho tất cả nhưng Sơn tin nó sẽ giúp ích cho Bạn rất nhiều trong suốt cuộc hành trình tương lai của Bạn. Để ra được 12 tiếng chia sẻ đó Sơn đã mất hết 3 tuần để chuẩn bị mọi thứ (mỗi tuần 1 buổi live stream), vậy nên mong Bạn trân quý công sức tâm huyết của Sơn đã dành ra mà cố gắng xem thật kỹ càng nhé!




5/ LỜI KHUYÊN RÚT NGẮN THỜI GIAN SỚM ĐẠT THÀNH CÔNG TRONG CÁC KHÓA ĐÀO TẠO LẬP TRÌNH VỚI SƠN

Từ đầu chuỗi bài chia sẻ từ phần 1 đến giờ viết mỏi cả tay lắm rồi Bạn thương tình cho phép Sơn quảng cáo 1 chút ở khúc cuối này nha, ráng đọc tiếp Bạn nhé. 

Nếu Bạn đã theo dõi xuyên suốt chuỗi bài chia sẻ 3 phần của Sơn về ngành CNTT này kèm các video live stream chia sẻ thì chắc rằng Bạn cũng đã có được cảm nhận đánh giá sơ lược về Sơn (về con người, tính cách, kiến thức …). Hi vọng rằng có thứ gì đó khiến Bạn có thể an tâm tin tưởng mà nghe Sơn giới thiệu qua về những khóa đào tạo lập trình tâm huyết này của Sơn. Nếu Bạn có nhu cầu học thì ước mong của Sơn đó là có thể giúp được Bạn đạt đến những thành công trong ngành này vì Sơn muốn rằng mình có trách nhiệm với Bạn hơn nữa sau tất cả những chia sẻ định hướng. Nếu Bạn không có nhu cầu học nhưng Bạn cảm thấy mến Sơn muốn đóng góp cho Sơn được điều gì đó thì Sơn mong Bạn hãy chia sẻ những bài viết giá trị này đến với những người anh - người em - người bạn của Bạn mà Bạn tin rằng họ cần đọc nó Bạn nhé. Chỉ như thế thôi là Sơn vui lắm rồi. Cảm ơn Bạn!

Vậy thì Bạn đã hiểu qua tầm quan trọng của 4 môn tứ trụ nền tảng ngành CNTT nhé. Để lĩnh hội hết được 4 môn đó với 1 sinh viên chính quy ngành CNTT phải mất 2 năm trời (mỗi môn học trong 1 học kỳ là nửa năm). Lĩnh hội chứ còn có chuyên sâu được hay không thì nó tùy vào cách học của Bạn và cách dạy của giảng viên (chiếu theo những điều sai lầm khi học và những điều trường học làm không tốt mà Sơn đã chia sẻ ở trên). Sau đó bước vào năm 3 Bạn mới chính thức học những môn Lập Trình Ứng Dụng (Web, Mobile, Ứng Dụng Máy Tính …) kèm theo các môn quan trọng khác (như Cơ Sở Dữ Liệu, Phân Tích Thiết Kế Hệ Thống …) để sau 4 năm ra trường Bạn mới đủ kiến thức nền tảng cơ bản đi thực tập/làm việc.

Bạn có tự thấy rằng như thế là quá lâu không? Với Sơn thì điều đó là quá lâu. Vì ngày xưa lúc Sơn bước chân vào học năm 1 là Mẹ của Sơn đã 59 tuổi rồi (do Sơn là con út trong nhà). Sơn tự ý thức được tốc độ thành công của Sơn nhất định phải vượt qua được tốc độ già đi của Mẹ. Và sau thời gian dài cố gắng nỗ lực hết sức mình Sơn đã làm được điều đó. Sơn đã có công việc ổn định trong chuyên ngành và 1 tay lo lắng cho Mẹ, cho Anh/Chị (nếu Bạn đã từng nghe qua video live stream Sơn chia sẻ kể về cuộc đời Sơn sẽ biết điều này). Còn Bạn thì sao? Hãy nghĩ về Ba Mẹ của Bạn ở hiện tại đang rất mong chờ sự thành công của Bạn. Hãy nghĩ đến niềm vui của Ba Mẹ khi Bạn lãnh tháng lương đầu tiên mua cho Ba Mẹ hộp sữa. Bạn hãy nhớ rằng: Tuổi già của Ba Mẹ không có chờ đợi được sự thành công của Bạn đâu. Vì thế … hãy cố gắng nỗ lực hết sức mình sớm đạt được sự thành công Bạn nhé!

Hình ảnh Mẹ già một đời khổ cực

Vậy Bạn có muốn rút ngắn lộ trình sớm đạt được đến thành công chứ? Việc rút ngắn lộ trình ở đây nghĩa là Sơn đảm bảo sẽ giúp Bạn có được kiến thức trong thời gian ngắn hơn so với con đường Bạn sẽ đi qua còn ranh giới đạt đến thành công nó tùy thuộc phần lớn vào chính bản thân Bạn với sự nỗ lực cố gắng của Bạn từng ngày.

Sơn tự tin rằng với các khóa đào tạo chuyên sâu về CNTT Lập Trình của Sơn sẽ giúp Bạn rút ngắn thời gian sớm có kiến thức đầy đủ và chuyên sâu một cách tốt nhất và gặt hái thành công nhanh hơn so với con đường ngồi chờ trường học dạy hoặc tự học. Sơn dám khẳng định tự tin như thế vì đã có nhiều học viên của Sơn làm được – có nhiều em tìm đến Sơn khi đó là sinh viên năm 2, năm 3 và mất hết kiến thức nền tảng nhưng chỉ 1 năm sau đã lấy lại hết toàn bộ kiến thức và đi làm trong các công ty nước ngoài khi là sinh viên năm 3, năm 4 – vấn đề do các em ấy bắt đầu trễ thôi chứ nếu năm 1 mà đã biết tìm đến Sơn đầu tư cho bản thân mình thì Sơn tin thành quả gặt hái được còn cao hơn nữa.

Sơn rất vui khi được giới thiệu với Bạn về các Khóa Học Lập Trình Online Qua Video của Sơn đang có hiện nay đã giúp ích cho hơn 1000 anh em học viên trên khắp cả nước và các Bạn du học sinh quốc tế. Hiện tại Sơn có 5 khóa học lập trình sau đây bao gồm:


Giới thiệu về khóa Kỹ Thuật Lập Trình:

Trong đó khóa Kỹ Thuật Lập Trình với lượng kiến thức tương đương 3 môn đầu tiên trong tứ trụ của ngành CNTT bao gồm: Nhập Môn Lập Trình + Kỹ Thuật Lập Trình + Cấu Trúc Dữ Liệu & Giải Thuật. Nói như vậy là Bạn đã hiểu được khóa Kỹ Thuật Lập Trình của Sơn Bạn sẽ học những gì ở bên trong và tầm quan trọng ứng dụng thực tế như thế nào rồi đúng không? Vì chi tiết từng môn Sơn đã có phân tích rõ ràng cụ thể ở trên. Đây là khóa dành cho những Bạn mới khởi đầu theo ngành CNTT hoặc những Bạn bị mất nền tảng căn bản đều cần bắt đầu từ khóa này - đây là khóa đặt nền móng cho cả ngành CNTT.

Khóa học Kỹ Thuật Lập Trình là khóa học nền tảng đầu tiên rất quan trọng và cần thiết đối với tất cả những ai mới khởi đầu theo ngành CNTT. Khóa học cung cấp kiến thức phân bổ theo 3 giai đoạn: Nhập Môn Lập Trình - Kỹ Thuật Lập Trình - Cấu Trúc Dữ Liệu & Giải Thuật. 
  •  Giai đoạn Nhập Môn Lập Trình: Từ 1 người ban đầu chưa biết gì về lập trình thì sẽ biết lập trình là gì và biết cách giải quyết các vấn đề cơ bản bằng lập trình. Ở giai đoạn này người học được hình thành TƯ DUY LẬP TRÌNH ở mức độ căn bản. Tư duy lập trình hiểu đơn giản là gặp vấn đề và biết cách giải quyết thành công.

  •  Giai đoạn Kỹ Thuật Lập Trình: Nâng cao hơn từ Nhập Môn Lập Trình, người học được tiếp cận với những kỹ thuật xử lý trong lập trình để ứng dụng giải quyết đa dạng các vấn đề tình huống kể cả trong phần mềm ứng dụng thực tế. Ở giai đoạn này người học được rèn luyện TƯ DUY LẬP TRÌNH ở mức độ nâng cao.

  •  Giai đoạn Cấu Trúc Dữ Liệu & Giải Thuật: Ở giai đoạn này TƯ DUY LẬP TRÌNH được nâng lên đến mức tối đa - giải quyết ra được vấn đề chỉ là điều kiện cần - vấn đề được giải quyết theo cách "tối ưu" nhất mới là điều kiện đủ. Người học sẽ được học các thuật toán và các mô hình dữ liệu có giá trị ứng dụng thực tế giúp tối ưu Tốc Độ Xử Lý & Bộ Nhớ Chiếm Dụng của phần mềm/hệ thống.

Lượng kiến thức trong khóa nếu so sánh với trên trường thì nó tương đương 3 môn đầu tiên trong tứ trụ tức là tương đương 1,5 năm đầu tiên (3 học kỳ) và tất nhiên Sơn đảm bảo với Bạn một điều rằng nó sẽ được chất lượng hơn so với cũng mặt bằng chung kiến thức đó trên trường Bạn được học. Tại sao Sơn dám khẳng định chắc chắn như vậy? Bởi vì Sơn đã phân tích rất kỹ càng và rõ ràng cho các Bạn thấy những điều trường học – giảng viên làm không tốt thì không lẽ chính bản thân Sơn lại bị vướng vào giống như vậy sao? Và nếu Sơn chỉ dạy giống như những gì trên trường cũng có dạy (về mặt kiến thức – phong cách) thì các Bạn học trên trường cần gì học với Sơn? Nếu giống nhau như vậy thì trên trường mà Bạn học không hiểu thì với Sơn Bạn cũng không hiểu được đâu.

Đối với Sơn thì mọi kiến thức đều phải có giá trị thực tế và đây chính là điểm khác biệt ngay từ các khóa học lập trình nền tảng của Sơn. Phương châm của khóa học luôn hướng mọi thứ đến thực tế từ những bài học lý thuyết nền tảng. Luôn gợi mở tư duy của người học bằng việc vận dụng những kiến thức xây dựng ra đủ thể loại từ Phần Mềm Ứng Dụng đến Game - điều này mang lại ý nghĩa với người học trong việc định hướng tương lai ngành nghề do đã có được trải nghiệm.

Một điều quan trọng khi đồng hành với Sơn trong khóa học là Bạn đã đi nhanh hơn được trường học ít nhất là 1 năm. Lấy ngay ví dụ về chính khóa Kỹ Thuật Lập Trình này nếu mỗi ngày chỉ cần Bạn dành ra 3 tiếng ngồi học thì chỉ trong vòng 5 tháng Bạn sẽ lĩnh hội hết được toàn bộ kiến thức có trong khóa và thực sự chuyên sâu do còn có cả thời gian để thực hành – điều này nếu so với trên trường thì Bạn phải mất 3 học kỳ tương đương 1,5 năm. Lý do bởi vì trường học mỗi tuần chỉ dạy 1 buổi lý thuyết và 1 buổi thực hành – Bạn phải đi theo tiến độ của trường còn với khóa của Sơn Bạn sẽ học qua những video bài giảng đã được quay sẵn chứ cũng không phải học trực tiếp với Sơn và các video bài học Sơn cung cấp hết tất cả ngay từ đầu khi Bạn đăng ký vào khóa nên việc của Bạn chỉ là học cho hết đống video đó như xem phim bộ dài tập vậy. Bạn hoàn toàn học theo tiến độ lộ trình Bạn mong muốn chứ không cần chờ đợi ai cả, hôm nào Bạn thích có thể học 15 tiếng, hôm nào Bạn bận có thể học 2, 3 tiếng cũng được.

Cụ thể khóa học đang có 300 giờ video bài học nếu mỗi ngày Bạn học 3 tiếng => cần 100 ngày (3 tháng rưỡi) để học xong (chỉ là để xem video) và tất nhiên Bạn cần ngần ấy thời gian tương đương để thực hành làm bài tập => Tổng cộng gần 200 ngày ~ 7 tháng. Tất nhiên thời gian của Bạn có thể rút ngắn lại bằng cách đẩy nhiều thời gian học mỗi ngày lên. Ví dụ Bạn muốn rút xuống chỉ còn trong 3,5 tháng thì Bạn tăng gấp đôi thời gian học lên thành 6 tiếng/ngày. Nếu Bạn muốn rút xuống chỉ còn 2 tháng thì Bạn tăng gấp ba thời gian học lên thành 9 tiếng/ngày. Đỉnh điểm có học viên của Sơn đã từng hoàn thành khóa chỉ trong duy nhất 1 tháng với thời lượng học 12 tiếng/ngày đều đặn. Bạn có muốn thử thách không?

Tìm hiểu về khóa Kỹ Thuật Lập Trình của Sơn: https://vietnamson.com/khuyenmai#information-ktlt

Giới thiệu về khóa Lập Trình Hướng Đối Tượng:


Lập Trình Hướng Đối Tượng – đây là môn học cuối cùng trong tứ trụ rất quan trọng mà ở trên Sơn đã có phân tích rõ cho Bạn hiểu rồi nhé. Vì tính chất đặc trưng là 1 phong cách lập trình (hay gọi là công nghệ lập trình cũng được) vẫn dựa trên cốt lõi từ 3 môn nền tảng trước đó mà phát triển lên nên Sơn buộc phải tách riêng nó ra thành 1 khóa riêng gọi là khóa Lập Trình Hướng Đối Tượng.

Trong khóa học Lập Trình Hướng Đối Tượng ngoại trừ dạy kiến thức chính về Hướng Đối Tượng với ngôn ngữ C++ thì Sơn còn cho các Bạn làm quen với việc kết hợp Hướng Đối Tượng vào lập trình ra các phần mềm ứng dụng thực tế và Sơn chọn ngôn ngữ C# để cho các Bạn tiếp cận.

Kiến thức về xây dựng phần mềm ứng dụng trong khóa Lập Trình Hướng Đối Tượng này tất nhiên sẽ không đi chuyên sâu bằng khóa Lập Trình Ứng Dụng C# nhưng các Bạn phải trải qua trước Lập Trình Hướng Đối Tượng thì kiến thức mới vững chắc để có thể đi lên các nền tảng lập trình ứng dụng khác như: Phần Mềm, Website, Mobile, Game.

Tuy nói không chuyên sâu nhưng thông qua những kiến thức Sơn chia sẻ trong khóa Bạn cũng có thể làm ra được rất nhiều thứ đấy nhé. Có học viên sau khóa học với kiến thức về Hướng Đối Tượng kết hợp kiến thức cơ bản về C# ứng dụng được dạy trong khóa đã tự xây dựng thành công ra phần mềm quản lý bán hàng cho đồ án phần mềm ứng dụng c# trên trường với đầy đủ chức năng nghiệp vụ thực tế.

Tìm hiểu về khóa Lập Trình Hướng Đối Tượng của Sơn: https://vietnamson.com/khuyenmai#information-lthdt

Giới thiệu về khóa Lập Trình Ứng Dụng C#:


Khóa học Lập Trình Ứng Dụng C# (Ứng Dụng Máy Tính - Desktop) giúp người học có thể tự tay xây dựng ra các phần mềm ứng dụng trên nền tảng máy tính tiêu biểu như các phần mềm quản lý, phần mềm bán hàng hoặc bất kỳ phần mềm ứng dụng nào để phục vụ cho nhu cầu công việc. Đây cũng thường là môn học Lập Trình Ứng Dụng mà các Bạn sinh viên phải trải qua ở trên trường vào năm 3, năm 4 như sự khởi đầu nền tảng cho hướng đi Lập Trình Ứng Dụng.

Năm 2017 đánh dấu bước phát triển đột phá của Microsoft khi ngôn ngữ C# khi chính thức leo lên top 5 ngôn ngữ lập trình phổ biến nhờ sự đột phá với .Net Core giờ đây ứng dụng được viết ra bằng C# có thể chạy đa nền tảng hệ điều hành không chỉ còn với mỗi hệ điều hành Windows như lúc trước. Thậm chí mới đây nhất hệ quản trị cơ sở dữ liệu SQL Server của Microsoft trước giờ vốn chỉ sinh ra dành riêng cho Windows giờ đây đã chính thức có phiên bản đầu tiên trên Linux đánh dấu sự mở cửa rất lớn từ Microsoft với cộng đồng. Nhu cầu tuyển dụng Lập Trình Viên C#.NET với các công việc hiện tại đang rất đa dạng và hứa hẹn nhiều cơ hội tốt cho những Bạn quyết tâm theo đuổi công nghệ này.

Sơn vẫn luôn khuyên các Bạn có thể chọn C# (Ứng Dụng Máy Tính - Desktop) làm nền tảng để mở đường cho các hướng đi lập trình ứng dụng sau này ở bất kỳ các mảng nào khác hiện nay như Website, Mobile, Game ... bởi vì 3 lý do sau:

1/ C# (Ứng Dụng Máy Tính - Desktop) cũng như các mảng lập trình khác (Website, Mobile, Game) đều có những điểm tương đồng nhau trong việc xây dựng ra các phần mềm ứng dụng hệ thống như thiết kế giao diện, cơ sở dữ liệu, mô hình server client ... Nếu Bạn đã làm ra được 1 phần mềm ứng dụng hệ thống hoàn chỉnh trên C# thì qua những mảng lập trình kia Bạn hoàn toàn có thể làm ra tương tự việc đấy không mấy gì khó khăn - Bạn chỉ việc tiếp cận công nghệ ngôn ngữ còn lại mọi thứ tư duy xây dựng đều như nhau.

2/ Việc khởi đầu với Lập Trình C# (Ứng Dụng Máy Tính - Desktop) sẽ giúp Bạn dễ dàng tiếp cận hơn so với các mảng lập trình khác (Website, Mobile, Game) vì đều cùng trên nền tảng máy tính với IDE quen thuộc: Visual Studio - điều này khá quen thuộc với các Bạn do đã được làm quen từ những môn lập trình căn bản với ngôn ngữ C/C++ (cũng là làm trên nền tảng máy tính với IDE: Visual Studio). Bạn sẽ được đi từ kiến thức cơ bản trên nền tảng máy tính đến kiến thức ứng dụng vẫn trên nền tảng máy tính rồi sau đó mới tiếp tục phát triển lên kiến thức ứng dụng ở các nền tảng khác.

3/ Microsoft xây dựng ra cả 1 hệ sinh thái xoay quanh các công nghệ của mình để bổ trợ lẫn nhau: Từ C# (Ứng Dụng Máy Tính - Desktop) sau khi Bạn đã nắm vững được toàn bộ kiến thức Bạn sẽ có cơ hội tiến sang các mảng lập trình khác theo đúng nhu cầu mong muốn của Bạn một cách dễ dàng như sau:
  •  Từ C# Bạn có thể phát triển theo mảng Lập Trình Web với ASP.NET (của Microsoft)

  •  Từ C# Bạn có thể phát triển theo mảng Lập Trình Mobile nhờ kết hợp với công nghệ Xamarin (của Microsoft) chỉ cần viết code đúng 1 lần để có thể tạo ra các ứng dụng Mobile chạy đa nền tảng Android, iOS. Điều này nếu muốn làm được bên Mobile Bạn phải học và làm riêng cho từng nền tảng: Mobile Android, Mobile iOS.

  •  Từ C# Bạn có thể phát triển theo mảng Lập Trình Game với Engine Unity 2d/3d nền tảng gốc là từ C#

Khóa học Lập Trình Ứng Dụng C# được Sơn thiết kế giáo trình bài giảng luôn hướng mọi thứ đến thực tế ứng dụng từ những kiến thức nền tảng căn bản nhất chứ không phải chỉ là những ví dụ demo cho nhanh không mang giá trị thực tế. Qua đó giúp cho các Bạn học viên có cảm hứng động lực hơn trong việc học và mở đường cho nhiều ý tưởng sáng tạo.

Ví dụ như mới khởi đầu vào khóa chỉ sau vài giờ làm quen qua các Control căn bản là các Bạn học viên đã được trải nghiệm xây dựng các Game/Phần Mềm Ứng Dụng thực tế như: Ứng Dụng Tạo Form Đăng Nhập, Ứng Dụng Tạo Form Đăng Ký Tài Khoản, Ứng Dụng Xếp Loại Học Sinh,  Game Đuổi Hình Bắt Chữ, Game Ai Là Triệu Phú, Ứng Dụng Tính Tiền Khách Sạn, Game Show Thi Trắc Nghiệm Ngắm Ảnh Gái, Game Đua Xe SpeedKing, Game FlappyBird …

Tìm hiểu về khóa Lập Trình Ứng Dụng C# của Sơn: https://vietnamson.com/khuyenmai#information-csharp

Giới thiệu về khóa Lập Trình Game Đa Nền Tảng Với Engine Cocos2d-x:


Khóa học Lập Trình Game Đa Nền Tảng Với Engine Cocos2d-x của giảng viên - Anh: Trần Trung Hiếu (hiện đang giữ chức vụ Senior Developer của công ty GameLoft - một công ty Game lớn trên thị trường làm Game hiện nay chắc không xa lạ gì với các Bạn với các tựa game nổi tiếng như Asphalt 8, Age of Sparta ...).

Khóa học Lập Trình Game Đa Nền Tảng này là khóa học đặc biệt nhất trên thị trường hiện nay bởi vì ngoài việc trọng tâm vào vấn đề tạo ra SẢN PHẨM THỰC TẾ thì giảng viên quan tâm nhất chính là TƯ DUY - ĐỊNH HƯỚNG để có thể tạo ra cho học viên con đường tự nghiên cứu lâu dài nếu xác định theo đuổi đam mê đến cùng. Khóa học không trọng tâm vào việc dạy sử dụng Engine như các khóa Game trên thị trường hiện nay mà hướng trọng tâm đến Tư Duy Làm Game - là điều quan trọng nhất nếu Bạn xác định đi theo lĩnh vực này.

Các anh em học viên sau khóa học nhờ sự nỗ lực cố gắng của bản thân kèm với sự hỗ trợ nhiệt tình từ phía giảng viên đã đạt được những thành công nhất định: Tự tin ứng tuyển vào các Studio Game để thực tập/làm việc & mới đây nhất các anh em lập team đi đánh giải Game UIT Hackathon và mang về được giải khuyến khích. Từ hành trình ban đầu chưa có gì để làm được tất cả những điều trên đó là một sự thành công lớn.

Chia sẻ 1 chút về sự thú vị của khóa Game cho Bạn hình dung rõ hơn:

Nếu Bạn đã đọc qua bài chia sẻ từ Phần 2: Những điều hay ho của ngành CNTT – Cơ hội và Thách thức cho những ai dấn thân với ngành Bạn đã được Sơn liệt kê ra rất nhiều những cơ hội kiếm tiền từ ngành CNTT này trong đó có hình thức phổ biến đó là kiếm tiền từ quảng cáo thông qua những phần mềm ứng dụng/game trên điện thoại di động. Nói là có cả ứng dụng di động nhưng bản chất phần lớn vẫn là Game vì nhu cầu giải trí cao và tần suất chơi lặp lại nhiều hơn so với ứng dụng di động. Vậy thì chúng ta hiểu rằng làm Game là 1 thị trường màu mỡ trên di động có thể tiếp cận được với nhiều người và kiếm tiền từ quảng cáo nhé. Vấn đề sai lầm của nhiều người đó là không định hướng rõ ràng về cái cuối cùng mà họ muốn hướng tới mà cứ đi theo đám đông hoặc chính họ không hiểu rõ cái họ muốn làm. 
  •  Nếu Bạn xác định rõ ràng sẽ kiếm tiền từ quảng cáo thông qua Game trên di động vậy thì tốt nhất Bạn nên học chuyên sâu về khóa Game hơn là học các khóa Lập Trình Ứng Dụng Di Động Android/iOS. Bởi vì sao? Bằng lòng là những kiến thức từ ứng dụng đó Bạn cũng có thể xây dựng ra được các Game nhưng cái gì vốn chuyên sâu về nó sẽ có thế mạnh riêng. Nếu học chuyên sâu về Game nhờ sự hỗ trợ của các Engine thì việc lập trình Game sẽ dễ dàng đơn giản và tận dụng được nhiều hỗ trợ tốt hơn cho trải nghiệm người dùng. Hơn thế nữa để Game đến được tay số đông người dùng thì Bạn phải đảm bảo Game của Bạn có mặt đầy đủ trên tất cả nền tảng hệ điều hành (Mobile Android/iOS) thậm chí có trên cả các nền tảng khác như Web, Máy Tính. Để làm được điều này nếu Bạn học kiến thức ứng dụng mà đem ra làm Game Bạn phải học và làm riêng cho mỗi nền tảng (Vd: Bạn phải học Mobile Android và iOS riêng rồi làm riêng Game cho mỗi nền tảng đó) còn đối với khóa Game thông qua các Engine hỗ trợ hiện nay như Cocos2d-x/Unity đã hỗ trợ đa nền tảng – Bạn chỉ việc viết code duy nhất 1 lần là có thể Build ra Game trên các dòng hệ điều hành khác nhau (Mobile Android/iOS) thậm chí cả trên các nền tảng Máy Tính, Web. Tất cả chỉ cần viết đúng 1 lần code là xong.

  •  Nếu Bạn xác định sẽ đi ra làm lập trình viên Mobile trong các công ty thì việc Bạn học các khóa về Lập Trình Ứng Dụng Di Động Android/iOS là lựa chọn đúng đắn của Bạn. Tuy nhiên nếu Bạn cũng xác định sẽ kiếm tiền từ quảng cáo và có nghĩ đến Game thì Sơn sẽ phân tích cho Bạn để Bạn có thêm động lực mạnh mẽ học khóa Game hơn nữa vì sự thực không phải ai cũng biết rằng Game cũng có thể làm ra được Ứng Dụng mà trong 1 số tình huống còn bá đạo hơn nữa nhờ cơ chế hỗ trợ đa nền tảng. Thử suy nghĩ nhé: Giữa Game Ai Là Triệu Phú so với 1 Ứng Dụng Thi Trắc Nghiệm thì về mặt bản chất nghiệp vụ cốt lõi theo Bạn nó có sự khác nhau không? Câu trả lời là không vì nó giống nhau đều có nội dung câu hỏi và 4 đáp án, trong đó có 1 đáp án đúng. Rồi nó cũng xử lý đúng/sai, lưu trữ dữ liệu các câu hỏi – kết quả người dùng. Nhưng nếu để ra được Ứng Dụng Thi Trắc Nghiệm như vậy trên phiên bản Mobile Android/iOS thì Bạn sẽ phải code làm 2 lần khác nhau ở 2 ngôn ngữ công nghệ khác nhau, thậm chí cả Máy Tính hay Web cũng vậy. Còn với Lập Trình Game để làm ra Ứng Dụng Thi Trắc Nghiệm như vậy trên phiên bản Mobile Android/iOS hay Máy Tính, Web Bạn chỉ code duy nhất 1 lần mà thôi rồi Build ra đa nền tảng. Tất nhiên Game là Game mà Ứng Dụng là Ứng Dụng – không phải lúc nào Game cũng có thể làm ra được tất cả Ứng Dụng như những gì Ứng Dụng có thể làm được nhưng điều này nó phụ thuộc vào trình độ của người Lập Trình nữa đấy Bạn và cả chức năng nghiệp vụ yêu cầu. Sơn phân tích ra để Bạn có góc nhìn mới mẻ nhé. Nói chung kiến thức có thì không bao giờ là thừa cả sẽ luôn giúp ích cho Bạn.

Tìm hiểu về khóa Lập Trình Game Đa Nền Tảng Với Engine Cocos2d-x: https://vietnamson.com/khuyenmai#information-game

Xem qua những sản phẩm thực tế mà các Bạn học viên Sơn đã hoàn thành trong các khóa học tổng hợp hết lại tại đây và liên tục update:




Nếu Bạn đang phân vân không biết chọn khóa nào thì đây là lời khuyên cho Bạn:
  •  Nếu định hướng của Bạn đi theo mảng Lập Trình Game: Bạn cần trải qua 2 khóa nền tảng cho người mới bắt đầu là Kỹ Thuật Lập Trình & Lập Trình Hướng Đối Tượng. Sau đó Bạn sẽ trải qua khóa Lập Trình Game Đa Nền Tảng để chính thức bước chân vào con đường Lập Trình Viên Game (Game Developer).

  •  Nếu định hướng của Bạn đi theo mảng Lập Trình Ứng Dụng: Bạn cần trải qua 2 khóa nền tảng cho người mới bắt đầu là Kỹ Thuật Lập Trình & Lập Trình Hướng Đối Tượng. Sau đó Bạn sẽ trải qua khóa Lập Trình Ứng Dụng C# làm nền tảng mở đường cho con đường Lập Trình Viên Ứng Dụng của Bạn.

  •  Nếu Bạn là 1 người ham học hỏi kiến thức để có nhiều sự trải nghiệm trước khi quyết định dấn thân sâu vào 1 lĩnh vực cụ thể trong ngành: Hãy học và trải nghiệm cả 2 mảng trên bằng việc đăng ký cả 4 khóa.

MÓN QUÀ DÀNH CHO CÁC BẠN ĐÃ ĐỌC ĐẾN TẬN ĐÂY

Như đã nói lúc đầu Sơn xin gửi tặng phần quà cho các Bạn đã bỏ công sức đọc đến tận đây. Thực ra đọc là tốt cho các Bạn thôi giúp các Bạn có thêm nhiều kiến thức hiểu biết về ngành nghề nhưng việc các Bạn đọc một cách tâm huyết và trân quý chính là tôn trọng công sức của tác giả viết ra. Thử suy nghĩ nếu chỉ đọc và tiếp nhận lại những tinh hoa mà Bạn đã mệt thì hãy nghĩ đến tác giả là người đã phải lăn lộn trải nghiệm để có được hết kiến thức kinh nghiệm đó và ngồi gõ từng câu từng từ chia sẻ đến các Bạn thì như thế nào?

Sau khi Sơn đã chia sẻ giới thiệu hết một lượt tổng quan về các khóa học mà Sơn đang có thì Bạn có muốn đồng hành cùng Sơn trong các khóa học để rút ngắn thời gian có kiến thức và từ đó sớm đạt được thành công trong ngành nghề chứ?

Món quà mà Sơn dành tặng đến Bạn đó là:


ƯU ĐÃI GIẢM 50% HỌC PHÍ CÁC KHÓA HỌC LẬP TRÌNH

Vì khoảng thời gian này rơi vào dịp gần nghỉ hè, các Bạn đang trong giai đoạn chuẩn bị cho kỳ thi cuối kỳ, nhiều Bạn đang bị hỏng kiến thức đang cần gấp rút để ôn tập lại kiến thức chuẩn bị cho kỳ thi, hoặc nhiều Bạn đã thi xong nhưng thấy tình hình không ổn và muốn tận dụng dịp nghỉ hè này để ôn tập lại kiến thức chuẩn bị cho học kỳ tiếp theo hoặc có thể thi lần 2, thi cải thiện … Chính vì tất cả những điều đó nên Sơn mong rằng thông qua chương trình ưu đãi này sẽ là nhịp cầu nối để Sơn có cơ hội được đồng hành cùng với các Bạn và giúp các Bạn có được những kiến thức thành công trong học tập và sự nghiệp và đạt được những mục đích gần/xa mà các Bạn hướng đến.





Sơn trân trọng thông báo chương trình ưu đãi cực khủng lần này:
Giảm 50% học phí tất cả các khóa học 5.000.000/khóa nay chỉ còn 2.500.000/Khóa dành tặng 10 Bạn đầu tiên đăng ký và hoàn thành học phí trước ngày 31/8/2020.


ƯU ĐÃI CÓ THỂ KẾT THÚC SỚM KHI ĐÃ ĐỦ SỐ LƯỢNG VÌ THẾ HÃY NHANH TAY LÊN BẠN NHÉ.

Ngoài ra khi đăng ký trong đợt này, bạn còn nhận được nhiều ưu đãi kèm theo:


Ưu đãi khi đăng ký theo nhóm, thêm bạn thêm vui thêm người thêm rẻ:
  • Nhóm 2 người, mỗi bạn được giảm 150.000đ.
  • Nhóm 3 người, mỗi bạn được giảm 200.000đ.
  • Nhóm 4 người trở lên, mỗi bạn được giảm 250.000đ.

VỚI NHỮNG BẠN NÀO MONG MUỐN VIỆC HỌC ĐƯỢC TỐT NHẤT THÌ CÓ HÌNH THỨC "KÈM CẶP ĐẶC BIỆT 1-1" SAU ĐÂY:

Dành riêng cho các Bạn xác định đồng hành lâu dài với Sơn thông qua việc sở hữu từ 3 khóa trở lên. Các bạn sẽ được hưởng thụ các chính sách:
  •  Được đưa vào group chat 1-1 hỗ trợ giải đáp ngay khi có thắc mắc. Được tư vấn không chỉ về việc học mà còn định hướng về sự nghiệp, cuộc sống.

  •  Được chấm và góp ý bài tập mỗi ngày trong quá trình học nhằm giúp các bạn rèn luyện Tư Duy Lập Trình.

  •  Được hỗ trợ soạn lộ trình học và sẽ có người giám sát việc theo lộ trình đó.

  •  Được Offline giao lưu cùng các bạn trong chế độ chăm sóc đặc biệt khác.

Bạn hãy xem thông tin chi tiết về chương trình khuyến mãi kèm theo các thông tin về hình thức học, khóa học tại đây: http://vietnamson.com/khuyenmai

Sơn luôn mong rằng sẽ có CƠ HỘI được đồng hành cùng Bạn trên con đường hành trình với ngành CNTT này - giúp Bạn gặt hái nhiều thành công trong sự nghiệp và cuộc sống. Sơn muốn mình có trách nhiệm hơn với Bạn sau tất cả những lời chia sẻ định hướng về ngành nghề đó là được cùng Bạn đi trên con đường hành trình. Hãy để Sơn có thể giúp Bạn nhé!

Lời tâm sự từ tận đáy lòng của 1 người Anh - 1 người Bạn

Chúc cho những điều tốt đẹp nhất sẽ đến với Bạn!

Nguyễn Việt Nam Sơn
.
FOUNDER & CEO Công ty Việt Nam Sơn
.
Website: http://www.sondeptrai.com
Email: [email protected]
Mobile: 0767.666.702
Facebook: https://www.facebook.com/nvnamson
Fanpage: https://www.facebook.com/hoclaptrinhkhongkho

0 nhận xét:

Đăng nhận xét