Back to Computer Science: Programming with a Purpose
Princeton University

Computer Science: Programming with a Purpose

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world. This course covers the first half of our book Computer Science: An Interdisciplinary Approach (the second half is covered in our Coursera course Computer Science: Algorithms, Theory, and Machines). Our intent is to teach programming to those who need or want to learn it, in a scientific context. We begin by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O. Next, we turn to functions, introducing key concepts such as recursion, modular programming, and code reuse. Then, we present a modern introduction to object-oriented programming. We use the Java programming language and teach basic skills for computational problem solving that are applicable in many modern computing environments. Proficiency in Java is a goal, but we focus on fundamental concepts in programming, not Java per se. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Computer Science: An Interdisciplinary Approach (upon which the course is based) or to visit the website introcs.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.

Status: File I/O
Status: Computer Programming
BeginnerCourse88 hours

Featured reviews

NK

5.0Reviewed Jun 15, 2021

Can't wait to get into the second part of the course. The best programming course ever provided for free of cost. The techniques used are backed by mathematical thinking. It is just awesome.

ME

5.0Reviewed Mar 27, 2021

This course is very helpful and useful especially that i am in the field of teaching. While im learning my student also learning. Thank you! And Godbless!

A

5.0Reviewed Apr 5, 2024

Computer Science: Programming with a Purpose" is highly recommended for those seeking a solid foundation in computer science and programming, regardless of their level of experience.

DB

5.0Reviewed Jul 23, 2020

Really fun and challenging exercises! Had a great time solving them. The book site a lot more interesting problems and students should check it out.

MA

4.0Reviewed Dec 16, 2024

The 5th star is absent only because the course relies on custom libraries. Not that I'm against that (who am I to say Robert Sedgwick is wrong, right?), but it would have been good, no?

JW

5.0Reviewed Nov 26, 2022

Very useful and helpful course for beginner in Java. I learned Python before and this course is much more difficult, but it does help a lot for you to step further into CS world.

HT

5.0Reviewed Nov 25, 2021

This is my first course in Coursera. If you are beginner, you should watch videos, read the booksite and the book that covering this course. It simply needs a lot of hard work !

LM

5.0Reviewed Sep 21, 2019

I liked this course very much. Good materials and perfect lecturers. Good structured and well explained material and interesting exercises ranging from very beginner to challenging.

EO

5.0Reviewed Oct 8, 2022

G​ood introduction to programming and covers all basic aspects of programming with an object oriented language. Good knowledge to take to learn others like Python.

SM

4.0Reviewed Aug 15, 2020

This course was great for learning Java, but I believe it could have been better if it had covered the actual "computer science" aspect (like the anatomy of a computer, history of computing, etc.)

BB

5.0Reviewed Mar 12, 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.

PK

5.0Reviewed Oct 9, 2020

Very useful for programmers, especially beginners. Examples taken to explain the concepts are real-time application oriented which reinforce importance of the concepts!!

All reviews

Showing: 20 of 373

Vasile Dragos
1.0
Reviewed Feb 19, 2020
Andrew Smith
1.0
Reviewed Mar 4, 2020
Gilad Barach
3.0
Reviewed Jul 3, 2019
Adriana Ng Elynn
1.0
Reviewed Apr 6, 2020
Julie Carres
5.0
Reviewed Sep 15, 2019
Vinod Sindhu
5.0
Reviewed May 14, 2019
NABIN KARKI
5.0
Reviewed Jun 16, 2021
Glen Fiddich
4.0
Reviewed Aug 15, 2019
Bhavik
5.0
Reviewed Mar 13, 2019
Lompar Milos
5.0
Reviewed Sep 22, 2019
Kirill Nikolaev
5.0
Reviewed Apr 12, 2020
Sherry Chin
1.0
Reviewed Sep 20, 2020
Binliu Zhang
4.0
Reviewed Jan 28, 2020
Francisco Javier Rojas Arias
1.0
Reviewed Aug 5, 2020
Tim Reinfeld
2.0
Reviewed Sep 6, 2020
Deleted Account
5.0
Reviewed May 21, 2020
William Gram
5.0
Reviewed May 7, 2020
Jovonne Bolar
2.0
Reviewed Oct 26, 2020
Alexandru Tache
5.0
Reviewed Jan 29, 2024
GT K. Aleha
3.0
Reviewed Jun 19, 2021