What courses should undergraduates majoring in computer science take in four years?
I am a computer major. Let me briefly say: \ x0d \ x0d \ freshman (public and professional foundation): computer introduction; Fundamentals of programming (C language, which needs to be learned firmly, and based on C language ideas after in-depth study) \ x0d \ x0d \ Sophomore (professional foundation and core): data structure and algorithm (which is more difficult, we are C, and there are other languages); Digital circuit (also a headache); Discrete mathematics (a compulsory course for computer majors); Database system principle, database system design and development (Delphi and SQL are the main courses, which are important and useful, and many software designs are based on these two courses); Object-oriented programming (we are Java and also use C++, which is also important); Computer composition principle and experiment composition (it is very difficult to learn these two subjects well if you want to engage in hardware after graduation); Operating system principle, experiment (I learned linux system at that time, I forgot, some management ideas inside are more interesting); \ x0d \ x0d \ junior (professional core and professional direction): microcomputer system and assembly language, experiment (boring, complicated, difficult, employment, etc. It doesn't matter much, but if you really want to master computers, you must work hard to learn these two courses. Computer networks, experiments (dos commands, etc. , hackers must, very interesting); Software engineering (that is, how to make marketable software products); \x0d\\x0d\ From junior year, there are directions: \x0d\x0d\ Java direction: (J2EE is the most important direction in Java, and it is an engineering organization. I can get a job directly after mastering it, and I am in the direction of Java) \x0d\ x0d \ Java advanced programming \ x0d \ software engineering and database course design x0. J2EE Application Curriculum Design \x0d\C# Programming \x0d\J2ME and Mobile Application Development \x0d\ Database System Application and Management \x0d\ Software Development Specification \ x0d \ Data Application Development Direction: (. Net is the most important) \ x0d \ x0d \ c # programming \. Net application course design \x0d\JAVA advanced programming \x0d\Oracle application \x0d\ database system application and management \x0d\ software quality assurance and testing \x0d\ software development specification \x0d\ e-commerce direction: (relatively simple software development) \ X0d\ x0d \ design and implementation of e-commerce system \ x0d. E-commerce security \x0d\ Web page design and website development \x0d\ Embedded system direction: (it is more difficult and involves more hardware) \x0d\ Application of ARM and embedded operating system foundation \x0d\C# programming \x0d\ Introduction to embedded system development \x0d\ MCU application design \x0d\WinCE mobile development technology \ x0d. Introduction to Art Design \ X0d\ Digital Media Post-production \x0d\ Visual Communication \x0d\ Computer Animation Foundation \x0d\ Senior: I just want to find work practice and graduation design, and the missing courses are professional mobile elective courses, so I took them according to my own interests and attached the course materials: \x0d\ x0d \ Information policies and regulations \x0d\ software development specification \x0d\ computer graphics \x0d\ compilation technology \ X0d \ project management \ X0d \ image processing and pattern recognition \ X0d \ multimedia technology \ X0d \ web design basis. Introduction to Art Design \x0d\ Software Quality Assurance and Testing \x0d\ Network Engineering \x0d\ Human-computer Interaction Technology \x0d\ Frontier of Computer Development.