First of all, C language, C++, Java, Java web, Linux, assembly language and other technologies that are often used in future work.
There are also some courses on principles that will not be used immediately after graduation, but with these, you can better understand the logic of the software.
Such as compilation principle, computer graphics, multimedia, advanced mathematics, discrete mathematics, etc.
Finally, there are public compulsory courses, such as physical education, politics, history and so on.
Finally, we need grades in all subjects.