This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.
от партнера
Computer Science: Algorithms, Theory, and Machines
Принстонский университетОб этом курсе
от партнера

Принстонский университет
Princeton University is a private research university located in Princeton, New Jersey, United States. It is one of the eight universities of the Ivy League, and one of the nine Colonial Colleges founded before the American Revolution.
Программа курса: что вы изучите
INFORMATION ABOUT LECTURES 1–10
This lesson provides information about the course Computer Science: Programming with a Purpose, which is the precursor to Computer Science: Algorithms, Theory, and Machines.
SORTING AND SEARCHING
We introduce and study classic algorithms for two fundamental problems, in the context of realistic applications. Our message is that efficient algorithms (binary search and mergesort, in this case) are a key ingredient in addressing computational problems with scalable solutions that can handle huge instances, and that the scientific method is essential in evaluating the effectiveness of such solutions.
STACKS AND QUEUES
Our introduction to data structures is a careful look at the fundamental stack and queue abstractions, including performance specifications. Then we introduce the concept of linked structures and focus on their utility in developing simple, safe, clear, and efficient implementations of stacks and queues.
SYMBOL TABLES
The symbol table abstraction is one of the most important and useful programmer's tools, s we illustrate with several examples in this lecture. Extending the scientific approach of the previous two lectures, we introduce and study binary search trees, a classic data structure that supports efficient implementations of this abstraction.
INTRODUCTION TO THE THEORY OF COMPUTING
The theory of computing helps us address fundamental questions about the nature of computation while at the same time helping us better understand the ways in which we interact with the computer. In this lecture, we introduce formal languages and abstract machines, focusing on simple models that are actually widely useful in practical applications.
Рецензии
- 5 stars79,77 %
- 4 stars17,37 %
- 3 stars2,27 %
- 1 star0,56 %
Лучшие отзывы о курсе COMPUTER SCIENCE: ALGORITHMS, THEORY, AND MACHINES
Good overview of algorithms and data structures. However they use an inhouse API in the provided java code with some unknown methods and the code they provide sometimes doesn't compile.
Excellent introductory course to theoretical concepts of Computer Scirence. Taking this course has made me aware of many aspects of the discipline.
Definitely recommended!
Thank you for sharing your knowledge and expertise. Its a big help for learning the process as well as the behavior of the machine
It's a very good course
i recommend taking this course after knowing some java
Часто задаваемые вопросы
Когда я получу доступ к лекциям и заданиям?
Когда я получу доступ к лекциям и заданиям?
Do I need to pay for this course?
Can I earn a certificate in this course?
Which kinds of assessments are available in this course?
Остались вопросы? Посетите Центр поддержки учащихся.