Computer Science: Theory

 

 


 

Customize your search:

E.g., 2017-03-30
E.g., 2017-03-30
E.g., 2017-03-30
Apr 5th 2017

Learn how to model social and economic networks and their impact on human behavior. How do networks form, why do they exhibit certain patterns, and how does their structure impact diffusion, learning, and other behaviors? We will bring together models and techniques from economics, sociology, math, physics, statistics and computer science to answer these questions.

Average: 7.5 (2 votes)
Apr 3rd 2017

World and internet is full of textual information. We search for information using textual queries, we read websites, books, e-mails. All those are strings from the point of view of computer science. To make sense of all that information and make search efficient, search engines use many string algorithms. Moreover, the emerging field of personalized medicine uses many search algorithms to find disease-causing mutations in the human genome.

Average: 7.1 (13 votes)
Apr 3rd 2017

You've learned the basic algorithms now and are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more obvious applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision or finding dense clusters in the advertiser-search query graphs at search engines. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements, call routing in telecommunications and many others. Next we discuss inherently hard problems for which no exact good solutions are known (and not likely to be found) and how to solve them approximately in a reasonable time. We finish with some applications to Big Data and Machine Learning which are heavy on algorithms right now.

Average: 6.6 (17 votes)
Apr 3rd 2017

讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

Average: 7 (1 vote)
Apr 3rd 2017

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Average: 6.3 (9 votes)
Apr 3rd 2017

本课程内容程涵盖枚举、二分、贪心、递归、深度优先搜索、广度优先搜索、动态规划等基本算法。通过大量的高强度的编程训练,提高动手能力,做到能较为熟练、完整、准确地实现自己设计的程序,为进一步学习其他计算机专业课程,或在其他专业领域运用计算机编程解决问题奠定良好的基础。

No votes yet
Apr 3rd 2017

How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners? To solve such problems, we first represent the key pieces of data in a complex data structure. In this course, you’ll learn about data structures, like graphs, that are fundamental for working with structured real world data.

Average: 7.2 (16 votes)
Apr 3rd 2017

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).

Average: 5 (2 votes)
Apr 3rd 2017

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language.

Average: 5.8 (11 votes)
Apr 3rd 2017

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables.

Average: 6.3 (4 votes)
Apr 3rd 2017

本课程的目的有二:其一,帮助同学们了解计算机的基本运行原理,了解程序运行的基本原理,了解计算机的发展状态及趋势。其二,引导同学们逐步进入"计算机程序设计语言"的学习。我们希望本课程为同学们解答如下一些问题:计算机为什么能够进行计算?计算机程序是怎样运行的?计算机未来可能的发展趋势有哪些?程序是如何编写出来的?如何学习程序设计语言?程序设计语言的基本成分有哪些? 完成本课程,表明同学们已经了解了计算机运行的基本原理,了解了计算机程序的基本特性。

Average: 1 (1 vote)
Apr 3rd 2017

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing.

Average: 8 (2 votes)
Apr 3rd 2017

这门课程将帮助学生学习如何运用高级的数据结构和相关算法解决复杂的应用问题。

Average: 4.7 (3 votes)
Apr 3rd 2017

这门课程将帮助学生学习如何运用基础的数据结构和相关算法解决实际应用问题。

Average: 4.5 (2 votes)
Apr 3rd 2017

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).

Average: 7.6 (12 votes)
Apr 3rd 2017

Analytic Combinatorics teaches a calculus that enables precise quantitative predictions of large combinatorial structures. This course introduces the symbolic method to derive functional relations among ordinary, exponential, and multivariate generating functions, and methods in complex analysis for deriving accurate asymptotics from the GF equations.

Average: 4.3 (12 votes)
Apr 3rd 2017

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments.

Average: 8.8 (9 votes)
Apr 3rd 2017

This course is an introduction to Logic from a computational perspective. It shows how to encode information in the form of logical sentences; it shows how to reason with information in this form; and it provides an overview of logic technology and its applications - in mathematics, science, engineering, business, law, and so forth.

Average: 8 (1 vote)
Apr 3rd 2017

If you have ever used a navigation service to find optimal route and estimate time to destination, you've used algorithms on graphs. Graphs arise in various real-world situations as there are road networks, computer networks and, most recently, social networks! If you're looking for the fastest time to get to work, cheapest way to connect set of computers into a network or efficient algorithm to automatically find communities and opinion leaders in Facebook, you're going to work with graphs and algorithms on graphs.

Average: 7.8 (12 votes)
Apr 3rd 2017

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Average: 6.5 (11 votes)

Pages