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. All the features of this course are available for free. No certificate will be offered upon completion.
Instructor Details
Courses : 4
Specification: Computer Science: Algorithms, Theory, and Machines

21 reviews for Computer Science: Algorithms, Theory, and Machines
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Provider  

Duration  27 hours 
Year  2018 
Level  Intermediate 
Language  English 
Certificate  Yes 
Quizzes  No 
Amit K G –
Best Teaching style.
Clyde R –
I’ve enjoyed the Sedgewick/Wayne books and courses for years. I am enjoying the fresh presentation and the modifications done in this course. Other than the Obama clip. We could have done without that.
Oscar J M Z –
Great course about the foundations of computing
Daniel C –
This course is a brilliant introduction to the most important Computer Science topics.
Ernesto G –
Very pedagogical and enjoyable introduction to CS. Another great Princeton University Coursera course.
Mithilesh V –
This course is the perfect introduction to anybody who is interested in learning how a computer works from scratch. The first few weeks cover some important algorithms and data structures which are at the heart of our computational infrastructure. The latter half covers theoretical concepts like the Turing Machine, Intractability and the design of the CPU. Programming assignments would have made the course more challenging and fun. But in a nutshell, I highly recommend this course to any person looking for an introductory computer science course which covers some important topics in the vast domain of computer science
Paolo S –
Professors Sedgewick and Wayne succeed in explaining a lot of useful concepts in a very limited amount of time. The course requires you to dig deeper in the subject but it lays a very solid base for further knowledge development.
Muhammad T –
thats graet acchivement for me
DENIS K –
I’ve taken this course as one of few useful classes available on Coursera via AT&T continued education program. This course certainly allowed me to refresh memory on many philosophical CS topics and even learn something new. The idea of teaching programming from the lowest level possible and the introduction of TOY 8 assembly with !!!cpu schematics!!! is a very good idea. Gradual transition from mathematical concepts to physical hardware is what makes this course unique. This class is not about programming. This class is not about algorithms. It it a good CS 101 introductory course. It is for somebody who already knows math, logic, basic electronics and basic programming to give a taste on what CS is about. Or for somebody like me to refresh memory on rarely used topics. For introductory course it is too heavy weight in my opinion. The goal of covering everything from Turing Machine to actual hardware is too ambitious and requires much more than 10 weeks to cover.
Ahmed N –
Excellent clarity and pace with real life problems and challenges to really understand the concepts and their motivation.
Jerrold –
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.
hi –
i think the toy is a litter complex, algorithm is much more fun.
Diego L –
Loved this course! Such a great introduction to Computer Science. The course is really well broken down and the videos are very well done!
Heather L –
Great beginners course on algorithms, theory and the inner workings of your computer!
Andrey V –
Great Course!
@SiccoOtten –
Great content, well structured, well presented! Kudo’s to Mr. Sedgewick and Mr. Wayne.
Zephyr L –
The course material is great! On computing theory, it gives a comprehensive list of famous problems.On circuit design, the TOY 8 computer is so elegant that i can print the design out on a page of paper!
Trinh D M –
This is an amazing course. Best of all it’s available for free. The instructor goes from the most basic element and theory to building a whole theoretical computer circuit, an essential part that many computing courses nowadays fail to teach. The content is quite heavy but very enjoyable and probably best for someone already has with basic understanding of computers, programming and physics. I wouldn’t teach this to someone totally new to computing, but maybe that’s the way at Princeton. I just wish the book site were more up to date on some part.
Glen F –
Really enjoyed this course despite that several chapters are under going major re write. You need to do/try some of the problems in the online book, or try to replicate what Drs Sedgwick and Wayne do during the videos. Theoretical CS is really interesting and I can see how people get passionate by it. Thanks Gents, great course
Meysam A –
I loved this course. If you want to know in depth how your computer works and what you can compute in general, this course is for you. Thank you very much for this amazing course.
Xiaoyu Z –
This is the 3rd course I’ve taken from Professor Robert. As always, I learned a lot from it. The course really ignited my passion for computer and programming. The depth and width of Professor’s knowledge impressed me. I want to say a big thank you before Thanksgiving Day. Happy Thanksgiving Day!