Core courses for 2024
1. Data Structures and Algorithms
This course is a foundational professional course for the Computer Science and Technology major. The content includes an introduction, linear lists, stacks and queues, trees, graphs, searching, and sorting. Data structures are not only fundamental to general programming but also crucial for designing and implementing compilers, operating systems, and other system and application programs. The primary objective of this course is to enable students to describe various representation methods of data structures, analyze different algorithms, design relevant algorithms, and implement them. Through the study of this course, students will acquire basic knowledge in the analysis and design of data structures, analyze algorithm time and space complexity, evaluate various methods of searching and sorting, design methods for organizing and implementing data, and further develop their programming skills, logical thinking, and innovative abilities. At the same time, it aims to cultivate logical thinking and a rigorous scientific attitude, enhance problem-solving capabilities and innovation awareness, foster teamwork and communication skills, strengthen social responsibility and professional ethics, promote craftsmanship and excellence, and develop cross-cultural communication and collaboration skills.
2. Principles and Architecture of Computer Organization
This course is a core professional course for students in computer-related fields. The course content primarily covers the composition and working principles of hardware devices such as computers, including arithmetic units, controllers, memory, and input/output systems. It also delves into the internal workings, structural composition, and interconnection methods of various components in single-processor computer systems. Through this course, students will develop their ability to correctly analyze computer systems and design engineering projects. They will gain an overall concept of computer systems and hierarchical structure concepts, and be able to apply basic principles and methods of computer organization to solve specific problems in practical engineering. Students will also acquire strong logical thinking skills and innovative capabilities.
3. Principles of Operating Systems
This course is a core professional course for the Computer Science and Technology major, employing interactive teaching methods, problem-solving approaches, and personalized instruction to deliver its content. The main topics include the fundamental principles of operating systems, processor management, memory management, device management, and other basic functions, applying the management philosophy of operating systems to solve problems. Through this course, students will develop their ability to explain the basic concepts, principles, and internal workings of operating systems, laying a solid foundation in professional theory for future research and development work. Students will apply the basic principles and algorithms of operating systems to analyze and solve practical problems; they will be able to operate and analyze operating systems, propose new ideas, improve algorithms, and foster an innovative mindset. Practical projects throughout the course will enhance students skills in analyzing and solving problems. The course also aims to cultivate students patriotism and national pride, critical thinking, and innovation capabilities, emphasizing the importance of teamwork, the rigorous attitude of scientists, and the philosophical considerations behind technological innovation.
4. Computer Networks
"Computer Networks" is a required course for students majoring in Computer Science and Technology. The course focuses on the analysis and design methods of computer network architecture and layered protocols, discussing concepts, principles, algorithms, and protocols at the physical layer, data link layer, network layer, transport layer, and application layer. Through this course, students will be able to explain the history and architecture of computer networks, interpret design issues and solutions at each level of the architecture, and initially apply skills in network testing and device configuration. They will develop the ability to apply, maintain, manage, deploy, and implement computer network systems, as well as solve practical engineering problems, laying a solid foundation for further studies and research in computer networks. Additionally, by integrating specific content such as the layered thinking of the course, it can also cultivate students problem-solving abilities, inspire their patriotic enthusiasm, foster a sense of national pride, and guide them to embrace the great ideal of strengthening the country through science and technology.
Advanced Programming Languages
This course is a required course for the major in Computer Science and Technology. It serves as the foundation for subsequent programming courses and is the only programming course suitable for beginners among all such courses. The course content primarily covers basic data types and statements in C language; complex data types in C language; fundamental ideas of object-oriented programming; classes, objects, and inheritance, among other topics. Through this course, students will develop their design thinking, apply concepts and methods of structured programming and object-oriented programming, enhance their ability to analyze and solve problems, and gain initial programming skills. This lays a solid foundation for learning and application development in subsequent courses. Students will also cultivate logical thinking, innovation, responsibility, and correct professional ethics and values during their studies, preparing them to become high-quality software engineers with a sense of social responsibility and national commitment.
6. Principles of Translation
This course is a required professional course for the Computer Science and Technology major, employing diverse teaching methods such as case analysis, project-driven learning, flipped classrooms, and experimental operations. The course content primarily covers the principles, processes, methods, and technologies involved in translating high-level languages into code that computers can execute. It encompasses key aspects including lexical analysis, syntactic analysis, semantic analysis, intermediate code generation, code optimization, and target code generation. The course aims to cultivate students abilities in algorithm design, logical reasoning, deep understanding of programming languages, and problem-solving skills. It also seeks to make students aware of the importance of compiler technology in national information security and software self-research and development, thereby inspiring their patriotic spirit and innovative awareness.
7. Principles and Applications of Databases
This course is a required professional course for students in computer-related majors, playing a crucial supporting role in the professional curriculum system. It provides essential skills and knowledge foundations for students to engage in software development, data analysis, and other related work. The teaching method combines theoretical lectures with practical operations, utilizing multimedia instruction, case studies, project practices, and other teaching methods. The course content primarily includes an overview of database systems, data models, relational database theory, SQL programming, database design, and database security. Through this course, students will develop their ability to handle and manage data, as well as their capability to analyze and solve practical problems in database applications. In the teaching process, students sense of responsibility and rigorous work attitude are cultivated, along with a focus on data security and privacy protection awareness. Additionally, it enhances students teamwork and communication skills, aiming to produce professionals with good professional ethics and innovative spirit.
《 software engineering 》
This course is a core professional course for the Computer Science and Technology major. It is a highly practical and applied subject, serving as an engineering discipline that guides the development and maintenance of computer software systems. The course content primarily covers software fundamentals, requirements analysis, design (both general and detailed), coding, testing, to maintenance and management. Through this course, students are encouraged to develop an engineering mindset in software development, learn the entire process of software development, and establish scientific concepts and ideas regarding software definition, development, operation, and maintenance, as well as software engineering management. Students will be able to apply basic principles, methods, tools, and technologies from software engineering to solve real-world problems. Emphasis is placed on cultivating students professional ethics, teamwork spirit, and sense of social responsibility, ensuring that they acquire not only professional skills but also excellent professional qualities and humanistic care. This course lays a solid foundation for subsequent courses, course design, graduation projects, and future work in software system development and maintenance.