Chevron Left
Back to Computer Science: Programming with a Purpose

Learner Reviews & Feedback for Computer Science: Programming with a Purpose by Princeton University

4.7
stars
1,116 ratings

About the Course

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. It does not offer a certificate upon completion....

Top reviews

VS

May 13, 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.

PK

Aug 6, 2023

This was a very great course to learn a powerful programming language, techniques used. This has changed my life for better and am looking forward to a career change into the programming world.

Filter by:

51 - 75 of 327 Reviews for Computer Science: Programming with a Purpose

By Nilav N

May 22, 2021

Great way to explain things and giving test

By Marc T

May 9, 2021

AAA

Many, many thanks to staff ;)

By Aditya h

May 17, 2019

Great refresher for JAva.

By Richard K

Aug 14, 2020

This was a challenging course, but not for beginners. I am an experienced programmer in several languages and wanted to learn Java, which I accomplished. The course does not teach any design approach (such as flow charting or outlining), which would be best for beginners.

By IrhamHamedAyani

Jun 25, 2022

Although this course called itself a "course for beginners", it is not easy at all and I don't think beginners can finish those graded programming! This one is perfect, not only because of the lecture but also those "challenging" but interesting coding testsㅤㅤㅤ

By Mutembo K

Feb 17, 2022

I liked that I was able to pace myself in the course. I did have a lot of challenges with the assignment content. They at times felt too advanced for me coming in with little programming knowledge. I did however enjoy learning this course.

By Tim G

Dec 20, 2022

This course definitely improved my understanding of computer science topics and would recommend. I did find some of the assignments to be a little confusing as far was what they were expecting.

By LunaBaron

Dec 21, 2022

An excellent introduction to Java, however if i took this course as a completely fresh learner I would have struggled immensely

By Preston N

Jun 4, 2019

Good over all, but the quizzes can be a little annoying.

By Shuyuan D

Jun 13, 2019

Good recap course for an experienced programmer

By Mikaela W

Apr 26, 2020

Lectures and assignments are heavily math-based, even in the very beginning, couldn't continue with course. I'm dyslexic and learning concepts using what feels like high-level math formulas and concepts doesn't work for me, couldn't comprehend a lot of assignment problem statements for the same reason. I'm sure it's great for those that don't struggle with mathematical comprehension, but it doesn't cater for those that do.

By Irina

Jan 30, 2021

The course is not beginner friendly in my opinion. A lot of students, me included seem to be really confused about week 1's assignments, one can clearly see that in the forums. The class itself isn't bad, just advertised as beginner friendly. I do not find it to be so. Will retake it when will have a bit of basis of Java.

By Dilkhush S R

Nov 26, 2022

good course but not recommended for beginners.

By Isabell R

Sep 15, 2021

I really did try , I had trouble downloading the java. I try going to get help . then When finally get it right ,I try to do the HelloWorld assignment The path isnt there , So I deleted start all over again . download java and did assignment again , this time it take I am finally almost at the end on the command line . I close and go eat ,when I come back I got two assignment that are not mine in my folder wth and disable at the moment with my foot . working on computer for shop , and don't really have time to start all over so frustrating . I don't know what happen , I am mad and tired . i

By Neil A

Nov 11, 2021

Initial "introcs" program doesn't install properly because the Java compiler doesn't work - and yes, I installed as Administrator. Also, "DrJava" cant compile even the initial HelloWorld,java application used to test the introcs installation. It's not recommended to install manually because of all the additional plug-ins that are required or I'd fix it myself. It's a good thing this is among their "free" courses because I am certainly not going to pay Coursera to troubleshoot and fix their stuff. Unenrolled. Would not enroll again.

By Matthew S

Dec 24, 2022

"Beginner Level" Week 1 jumps from "Hello and Goodbye" to find the distance between two points on the earth. The Math functions required were not even mentioned in any of the videos besides just ONE function that was required, without even going into detail on it. Don't get me wrong, I did all of it and passed week 1 just fine, but a more inexperienced beginner than myself with no experience wouldn't have any idea what to do. Just find some 4-12 hour tutorials on YouTube instead, better worth your time.

By JEAN-BAPTISTE M D

Nov 7, 2020

Your course is lacking the possibility to make contact with the teacher or helper, no e-mail, no telephone number. I am stuck on the learning process, I pass the 75% required on week 1 to go to the job assignment, the problem with the software IntelliJ, no possibility of help. Please cancel my subscription

By Alexandru T

Jan 29, 2024

Fantastic course for those who are truly passionate about programming and wish to learn a vast amount of new things. When I say "passionate", I really mean it. Unless you are truly cut out to be a programmer, which means enjoying the process of spending countless hours surfing the internet for questions about all manners of CS stuff , and the enjoy the consequent process of implementing everything by yourself, so that you can really understand what's going on, well, without this kind of passion, you will find this course unbearably difficult and frustrating. Little more than the basic notions are provided in the lectures and there's A LOT you have to figure out on your own. This is actually very good, because if it is your goal to become a professional programmer, than this is what you actually need to learn and get proficient at: how to figure stuff out on your own. And boy there's a lot of that in this course! However, if you just want a simple intro into programming and figure out what this is about, I don't think this is the course for you. You can actually think of this course as a sort of test: if you actually enjoy going through all of the examples, understanding all that's going on with the implementations, working through the problem sets on your own (it will likely take you numerous iterations with every problem set before you get to an acceptable solution by the course's high standards), working as a programmer may be quite suitable for you. If the contrary is true, and you don't envisage yourself spending the greatest part of your life and career doing this type of activity, then you should seriously consider doing something else. NB: I write this as somebody in this second category, who, after going through all of this course, decided that programming is clearly not for myself. I did give the course a 5-star rating, since I believe it really is wonderful for those who have a vocation for programming.

