Cryptography
It is a mandatory course for senior students majored in computer science and software engineering. It is both a theoretical and highly practical course. It aims at helping students to comprehensively learn about basic theories and technologies of cryptography, and gain knowledge of sequential cipher, block cipher, Hash formula and public key cryptography. Students can learn about basic methods of cryptanalysis, and utilize knowledge of cryptography for application. The goal of this course is to help students lay solid foundation in cryptography and get hold of basic principles and key technologies of cryptography.
Network Security Theory and Practice
This is a mandatory course for senior students majored in computer science and software engineering. It is both a theoretical and a highly practical course. It helps students to comprehensively learn about basic theories and techniques of cyber security, master basic methods of network system defense, and cultivate awareness and skills of cyber-security protection. Its goal is to help student lay sound theoretical foundation in network security and master basic principles and key technologies of network security.
Compiler Principle
It is a mandatory course for students majored in computer science. Its contents cover organization of compiler, stages of compiling, and other programs related to compiler. The focus is to get understanding of preprocessor, lexical analyzer, syntactic analyzer, semantic analysis, operating environment, code generation and code optimization. Basic theories include regular expression, automat, context-free grammar and so forth. Basic methods to be learned include lexical analysis methods based on theories of automata, top-down and bottom-up grammatical analysis, and translation under the guidance of grammar and so forth.
Information Security: General Practice
The course mainly introduces penetration attack and protection of information system. The course would specify basic theories of attack and put them into practice in the real world. Student will read and discuss papers on different attack methods and practice them. After elaborating on how to make those attacks, the course is to discuss and learn how to guard computers and network against them.
Programming Principle
The course mainly introduces structured methods of programming, including program verification, program transformation, form derivation and so forth. Major topics include theories of structured program, modularization and stepwise refinement, techniques to verify programs, derivate forms and transform programs, object-oriented programming, theories of type system, software reuse and so forth.
Introduction to Data Mining
The course aims at teaching students basic concepts and theories of data mining and machine learning, which would lay solid foundation for their future professional work or theoretical study on data mining or data analysis. It contents cover basic concepts, definition and key issues of data mining, machine learning, clustering, decision making, and data linkage technologies.