19 May, 2021
Điều sinh viên cần học
Một thầy giáo viết cho tôi: “Chương trình đào tạo máy tính của chúng tôi cũ rồi và chúng tôi đang làm việc để cập nhật nó, thầy có gợi ý nào để giúp chúng tôi cải tiến giáo trình của chúng tôi không?”
Đáp: Có vài chuẩn quốc tế cho giáo trình khoa học máy tính được dùng trên khắp thế giới và chúng được cập nhật mọi năm, tôi gợi ý trường bạn chấp nhận nó thay vì phát triển chương trình riêng của các bạn. Tuy nhiên có xu hướng mới mà bạn có thể cần cân nhắc: Ngày nay thị trường tăng trưởng nhanh nhất là di động, chính là điện thoại thông minh, máy tính bảng và thiết bị đeo. Thời của máy tính cá nhân (PC) gần qua rồi vì số bán đã giảm xuống mức thấp lớn và ít người dùng máy bàn hay laptops. Với xu hướng trong thiết bị di động, phần mềm cũng sẽ đổi từ kiểu lớn được cài trên PC sang các ứng dụng nhỏ hơn và đơn giản hơn mà có thể dễ dàng được tải xuống trong thiết bị di động.
Xu hướng này sẽ làm thay đổi lớn cho công nghiệp phần mềm và cách mọi người phát triển phần mềm. Thứ nhất, phần lớn các app di động là đơn giản hơn và dễ dùng; không cần đào tạo thêm nữa cho nên nó sẽ tác động tới các công ti đào tạo vì ít người hơn sẽ cần học cách dùng chúng. Chẳng hạn, không ai cần tới trường để học cách dùng “Google” để tìm thông tin. Thứ hai, phần lớn các app di động là nhỏ do giới hạn bộ nhớ trên thiết bị di động, do đó tổ chỉ cần ba tới năm người thay vì tổ dự án lớn như với PC, có thể là phần lớn việc phát triển phần mềm sẽ dùng cách tiếp cận Agile thay vì các phương pháp khác. Do đó điều quan trọng cho các đại học là dạy Agile như phương pháp phát triển phần mềm. Thứ ba, vì phần lớn các app di động là nhỏ, chúng không thể giải quyết được khối lượng lớn dữ liệu hay xử lí tính toán phức tạp, giải pháp là kết nối nó với dịch vụ tính toán mây nơi người dùng có thể truy nhập vào phần mềm đặc biệt mà có thể giải quyết các nhu cầu này. Do đó, tổ hợp của di động và tính toán mây sẽ là môi trường tương lai mà sẽ được công nghiệp dùng. Đại học cần điều chỉnh nhanh chóng theo môi trường phát triển mới này vì sinh viên sẽ cần tri thức và kĩ năng này.
Vấn đề khác với app di động là an ninh. Android là nguồn mở mà có thể được chuyên biệt hoá cho những công ti làm thiết bị và nó là mong manh với mã hại và tấn công an ninh. Phần lớn các chuyên viên an ninh khuyến cáo người dùng và công ti tránh dùng thiết bị Android trên mạng của họ vì nó có thể là nguồn cho hacker xâm nhập vào hệ thông tin của công ti. Các nền khác như iPhone, Windows 8, hay Blackberry là tốt hơn.
Khuyến cáo của tôi: Sinh viên cần học phát triển Agile; nền di động như Android, IOS, Window 8; có tri thức về Tính toán mây và An ninh.
—English version—
What studen need to learn
A computer science teacher wrote to me: “Our computer training program is old and we are working to update it, do you have any suggestion to help us improve our curriculum?”
Answer: There are several international standards for computer science curriculum being used all over the world and they are updated every few years, I suggest your school to adopt it instead of develop your own. However there is a new trend that you may want to consider: Today the fastest growing market is mobile which are smart phones, tablets and wearable devices. The time of Personal Computers (PC) is almost over as sales have dropped to significant low level and fewer people are using desktops or laptops. With the trend in mobile devices, software will also change from the large type installed on PC to smaller and simpler applications that can easily be downloaded into mobile devices.
This trend will change the software industry and the way people develop software significantly. First, most mobile apps are simpler and easy to use; there is no need to get training anymore so it will impact training companies as fewer people will need to learn how to use them. For example, no one need to go to school to learn how to use “Google” to search for information. Second, most mobile apps are small due to the limitation of storage memory on mobile devices, therefore the team only needs three to five persons rather than a large project team as with PC, it is likely that most software development will use Agile approach rather than other methods. Therefore it is important for university to teach Agile as the software development method. Third, since most mobile apps are small, they cannot handle large amount of data or process sophisticated calculation, the solution is to connect it to cloud computing service where users can access special software that can handling these needs. Therefore, the combination of mobile and cloud computing will be the future environment that will be used by the industry. University need to adjust quickly to this new development environment as students will need this knowledge and skills
Another major issue with mobile apps is security. Android is an open source that can be customized to device makers companies and it is vulnerable for malware and security attack. Most security specialists recommend users and companies to avoid using Android devices on their network because it could be a source for hackers to get into company information systems. Others platforms such as iPhone, Windows 8, or Blackberry are better.
My recommendations: Students need to learn Agile development; mobile platforms such as Android, IOS, Window 8; have knowledge of Cloud computing and Security.