By Mail G

May 11, 2023

As the name of the class "Programming with a Purpose" suggests, you learn Java programming from very realistic examples. This class is far from just any other class that learns about Java grammar sequentially.

The examples covered in the lecture cover a wide range of practical fields, such as gambling and statistics, biology, sound waves, and computer graphics. Solving problems that cannot be solved mathematically through programming in such fields, or experiencing things that are difficult for humans to express visually, is not only satisfactory in itself, but also a wonderful experience to feel the purpose of programming.

At the end of each chapter, there are assignments that you should write java files that are scored by an auto-grader. If you don't follow what you learned in class and the assignment instructions thoroughly, your score will be mercilessly deducted. So you'll need a few trials and errors for a complete review and application.

To share one experience, I didn't bother to understand all the examples in this class later on. There's a formula for the cumulative distribution function in a lecture, the concept itself is in high school mathematics, but what I learned about it in detail was the class I took in my third year of college. If I wanted to understand it correctly, I would have to review the mathematical statistics I took before.

Another example is point charge, which is something that I don't understand at all because I've never learned physics, and I probably won't. I only checked that I could express it visually using what I learned in the chapter.

In terms of difficulty, I think it can be difficult for a complete programming beginner to feel that the task is too difficult compared to the slightly implicit explanation of the class video. But if you've already studied basic programming, you can definitely learn a lot of things, and I strongly recommend it.

By Parth G

Nov 21, 2020

A great course that is definitely not for beginners. I found this course to be an amazing resource in giving a solid theoretical basis to my programming knowledge. It is not meant to be as practical as Harvard's CS50.

However, some prior knowledge of basic programming and/or Java would be helpful, as not all features of Java are covered in the course and useful hacks programmers employ on a daily basis such as debugging by using print statements is not covered. In short, this course does not go through how to program practically, it expects you to pick that up by wider reading or by reading StackOverflow or Googling endlessly! I only survived because I used Google continuously, read sample java programs to understand how to code including the authors' own stdlib library), and improved my Java skills on HackerRank

Weeks 6-8 were really challenging, especially the one on recursion about Hanoi's Puzzle.

Great, well-designed course, with solid foundations on real-world applications that are really inspiring and enjoyable!

By Yousef N

May 17, 2023

Great course. Learnt alot about fundamental of programming concepts using Java. Enjoyed the parts of the video lecture and their book website showing different algorithms, explaining how they are used in the real world. Some of the algorithms shown in this course are beautiful.

Although, I personally think that some beginners may struggle in this course and have diffculty completing some of the weekly assignments. This due to requiring a solid background in mathmatics (high school math should be sufficent). You will be spending time to trying to solve math problems with a given mathematical model/formula using Java.

The autograder of the assignmet is great at providing you alot of feedback on areas where your code doesn't work and allows to you figure out on how to fix them.

By Alan C

Aug 15, 2022

This course is really challenging for beginners, but if you persist with it you will definitely learn a lot. The instructor is a very experienced professor, so the videos are excellent. However, my main tip is to always read all the supplementary materials, including the book. Sometimes you will feel lost, but you will get a sense of accomplishment when you overcome those moments. Don't rush through the course; read each assignment specification carefully and you will learn. Last tip is to always check the forums if you are stuck because there are helpful tips over there. Like I said, this course is challenging, but in a good way.

By Sean K

Feb 18, 2023

Excellent introduction to java including practice with a wide variety of applications for programming skills.

The lecture material is well-organized and very detailed. The coding assignments are difficult but not impossible.

If you are a complete beginner, you may first want to try going through a different programming course (perhaps one that goes at a slower pace with more instructor support), as some of the mathematical concepts can be quite challenging and take your time and attention away from learning the fundamentals of programming. If you're like me and don't back down from a challenge, it can be very rewarding.

By Kristy K

Nov 18, 2020

This is an incredibly challenging course and is probably on par with first year university in terms of difficulty and independent learning and problem solving. I had no real programming and no math at all and this was insanely hard for me and I wanted to give up sometimes, but not impossible if you are a beginner it will just take a lot of work and time. The exercises and sample code provides is rich indeed and a great resource for further study and challenge. If you need something more guided and easier maybe try the Duke Java course(s) but if you can get through this, it is very rewarding.

By Jason M

Nov 5, 2020

All materials for this course are clear and concise. Aspects of Java programming were explained clearly in the video lectures. But if things needed a bit of extra clarity or I needed to refresh my memory on something the online materials were there for review. Programming assignments were explained well and reflected the material being taught. The automated grader gives good explanation of what is wrong with your code so you can make corrections and resubmit. I am planning on taking the second half of this coarse next.