課程信息
4.8
60 個評分
9 個審閱
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. First, we introduce classic algorithms along with scientific techniques for evaluating performance, in the context of modern applications. Next, we introduce classic theoretical models that allow us to address fundamental questions about computation, such as computability, universality, and intractability. We conclude with machine architecture (including machine-language programming and its relationship to coding in Java) and logic design (including a full CPU design built from the ground up). The course emphasizes the relationships between applications programming, the theory of computation, real computers, and the field's history and evolution, including the nature of the contributions of Boole, Shannon, Turing, von Neumann, and others....
Globe

100% 在線課程

立即開始,按照自己的計劃學習。
Calendar

可靈活調整截止日期

根據您的日程表重置截止日期。
Intermediate Level

中級

Clock

Approx. 23 hours to complete

建議:10 weeks of study, 2-5 hours/week...
Comment Dots

English

字幕:English...
Globe

100% 在線課程

立即開始,按照自己的計劃學習。
Calendar

可靈活調整截止日期

根據您的日程表重置截止日期。
Intermediate Level

中級

Clock

Approx. 23 hours to complete

建議:10 weeks of study, 2-5 hours/week...
Comment Dots

English

字幕:English...

教學大綱 - 您將從這門課程中學到什麼

Week
1
Clock
完成時間為 10 分鐘

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....
Reading
1 個閱讀材料
Reading1 個閱讀材料
Information about Lectures 1-1010分鐘
Clock
完成時間為 2 小時

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....
Reading
5 個視頻(共 71 分鐘), 3 個閱讀材料, 1 個測驗
Video5 個視頻
Binary search10分鐘
Insertion sort11分鐘
Mergesort12分鐘
Longest repeated substring19分鐘
Reading3 個閱讀材料
Getting Started10分鐘
Supplements for Lecture 1110分鐘
Optional Enrichment on Sorting and Searching10分鐘
Quiz1 個練習
Sorting and Searching8分鐘
Week
2
Clock
完成時間為 2 小時

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....
Reading
5 個視頻(共 69 分鐘), 2 個閱讀材料, 1 個測驗
Video5 個視頻
APIs13分鐘
Clients22分鐘
Strawman implementations9分鐘
Linked lists15分鐘
Implementations8分鐘
Reading2 個閱讀材料
Supplements for Lecture 1210分鐘
Optional Enrichment on Stacks and Queues10分鐘
Quiz1 個練習
Stacks and Queues8分鐘
Week
3
Clock
完成時間為 1 小時

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....
Reading
5 個視頻(共 57 分鐘), 2 個閱讀材料, 1 個測驗
Video5 個視頻
A design challenge6分鐘
Binary search trees13分鐘
Implementation4分鐘
Analysis8分鐘
Reading2 個閱讀材料
Supplements for Lecture 1310分鐘
Optional Enrichment on Symbol Tables10分鐘
Quiz1 個練習
Symbol Tables8分鐘
Week
4
Clock
完成時間為 2 小時

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....
Reading
5 個視頻(共 63 分鐘), 2 個閱讀材料, 1 個測驗
Video5 個視頻
Overview5分鐘
Regular Expressions20分鐘
DFAs14分鐘
Applications12分鐘
Limitations9分鐘
Reading2 個閱讀材料
Supplements for Lecture 1410分鐘
Optional Enrichment on Theory of Computing10分鐘
Quiz1 個練習
Theory of Computing8分鐘

講師

Robert Sedgewick

William O. Baker *39 Professor of Computer Science
Computer Science

Kevin Wayne

Senior Lecturer
Computer Science

關於 Princeton University

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....

常見問題

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • No. As per Princeton University policy, no certificates, credentials, or reports are awarded in connection with this course.

還有其他問題嗎?請訪問 學生幫助中心