The PhD & Master in Advanced Computing Program will give you an opportunity to study a breadth
of cutting-edge subjects. Professors are experts in their respective fields and are able to enrich your studies
with their knowledge and expertise.
At Tsinghua you will be required to take a total of 24 credits (for master program) or 19 credits (for PhD program), both with compulsory modules included. You will also have the opportunity to study subjects which are aligned with your interests such as Machine Learning, Big Data, Computer Graphics etc.
Every foreign student must take the Chinese Language exam before the beginning of the first semester and has to take the class according to the exam result, except those who meet the requirement of Chinese Language course exemption.
|Depends on class and level||-||Assignments and Exam|
This course serves as a general introduction for students who have an interest to know more about Chinese culture and its formation and growth in the past few thousand years. It centers around a few topics that are intended to lead students to obtain a better understanding of Chinese civilization, one of the oldest in the world, and to stimulate them to make a constructive comparison between what they experience in China and what they know from the readings about the country and between Chinese culture and their own culture. Besides a couple of guest speakers we plan to bring in to our class whose expertise will definitely enrich the content of the course and expand the scope of the perspectives, we are giving students opportunities to share their experience in China with the class and discuss issues that arise from their study of Chinese culture and society. It is hoped that, through reading Chinese works in English translation and discussion, students should have an understanding of some essential aspects of Chinese culture, such as Confucianism, Taoism, Chinese Buddhism, general history of China, Tang poetry, Yuan drama, Honglou meng, etc., and be able to relate more successfully to people living around them.
|Shiyi YU||-||Attendance (10%), Participation (10%), Two short papers and presentation (40%) and The final paper (40%)|
Students should do literature survey in some particular area of computer science, and report their research plan for the thesis. They should discuss the thesis topic with their advisors.
The Graduate Office will provide 10 lectures with different lecturers to guide graduate students to do research, seek jobs and improve entrepreneurship skills. Students should attend at least 8 times and submit a course summerization and report.
|Depend on topic||-||Course Summerization & Report|
Applying knowledge to solve problems in society, including companies, governments and international organizations.
|Depend on topic||-||Products and Report|
PhD students should attend academic activities in his/her research area each semanster.
|Depend on topic||-||-|
The PhD qualifying examination is aimed to assess how well the students understand the fundamentals and principles in the relevant fields, and whether the student has the ability to think scientifically and critically about both theoretical and practical researches. The examination is normally delivered after a formal presentation by the candidates and will not be approved unless all the examiners consent that the student has demonstrated sufficient content of research and is potentially capable to work out an acceptable dissertation within the required timescale. The examination should usually be taken in the second year of a PhD candidate; and passing of the examination gives students the advancement to candidacy.
|-||-||Presentation and Oral Test|
This course covers topics in Combinatorics and Algorithms Design. We comprehensively discuss basic concepts, theories, methods, and instances in Combinatorics while focusing on concepts and ideas. Selected topics include: the Pigeonhole Principle, counting, combinations, Polya counting, recurrence relations and generating functions, graph, and linear programming etc. We also discuss basic mathematics concepts in algorithms design including growth of function, Big-O notations and recurrence relations etc., and basic strategies of algorithms design including search, divide and conquer, and greedy etc. Finally, we show examples of algorithms design in Combinatorics, including basic algorithms on Graph, minimum spanning tree algorithms, and algorithms for linear programming etc.
|Yuchun MA (Combinatorics), Ying ZHAO (Algorithms Design)||Graduate Standing. Advanced Mathematics, Linear Algebra, Programming skill.||Class attendance is required, Assignments (20%), Projects (30%) and Final Exam (50%)|
This course gives an introduction to modern numerical approximation techniques; to explain how,why ang when they can be expected to work ;and to provide a firm basis for future study of numerical analysis and scientific computing. It also presents some overview of numerical methods for students and professionals in computational oriented disciplines who need to solve mathematical problems. It focuses on the motivation and ideas behind the algorithms rather than on detailed analysis of them.
The course introduces the advanced theory of machine learning and
its related algorithms. The course will first review the state-of-the-art machine learning
algorithms and the course’s content mainly consists of probabilistic generative learning and
probabilistic discriminative learning. Based on the theoretical analysis and algorithmic
application, we plan to introduce the following subtopics:
（1） Probabilistic topic model
（2） Restricted Boltzmann machines
（3） Factor graph model
（4） Bayesian nonparametrics
（5） Semi-supervised learning
（6） Scalable machine learning
The course requires all students to design and implement an algorithm for advanced machine learning, and validate the algorithm on the our provided platform.
|Jie TANG, Jun ZHU||Data representation(e.g.,vector space model,language model); Basic probability theory(e.g., likelihood,conditional probability,posterior probability,Bayes);Basic linear algerbra(e.g.,linear transformations,eigenvalues,least-squares best fit)||Class attendance is required, Assignments, Exams/Projects|
This is an introductory course on distributed systems. This course introduces the principles of distributed systems as well as some of the current influential large-scale distributed systems such as Google file system, MapReduce, Amazon Dynamo etc. To make the course more concrete, this course uses a series of labs requiring the students to build real distributed systems. This course emphasizes on the general principles of building distributed systems in addition to introducing important practical distributed systems. For example, the various kinds of distributed consistency protocols will be discussed and such principles can be adopted in many kinds of real distributed applications. The current systems used by Googe, Amazon, Microsoft will be introduced.
|Kang CHEN||data structure, C programming||Class attendance is required, Readings and Homework (20%), Labs (40%), Final Exam (40%). Exam will be closed-book.|
The aim of the course is to 1) enhance the previous knowledge of database systems by deepening the understanding of the theoretical and practical aspects of the database technologies, and showing the need for distributed database technology to tackle deficiencies of the centralized database systems; 2) introduce basic principles and implementation techniques of distributed databases including distributed database design and architecture, query processing and optimization, transaction management, recovery, and reliability protocols, and to 3) expose active research issues in distributed database systems and application development.
|Ling FENG||Database Management Systems||Class attendance is required, Examination (40%) and Practical project (60%)|
This course gives an introduction to computer graphics, by integrating various skills in computer science such as programming, data structure and algorithm design. With the aid of new human-computer interface, students will learn these fundamental knowledge in computer science in terms of fancy graphics effects that reduce the learning load through abstract data visualization. The content of this course includes raster graphics, interactive graphics, matrix representation of 3D transformation, curve and surface design, ray tracing and visual realism, all with OpenGL source code.
|Yongjin LIU||linear algebra, C++ programming||Class attendance is required, Attendance/Presentations (10%), Projects (15% + 20% + 20% + 35%),|
This course discusses the basic design principles of the Internet and where the future Internet architecture is heading to. It is for graduate students and we will cultivate the research capabilities of students by this course. 10 lectures will be given. Students are required to read papers and give presentations in the class, as well as finish the course project. The course language is English.
|Dan LI||-||Class attendance is required, Paper reading presentations and Project|
This course covers the basic understanding of human perception and cognition, interaction styles development, design and evaluation of GUI, and natural human computer interface technologies. Input technologies are emphasized. Multimodality about visual, acoustic and touch sense channels are introduced with new input interfaces. Signal processing, feature extraction, and mapping schemes will also be covered. Measure methods are for the efficiency of interaction. Hands-on laboratories, study reports, individual projects and semester long group projects will be assigned, some can potentially continue as further researches.
|Yuanchun SHI||Programming||Class attendance is required, Assignments|
Software project management is the art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, monitored and controlled. Using software development life cycle and process groups as two main threads, this course introduces the procedures and methods of software project management, which will help keep projects under control, and produce software with required functions in shorter time, higher quality and predicable cost. This course follows the nine Project Management Knowledge Areas - project integration, scope, time, cost, quality, human resources, communications, risk, and procurement - using the experiences of real-life businesses. The students are organized in groups to do the homework and presentations. Virtual software projects are assigned to groups. Typical scenarios are designed in the projects to help students understand the nine knowledge areas by solving the issues in the projects through group discussion and collaboration.
|Yong ZHANG||Programming skill||Class attendance is required, Assignments (20%), Mid-term report (15%), Final short show (35%), Final open-book examination (30%)|
The course starts with an overview of the fundamental concepts, algorithms and tools in multimedia processing, including information theory, signal processing, signal compression, and communications. Then, a brief introduction of multimedia related standards such as H.264, HEVC, RTP are provided. Combining the fundamentals and the standards, we will finally introduce the students to challenges and current solutions to various challenges in large scale, real time and mobile multimedia applications.
|Jiangtao (Gene) WEN||-||Attendance/quizzes (25%), Projects/presentations (15%/5% + 15%/5% + 25%/10%)|
This course gives a survey to the new research branches, introduces the state-of-the-art technologies, and discusses on open problems and challenges on Web information retrieval (Web IR). At the same time, the course focuses on the real applications in the Internet environment, making case study and detail analysis on commercial search engines (SE). The main topics of the course includes (but not limited to): IR in Web environment, such as link analysis, anti-spam, etc; question answering; opinion / sentimental analysis; social media and IR; personalized IR and recommendation; user behavior analysis; online advertisement; mobile search; and IR and SE evaluations. The course is composed of lectures and student-conducted discussions.
|Min ZHANG||Programming skill||Class attendance is required, Assignments, Projects and Tea Time Presentations (bonus score)|
The course starts with an overview of the big data analytics, clustering and distributed programming. We will also cover methods for processing big data as well as optimization techniques. Graph processing and visualization of big data will be covered. There will be labs and projects which allow students to experiment with real data and apply the knowledge of what they learnt in class.
|Wenguang CHEN||Some programming knowledge||Assignments and Labs (50%), Projects (15%), Mid-Term Exam (10%), Final Exam (25%).|
This course is a graduate course and is primarily project-oriented. It will cover three major of aspects of IP network management: networks, objectives and methodologies. There will be 12 lectures given. Students are expected to form a team of two and finish a project on the THU-INM (Tsinghua University IP Network Management) platform.
|Dan PEI||C Programming, Undergraduate Network course||Demo of Projects (50%), Technical Reports (30%), Presentation (20%).|
The course introduces natural language processing (NLP), from its history to recent advances in deep learning applied to NLP. NLP is one of the most important technologies in Artificial Intelligence. NLP aims at enabling computers to understand human languages and communicate with humans. There are a large variety of tasks and machine learning methods in NLP. In this course, we plan to introduce the following subtopics:
（1） The history and the tasks in NLP.
（2） Basic tasks in NLP: Sequence tagging, parsing, classification and clustering.
（3） Applications in NLP: machine translation, question answering, etc.
（4） Recent advances in deep learning applied to NLP.
（5） Open problems and challenges for NLP.
By learning from lectures and programming assignments, students will master necessary knowledge about NLP and engineering tricks for practical NLP problems.
|Zhiyuan Liu||basic probability theory; basic linear algebra; programming skills (C++ or Python). Knowledge of machine learning is preferred.||Class attendance is required, assignments, projects.|
This course introduces the basic concepts and history of deep learning as well as recent developments. The course will cover the theoretical foundation and typical models of deep learning and discuss the cutting-edge research about deep learning. Specifically, we will introduce the following topics:
（1） Basics of machine learning
（2） Multi-layer perceptron
（3） Convolutional neural networks
（4） Long short-term memory networks
（5） Deep generative models
（6） Generative adversarial networks
（7） rogramming libraries (e.g., Tensorflow, ZhuSuan)
The course requires all students to design a deep learning model for solving a practical problem, which can be chosen from a set of problems provided by the teacher or proposed by yourself.
|Jun ZHU||Basic level of probability theory, linear algebra and calculus. Basic level of programming skills.||Class attendance is required, Assignments, Exams/Projects.|
The course will cover the following topics: NP completeness, PSPACE, L Space, IP system, BPP, derandomization, PCP, classical communication complexity, circuit complexity, Decision tree complexity. quickly recall basics about convex optimization and machine learning: linear/logistic regression, regularization, newton method, stochastic gradient descent (asychronized, variance reduction method), generative vs discrimitive, variance vs bias. Off-the-shelf machine learning and prediction algorithms: k-nn, SVM, kernel trick, clustering, Adaboost, gradient boosting, random forest. Online learning and sequential prediction. Multi-armed bandit, Universal portfolio, Multiplicative weighting method, online convex optimization, basic time series. linear algebra-based learning algorithms: SVD, principle component analysis (PCA), independent component analysis (ICA), Nonnegative matrix factorization (NMF), topic modeling, matrix completion, dictionary learning, tensor method, spectral clustering.
|Andrew YAO||Discrete Mathmatics||Assignments and Final Exam|
The course covers research progress and hot topics in Computational Biology and introduces topics including basic computational theory and methods, three-dimensional structure determination and dynamic study of proteins, protein and drug molecular design, Proteomics, and Biology evolution model.
|Jianyang ZENG||Machine Learning||Projects and Final Exam|