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,225 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. 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....

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:

76 - 100 of 348 Reviews for Computer Science: Programming with a Purpose

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.

By Ajayi O

Nov 18, 2020

For a newbie in programming, this course is highly recommended. It helped me to think in diverse ways. Having noticed java's rigidity compared to popular programming languages, i have been able to start with a disciplined approach by taking this course. I see things around me in a totally different manner during and after this course. It is also a pleasure having professor Sedgwick who smiles in his videos telling you its simple, I'm always like, professor, hope you know you got baby programmers in the class :)

By Gustavo N

Oct 17, 2020

A very demanding course, at least for me who did not know anything about Java and OOP, the weekly exercises are key in the process of learning and the Discussion Forum is very helpful to be able to pass the exercises. I have taken other courses in Coursera but definitely this is the best one on this subject honoring the fact that is taught by Princeton, where once I dreamed to make a PhD. Thanks to the University, the instructors and Coursera, I plan to take the next one that is recommended in the last lecture.

By Alex G

Sep 10, 2020

This is my first course on Coursera and this course is EXCELLENT. I started learning java in late 2019 and this course will make you a more sharp java programmer. If you do more then the assignments i.e. the web exercises and also using the book as ac companion with this course you will be facing challenging problems that bring joy if you managed to solve them.

Thank you Princeton University for making this course free and also for the grate Prof. Sedgwick and Wayne for building this course.

By Nick P

Sep 22, 2019

This course was incredibly helpful. I've taught myself Python over the years for data analysis purposes, but I never had a solid understanding of computer science principles like you learn in this course. Learning Java along the way was a nice bonus, and it was helpful to compare and understand differences across different languages. The projects were of an appropriate difficulty, and I would strongly recommend completing them so that you can practice what you learn.

By Gia T

Sep 2, 2023

Fantastic course! What a great resource that is provided for free. A tremendous contribution to furthering the knowledge of this world for the next generation of programmers. The authors and creators of this course have my deepest appreciation and commendations. I went through this course with my son and we thoroughly enjoyed the learning experience. Its been 18 years since I was last certified in Java 2, this was a great refresher. Thank you again!

By LuxiLiu

Apr 19, 2020

I think the course has a great balance between introducing concept/history and practical matters. The only difficulty I encountered is that it is sometimes assumed that the students have certain knowledge (I personally spent a lot more time on w6 Recursion than other weeks because I found some concepts/knowledge unfamiliar). Overall it's a great learning experience that gives learners exposure to a variety of aspects of programming.

By Eric R

May 19, 2020

Well taught course, with minimal spoon feeding once it gets moving. I would like more baby steps through the initial Intellij install, as it was aggravating before I saw the value of the course. Being reminded early on that we all make mistakes (forgetting ; and the like) and that unfortunately compilers don't work because we yell at them helped me deal with the inevitable frustrations that come about during programming.

By Darko V

Apr 15, 2022

This course is the best. Big thanks to instructors. You can complete the course even if you never had similar course (in Computer science). The knowledge you get is high quality. Assignemtns are the most important in this course (as in any other course) and they are outstanding - especially the autograder that checks your work in detail and in detail reports your mistakes. It took me more time than ~ 9 h per week.

By Omer K

Apr 25, 2022

Definitely, this was the best course I've ever taken including my BSc and MSc education until now. Each assignment within this course is provided with the fields that they are most commonly used. I can not point out a single issue that was unnecessary within the scope of the course. I would like to thank Robert SedgewickOpens in a new tab and Kevin WayneOpens in a new tab for providing such a beautiful course with such a beautiful content.

By Daniel S

Nov 19, 2021

Another superior course from Princeton's CS team of Sedgewick and Wayne. The programming exercises are challenging at an appropriate level and as usual, a generous booksite also supports the course with enough ancillary material to satisfy the ambitions of the most diligent beginning students. This is a course for new learners with a computer science bent and builds from the ground to a satisfying level.

