In this class, you will learn the basics of the PGM representation and how to construct them, using both human knowledge and machine learning techniques.
Investigate the basic concepts behind programming languages, with an emphasis on the techniques and benefits of functional programming. Use the programming languages ML, Racket, and Ruby to learn how the pieces of a language fit together to create more than the sum of the parts. Gain new software skills and the concepts needed to learn new languages on your own.
This is an introduction to quantum computation, a cutting edge field that tries to exploit the exponential power of computers based on quantum mechanics. The course does not assume any prior background in quantum mechanics, and can be viewed as a very simple and conceptual introduction to that field.
This course will use social network analysis, both its theory and computational tools, to make sense of the social and information networks that have been fueled and rendered accessible by the internet.
In this course, you will learn about software defined networking and how it is changing the way communications networks are managed, maintained, and secured.
Examines key computational abstraction levels below modern high-level languages. From Java/C to assembly programming, to basic processor and system organization.
A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build these tools in this class.
This course is about building 'web-intelligence' applications exploiting big data sources arising social media, mobile devices and sensors, using new big-data platforms based on the 'map-reduce' parallel programming paradigm. In the past, this course has been offered at the Indian Institute of Technology Delhi as well as the Indraprastha Institute of Information Technology Delhi.
This course provides a brisk, challenging, and dynamic treatment of differential and integral calculus, with an emphasis on conceptual understanding and applications to the engineering, physical, and social sciences.
This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. In addition, this course covers generating functions and real asymptotics and then introduces the symbolic method in the context of applications in the analysis of algorithms and basic structures such as permutations, trees, strings, words, and mappings.
学习运用计算思维分析社会学、经济学问题的方法,加深对某些生活现象的理解,体会计算与社会科学的互动。
Learn to analyze and reason about problems in social sciences with computational thinking, appreciate interactions between computing and social sciences, as well as gain deeper understanding of some common phenomena in life and society
Education is increasingly occurring online or in educational software,
resulting in an explosion of data
that can be used to improve educational effectiveness and
support basic research on learning. In this course, you will learn how
and when to use key methods for educational data mining and
learning analytics on this data.
Use of available (mainly web-based) programs for analyzing biological data. This is an introductory course with a strong emphasis on hands-on methods. Some theory is introduced, but the main focus is on using extant bioinformatics tools to analyze data and generate biological hypotheses.
This course was the first in a two-part series covering some of the algorithms underlying bioinformatics. It has now been split into three smaller courses.
This course teaches the concepts and computational methods in the exciting interdisciplinary field of bioinformatics and their applications in life sciences. The lectures are taught in both Mandarin Chinese and English with slides in English.
生物信息学是一门新兴的生命科学与计算科学的前沿交叉学科。本课程讲授生物信息学主要概念和方法,以及如何应用生物信息学手段解决生命科学问题。本课程同时提供中文普通话授课和英文授课两个版本,以及英文幻灯片。
This course is for experienced C programmers who want to program in C++. The examples and exercises require a basic understanding of algorithms and object-oriented software.