Hi there,
Ừ cậu, bên bọn tớ được phép dùng tự do các framework/library. Tuy nhiên:
- Đây là các đồ án/bài tập lớn cho các môn học liên quan tới web. Với các môn cơ sở như cấu trúc dữ liệu giải thuật, network, compiler construction, computer architechture… bọn tớ vẫn dùng C hoặc ASM và cài đặt bằng tay tất cả các cấu trúc dữ liệu cơ bản.
Có thể có 1 số trường sẽ cho phép cậu cài đặt mấy cấu trúc dữ liệu bằng ngôn ngữ khác, nhưng cơ bản là vẫn phải làm manually.
- Bọn tớ cũng không được giới thiệu các cutting-edge technology như React, Angular, etc, thậm chí là git.
Điều này cậu cần hiểu, ở Đại học bọn tớ cũng được dạy các kiến thức nền tảng quan trọng. Những cutting-edge technology kia thường sẽ dễ dàng bắt nhịp hơn nếu cậu có nền tảng tốt, và bọn tớ đều phải tự học các công nghệ đó. Ở trường tớ thì không có dạy.
Tớ biết có một số trường dạy các môn lập trình với C#/PHP/Java/etc, tuy nhiên đều ở mức độ cơ bản, và vẫn phải tự học nhiều.
Ngoài ra:
- Bọn tớ cũng phải học kỹ UML, software engineering (như software design, OOP principle, design pattern, refactoring, etc), software development progress (các mô hình cơ bản như waterfall, increment lẫn nâng cao như Scrum), database design (RDB và tự nghiên cứu NoSQL), etc.
- Tất cả các đồ án của bọn tớ đều phải làm nhóm và tốn thời gian cài đặt. Việc này rèn cho bọn tớ cách làm việc nhóm, document, áp dụng các quy trình bọn tớ được học để làm, mà không có bất cứ hướng dẫn thêm.
Về cơ bản, cậu có thể thấy chương trình học của cậu và của bọn tớ không khác nhau mấy. Và tất cả những cutting-edge technology thì bọn tớ đều phải tự học.
Về việc đi làm, lúc ra trường, cậu sẽ được kỳ vọng là có hiểu biết cơ bản về software engineering + đã tự học các công nghệ mới. Nếu cậu nắm chắc kiến thức nền tảng lúc ra trường thôi, cậu đi hơi chậm chút, tuy nhiên cũng không sao, vì theo kinh nghiệm của tớ thì tớ đánh giá cao 1 fresher có nền tảng tốt hơn những fresher biết nhiều công nghệ, nhưng không có nền tảng tốt.
1 sai lầm mà các bạn mới học lập trình là underrate các kiến thức nền tảng đó! Trong hàng chục năm, cái máy bay không có thay đổi nhiều về kiểu dáng, kích thước, đều có chung 1 nền tảng lý thuyết khí động học. Nếu cậu biết kỹ thuật hàng không 50 năm trước, cậu vẫn có thể làm việc với các máy bay thời hiện đại. Phần mềm cũng vậy, những công nghệ mới cũng không có nhiều đột phá về mặt nền tảng lý thuyết, nên logic mà nói, nếu cậu biết software engineering từ 50 năm trước, cậu cũng sẽ dễ bắt kịp với các quy trình/modern software engineering thôi.
Vậy nên, đừng lo lắng quá. Cậu mới năm 3, đây là thời điểm tốt để cậu bắt đầu tự thử nghiệm về các công nghệ mới. Thử đi nhé cậu!