• Introduction to Artificial Intelligence

    This is an overview course for AI discipline students, which teaches them the key concepts, principles, and methods related to artificial intelligence. 【Introduction】This course introduces the theory and techniques of artificial intelligence (AI) from the views of conception, history, representative problem, principles, etc. We focus on how to implement some intelligent functions using a generic computer, including problem solving, knowledge, inference, and programming, uncertain knowledge, natural language processing, computer vision, robotics, machine learning, etc. Through teaching these contents, our purpose is to make students clearly grasp the framework of AI, basic principles, and main methods. They cover the problem formulation, proposed solution, approaches to thinking, AI field introduction, etc. On the other hand, we will provide the main theory and techniques to solving some representative AI problems.If you have any problems, please contact me via E-mail: zlwang AT ustc DOT edu DOT cn or visit my homepage.【Textbook】We choose the book “Artificial Intelligence: A modern Approach” (AIMA, 3rd) as the textbook of this course because of its popularity around the world and the timely update to knowledge. It is the leading textbook in Artificial Intelligence, and used in over 1300 universities in over 110 countries.  In particular, it is used as Berkeley’s CS 188. About details of this book, see Textbook homepage. In particular, we provide some useful links and appendix (in Chinese) as follows:A scanned copy of the book;Appendix A: Mathematical Background;Appendix B: Notes on Languages and Algorithms;Online codes in Github with different languages;Online course.【Slides】The following slides are associated with the above textbook. Each set of slides corresponds to a book chapter:Part I  Artificial IntelligenceCh1: IntroductionCh2: Intelligent AgentsPart II  Problem Solving Ch3: Solving Problems by SearchingCh4: Beyond Classical SearchCh5: Adve

    Read More

  • Science & Society – Freshman Seminars

    【Introduction】This seminar course aims to guide the freshmen to successfully be a real university student from senior high school student in mind, altitude, method, responsibility, etc. Specifically, the goals may include (not limited):Adapt to living and study in USTC;Realize the responsibility in Science and Society;Learn to thinking independently, investigating actively, cooperating effectively; Enter the world of Science and Technology;Grasp some fundamental skills: survey, writing, presentation, etc.The two main components of the course are keynotes (from heroes in different area) and group seminar (directed by USTC teacher). For the former, please refer to USTC teaching homepage. And this page is mainly used as the guide to complete the second part, i.e., group seminar.【Reference Slides】The following slides are provided for the reference, which are produced by by Prof. Wang for his seminar group. Be an excellent student in USTCGuide to choosing topic and doing researchGuide to writingGuide to presentationAbout examination【Planned Progress】The group seminar lasts about one year. For the class under Prof. Wang, the progress is planned as follows:Present a guide and group members into several teams, 2013.10Discuss and determin the topic for each team, 2013.11Check the problems, and guide the writing and presentation, 2014.01Submit reports for all teams and do revision, 2014.03Make representation and defense, 2014.05Conclude and discuss, 2014.06Notice:Must complete the above terms by the deadline;Each team has a leader;Each member in a team must have a concrete task for the final goal;Refer to the slides for the detailed guide. 【Resources】

    Read More

  • Software Project Management

    Teach students the basic knowledge of software project management (SPM), including concepts, procedure, method, etc. Specifically, the course is around PMBOK from PMI, which may be considered a prior-class for the PMP certification.【Introduction】This course is aimed at graduate students in Software Engineering discipline. In principle, this is an important component of software engineering knowledge framework, which, together with “software engineering”, “design pattern”, ‘algorithms”, etc, form a whole architecture for developing software systems. Around the PMBOK from PMI, this course teaches students the core concepts, concrete management procedures, and some typical methods. More specifically, from the five procedures and nine areas of PMIBOK, our target is how to make the software project be smoothly completed under the planned cost, time, quality, etc.【Slides】The textbook is “Software Project Management: A Case Study Approach” by Mr.Han. The current version is the third that is adopted here.The corresponding lecture slides are provided as follows:Preface: An Introduction to Software Project ManagementCh01: Startup Procedure — Project ApprovalCh02: Startup Procedure — Life Cycle Model of SoftwaresCh03: Scope Plan — Requirement ManagementCh04: Scope Plan — Task DecompositionCh05: Cost Plan (School case, mpp)Ch06: Schedule PlanCh07: Quality Plan  (School case)Ch08: Configuration Management Plan (School case)Ch09: Human Resource Management PlanCh10: Communication Plan (School case)Ch11: Project Risk Plan (School case)Ch12: Procurement Plan (School case)Ch13: Integration Plan (School case)Ch14: Execution and Control Procedure (School case: measure, control, mpp)Ch15: End Procedure

    Read More

  • Computer Algorithms

    Teach students the key ideas and methods of computer algorithms, including four types of resolution routines and eight prime ideas. In this course, many classic problems are specially analysis from the views of principle, implementation, application, etc. Here the C++ programming language is adopted as the default description tool.Examination information: [time] 2019.06.05 (周三) 14:00-16:00 [location] 3B103【Introduction】This course is aimed at graduate students who have learnt some knowledge about data structure and the related basic algorithms. For example, the data stuctures of tree and graph are required to better understand and grasp the pricinples of algorithms. The course teaches students the core ideas of different algoritms and the corresponding design principles. In particular, here C++ is employed to describle the algorithms. Our goal is to train the ability of solving the real-world problems using these algorithms. More specifically, this course would guide students to know the philosophy of different algorithms and their general design routes with aims of enhancing the practicability and applicability. Furthermore, the students are expected to study more in-depth algorithm knowledge after this course.The teaching method of this course is to concisely explain most important knowledge points of algorithm by introducing theire key features and applicable scenarios. More important, many representative problems would be introduced and analyzed as the examples of certain kind of algorithms. As in most courses, it cannot teach all aspects of algorithms. Alternatively, we choose to only lecture the fundamental algorithms, and thus the teaching contents are organized by their design ideas. When ending this course, the students are expected to skillfully model the real-world problems using an appropriate method and design/implement the concret algorithm to obtain their solutions.If you have any problems, please contact me via E-mail: zlwang AT ustc DOT edu DOT cn o

    Read More

  • OOP using C++

    Using C++ programming language, teach students Object-oriented Programming, including concepts, principle, features, method, and practice. <考试时间:2018-12-27(周四)>【Introduction】This course is aimed at beginners who have not learnt any programming course or a different language from C++. The course teaches students object-oriented programming (OOP) principles and core methods over C++. Our goal is to guide students to know the philosophy of programming design and the important features of C++ so that they can further self-study others, such as generic programming, design pattern.The teaching method of this course is to concisely explain most important knowledge points of OOP by real programming and experiments using C++, rather than traditionally introducing all new features one by one. As in most courses, it cannot teach all aspects of C++. Alternatively, we choose to only lecture the important contents that are frequently used in practice. When ending this course, the students are expected to skillfully program mid-level software with C++ to resolve the real problems for research, projects, jobs, etc.Note that the course is only to guide students programming through principle and practice, and you need and are expected to read more books to learn advanced knowledge if you want to be an expert of C++ Programming. In particular, you may refer to reference books.Actually, there have been quite many C++ programs developed for various applications in real world. For details, see Stroustrup’s lists or the corresponding Chinese version that provides some typical application scenarios.If you have any problems, please contact me via E-mail: zlwang AT ustc DOT edu DOT cn or visit my homepage.【Textbook】We choose the book “Programming: Principles and Practice using C++” (PPP) as the textbook of this course because it is much suitable for beginners and especially emphasizes the practice. The book is written by “the C++ farther” Bjarne Stroustrup, whose another bibl

    Read More

Back to top