Coursera
Coursera Logo

Princeton University - Computer Science: Algorithms, Theory, and Machines 

  • Offered byCoursera

Computer Science: Algorithms, Theory, and Machines
 at 
Coursera 
Overview

Duration

20 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Schedule type

Self paced

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Computer Science: Algorithms, Theory, and Machines
 at 
Coursera 
Highlights

  • 100% online Start instantly and learn at your own schedule.
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Intermediate Level
  • Approx. 20 hours to complete
  • English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Read more
Details Icon

Computer Science: Algorithms, Theory, and Machines
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • 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.
Read more

Computer Science: Algorithms, Theory, and Machines
 at 
Coursera 
Curriculum

INFORMATION ABOUT LECTURES 1?10

Information about Lectures 1?10

A typical client

Binary search

Insertion sort

Mergesort

Longest repeated substring

Getting Started

Supplements for Lecture 11

Optional Enrichment on Sorting and Searching

Sorting and Searching

STACKS AND QUEUES

APIs

Clients

Strawman implementations

Linked lists

Implementations

Supplements for Lecture 12

Optional Enrichment on Stacks and Queues

Stacks and Queues

SYMBOL TABLES

APIs and clients

A design challenge

Binary search trees

Implementation

Analysis

Supplements for Lecture 13

Optional Enrichment on Symbol Tables

Symbol Tables

INTRODUCTION TO THE THEORY OF COMPUTING

Overview

Regular Expressions

DFAs

Applications

Limitations

Supplements for Lecture 14

Optional Enrichment on Theory of Computing

Theory of Computing

TURING MACHINES

Context

A simple model of computation

Universality

Computability

Implications

Supplements for Lecture 15

Optional Enrichment on Turing Machines

Turing Machines

INTRACTABILITY

Reasonable questions

P and NP

Poly-time reductions

NP-completeness

Living with intractability

Supplements for Lecture 16

Optional Enrichment on Intractability

Intractability

A COMPUTING MACHINE

Overview

Data Types

Instructions

Operating the machine

Machine language programming

Supplements for Lecture 17

Optional Enrichment on A Computing Machine

A Computing Machine

VON NEUMANN MACHINES

Perspective

A note of caution

Practical implications

Simulation

Supplements for Lecture 18

Optional Enrichment on von Neumann Machines

von Neumann Machines

COMBINATIONAL CIRCUITS

Building blocks

Boolean algebra

Digital circuits

Adder circuit

Arithmetic/logic unit

Supplements for Lecture 19

Optional Enrichment on Combinational Circuits

Combinational Circuits

CENTRAL PROCESSING UNIT

Overview

Bits, registers, and memory

Program counter

Components and connections

Supplements for Lecture 20

Optional Enrichment on the CPU

CPU

Computer Science: Algorithms, Theory, and Machines
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Computer Science: Algorithms, Theory, and Machines
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...