Computer Science: Programming with a Purpose

  • Free
  • No certificate
  • Beginner
Provider
Princeton
Offered by
Princeton University
Cost
Free
Certificate
No certificate
Level
Beginner
Format
Self-paced
Language
English
Subjects
Programming, Computer Science
Source
Princeton Online
Last verified
20 Oct 2026

Computer Science: Programming with a Purpose is Robert Sedgewick and Kevin Wayne's introductory programming course, built on the first half of their book Computer Science: An Interdisciplinary Approach. It takes the view that programming is now as basic a skill as reading, writing and arithmetic, and teaches Java through ten modules: basic programming concepts, conditionals and loops, arrays, input and output, functions and libraries, recursion, performance, abstract data types, creating data types, and programming languages. Coursera labels it beginner level with a flexible schedule and estimates about two months at ten hours a week.

The course page states that all features are available for free and that, as per Princeton University policy, no certificates, credentials or reports are awarded. The textbook is optional. Its sequel, Computer Science: Algorithms, Theory, and Machines, covers the second half of the book and is also free.

Advertisement

What you’ll learn

  • Write Java programs using variables, conditionals, loops and arrays
  • Handle input and output and organise code into functions and libraries
  • Use recursion and reason about program performance
  • Define and create abstract data types
  • Place Java among other programming languages

Who it’s for

Beginners who want a serious first programming course in Java with graded assignments, and do not need a certificate.

Syllabus

10 sections as listed on coursera.org, 88 h 10 min in total.

  1. BASIC PROGRAMMING CONCEPTS 9 h 35 min
  2. CONDITIONALS AND LOOPS 9 h 16 min
  3. ARRAYS 9 h 17 min
  4. INPUT AND OUTPUT 9 h 9 min
  5. FUNCTIONS AND LIBRARIES 9 h 20 min
  6. RECURSION 9 h 18 min
  7. PERFORMANCE 9 h 26 min
  8. ABSTRACT DATA TYPES 4 h 13 min
  9. CREATING DATA TYPES 9 h 19 min
  10. PROGRAMMING LANGUAGES 9 h 17 min

Instructors

  • Robert Sedgewick William O. Baker *39 Professor in Computer Science, Emeritus, Computer Science, Princeton University
  • Kevin Wayne Phillip Y. Goldman '86 University Lecturer, Computer Science, Princeton University

Course details

Skills covered
  • Object Oriented Programming (OOP)
  • Animations
  • Programming Principles
  • Program Development
  • Algorithms
  • Computer Science
  • Java Programming
  • Code Reusability
  • Computer Programming
  • Java
Includes
10 modules · 10 assignments
Prerequisites
No prior experience required
Subtitles
23 languages

On coursera.org

Rated 4.7 out of 5 by 1,392 learners; 511,096 enrolled, as shown on the course page on 20 Oct 2026. These are coursera.org’s own figures, not ours.

Source: Princeton Online (opens in a new tab) · Verified · Report a change

Advertisement
FreeOpens coursera.org Go to course (opens in a new tab)