By Michael S

Jun 25, 2023

What an amazing course. Lot's of material to help you learn. Lot's of exercises to experiment with . I am glad I took this course out of mere curiosity. I wanted to understand the JavaScipt programming Language and now I do have the basic part of JavaScript language down to add to my repertoire of other language skills. Thank you Coursera and to the University of Princeton for making this possible.

By Practice P

Oct 2, 2020

Amazing course! It gives an opportunity to learn how to think about coding, how to approach real world problems and translate solutions into working programs in Java and other languages.

I sincerely enjoyed the course, especially video lectures and coding assignments, and plan to keep learning from professor Sedgewick and Kevin Wayne other courses on Cuorsera.

Thank you very much!

By Kyle C

Jul 26, 2023

This course in such a phenomenal resource. Expertly designed and sequenced, it is appropriately rigorous while also being accessible to dedicated beginners. You will be challenged, and you will learn! The consistent linkages to the history of Computer Science were also excellent and provided context for learners. I cannot recommend this course highly enough!

By Zamir D

Apr 26, 2020

Lectures are a master-piece. Anyone who wood like to see a perfection in presentation of complex phenomena with such a modesty, clarity, simplicity but in the same time reflecting with deepness, this is THE course. The richness of argumentation with expressions can serve as a communication worldwide programming guideline.

Stay healthy dear professor.

By Tweet

May 25, 2023

This course is an amazing introduction to programming. The learning curve is a bit steep and the assignments are challenging as I think they involved some commands beyond what was introduced in the lectures. My advice is to spend some time reading the book and the APIs included as they would be helpful to complete the assignments. Best success!

By Marvie G

Nov 3, 2020

I learned more by completing this course in a week compared to what I learned in 4 months time in one semester at my University 's introduction to computer science course. The programming assignments kept me engaged and were very fun. I would definitely recommend this course 10/10 would love to take up a course like this all over again.

By Magdalena G

Jan 19, 2024

This was a great course. Super challenging and there were a lot of things that were not covered in the lectures and I had to learn on my own, but I actually really enjoyed that aspect. I went from knowing nothing about comp sci to being able to code some pretty cool projects. Really great class and so nice that it was free of charge!

By Keiji I

Dec 9, 2020

This was an amazing course. The instructor demonstrates programs that can do incredible things yet are simple enough to fully understand from a ten minute lecture. The autograder is excellent and tells you exactly which failure modes your code has. The provided libraries make seemingly difficult tasks much simpler.

By Pankaj S

Sep 13, 2020

This Course is a perfect blend of Mathematics, Science and Programming. This course will definitely upskill you. Prof. Sedgewick's teaching style is very unique. Programming assignment will challenge you to think you out of the box. Overall absolutely amazing learning experience. Thanks to Princeton University.

By sergio p

Jun 13, 2020

Excellent course! I was almost new to Java and programming (learnt some Basic more than thirty years ago). The course is very well organized, all modules are interesting. Material is great and the exercises very challenging with references to multiple disciplines. Rewarding experience. Will go for part two.

By Mint J

Sep 25, 2023

A must do course. The best CS101 course. The program assignments need some scientific literacy, maybe a little bit difficult for people who just want to study programming for fun, without some scientific or mathematical literacy(high school level). However a perfect course for freshman student.

By Parthasarathy B

Nov 15, 2020

Lecture slides have been well structured to make a difficult topic easy to understand and learn. The presentation provides a good conceptual outlay and it does not overwhelm you. Needless to say that writing code is the difficult part in the course as it is part of the learning process.

By Luthfy A

Sep 15, 2022

Ilmu yang diberikan sangat bermanfaat dengan penggunaan bahasa pemrograman JAVA, dari penjelasan vidio yang cukup jelas dapat memahaminya dengan cepat, ditambah untuk mengetahui kemampuan atau mengukur kedalaman ilmu dapat ditinjau dengan kuis dan basic project activity yang diberikan