About this Course
43,279 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Beginner Level

English

Subtitles: English

Skills you will gain

Programming PrinciplesComputer ScienceAlgorithmsJava Programming

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Beginner Level

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
10 hours to complete

BASIC PROGRAMMING CONCEPTS

Why program? This lecture addresses that basic question. Then it describes the anatomy of your first program and the process of developing a program in Java using either virtual terminals or a program development environment, with some historical context. Most of the lecture is devoted to a thorough coverage of Java's built-in data types, with example programs for each.

...
4 videos (Total 75 min), 2 readings, 2 quizzes
4 videos
Type conversion10m
2 readings
Supplements for Lecture 110m
Optional Enrichment on Basic Programming Concepts10m
1 practice exercise
Basic Programming Concepts
Week
2
9 hours to complete

CONDITIONALS AND LOOPS

The if, while, and for statements are Java's fundamental control structures. This lecture is built around short programs that use these constructs to address important computational tasks. Examples include sorting, computing the square root, factoring, and simulating a random process. The lecture concludes with a detailed example illustrating the process of debugging a program.

...
5 videos (Total 56 min), 2 readings, 2 quizzes
2 readings
Supplements for Lecture 210m
Optional Enrichment on Conditionals and Loops10m
1 practice exercise
Conditionals and Loops
Week
3
9 hours to complete

ARRAYS

Computing with a large sequence of values of the same type is extremely common. This lecture describes Java's built-in array data structure that supports such applications, with several examples, including shuffling a deck of cards, the coupon collector test for randomness, and random walks in a grid.

...
3 videos (Total 57 min), 2 readings, 2 quizzes
2 readings
Supplements for Lecture 310m
Optional Enrichment on Arrays10m
1 practice exercise
Arrays
Week
4
9 hours to complete

INPUT AND OUTPUT

To interact with our programs, we need mechanisms for taking information from the outside world and for presenting information to the outside world. This lecture describes several such mechanisms: for text, drawings, and animation. Detailed examples covered include fractal drawings that model natural phenomena and an animation of a ball bouncing around in the display window.

...
4 videos (Total 49 min), 2 readings, 2 quizzes
2 readings
Supplements for Lecture 410m
Optional Enrichment on Input and Output10m
1 practice exercise
Input and Output
4.8
10 ReviewsChevron Right

Top reviews from Computer Science: Programming with a Purpose

By VSMay 14th 2019

Beautiful course. I am a software developer with 10+ years of experience in programming and have never realized depth of actual MATH behind all that I do. Thank you Robert Sedgewick, you are the BEST.

By BBMar 13th 2019

Excellent course, inface the best I found on any MOOC platform for a complete beginner to Java. Loved it. Would appreciate more coding assignments though. Only week 1 & 2 have those.

Instructors

Avatar

Robert Sedgewick

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

Kevin Wayne

Phillip Y. Goldman '86 Senior Lecturer
Computer Science

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

Frequently Asked Questions

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

  • No. The lecture videos, exercises, and programming assignments are all available for free.

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

  • This course is aimed at first-year college students, high school students, and professionals in all fields who are interested in learning basic programming skills. It is a self-contained treatment intended for people with little or no previous experience in programming. It is also appropriate for people who know another programming language but want to learn Java.

    At Princeton, over 50% of all undergraduates take the course, including students majoring in engineering, biology, physics, chemistry, economics, and many other fields, not just computer science.

  • Multiple-choice exercises, in-video quizzes, and programming assignments. The programming assignments are evaluated using a sophisticated autograder that provides detailed feedback about style, correctness, and (sometimes) efficiency.

  • W​e supply a streamlined version of IntelliJ that is easy to install and suitable for novices. However, you are free to use any programming environment that you like.

More questions? Visit the Learner Help Center.