Chevron Left
Volver a Computer Science: Programming with a Purpose

Opiniones y comentarios de aprendices correspondientes a Computer Science: Programming with a Purpose por parte de Universidad de Princeton

719 calificaciones

Acerca del Curso

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

Principales reseñas


13 de may. de 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.


15 de jun. de 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.

Filtrar por:

1 - 25 de 228 revisiones para Computer Science: Programming with a Purpose

por Vasile D

19 de feb. de 2020

Course states "Beginner Level".

Video tutorials are indeed for beginners.

Assignments have nothing in common with the word "beginner".

You must do an assignment that is 1000 times harder than what you learned from the video tutorials and the other lecture supplements.

More than that you have limitations to doing the assignments (you can't use array in this one... conditionals and loops in that one... etc)

The video tutorial teaches you a basic fundamental that a tyre is round and that you put it on your car.

But for you to pass the assignments you must build a runflat tyre that goes 1000 km/h for an infinite ammount of time and do that without using your arms or legs...

por Gilad B

3 de jul. de 2019

Good course on the whole. Quizzes and assignments often assume knowledge that has not yet been introduced or made clear. Checkers for assignments often require more than is officially stated (such as no "magic numbers", which are not mentioned anywhere in the course materials or assignment directions, and API's that are not specified for given questions). As such, I needed an iterative process of uploading an assignment, seeing why it failed, reverse engineering what the requirements are, and then fixing and uploading again.

por Andrew S

4 de mar. de 2020

First lecture was ok , but from 2nd lecture forward you encounter only algorithmic assignments. I do understand that algorithms are part of programming but not when the video tutorials just teach you basic language fundamentals. I see this course useful for people that have been programming for a few years not someone that is learning to program.

por Adriana N

6 de abr. de 2020

Not beginner friendly

por Julie C

15 de sep. de 2019

I was a total and utter programming newbie (a smidge of self-taught Python, and that's it). I cannot BELIEVE what I can do now in Java. This course takes a LOT OF PATIENCE and tons, I mean TONS of perseverance. Google and Stack Overflow will be your new best friends as you try to piece together what to do at times. But it's amazing what you learn if you stick with it. Interesting topics, and good lectures, helpful readings, and the programs you write are really challenging and cool. I can't wait to take the second one!

por Vinod S

14 de may. de 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.

por Glen F

15 de ago. de 2019

Excellent course, Thank you Drs Sedgwick and Wayne.

That said, this is not a beginners course: the assignments are not easy, but they teach you a great deal; there is very little 'hand-holding' and you can expect to spend a good bit of time on Wikipedia in order to understand what you are trying to do before you get to writing any code. That is when you learn what the word 'Purpose' means in the title - many subject area are covered in the practice code assignments i.e. real world examples. Also, it is easy to get to a (frustrating) place where your programs work on everything but the auto-grader(A-G), and A-G feedback is sparse. Be sure to look at the exercises in the online book as there are many program examples/solutions that teach you a lot of programming techniques often useful in completing the practice programming assignments.

por Lompar M

22 de sep. de 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.

por Bhavik

13 de mar. de 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.

por Kirill N

12 de abr. de 2020

I've taken this course with intention to be able to do graded exercises on further Algorithms I and Algorithms II. I have experience with Python, but thought that this would be great additional enrichment.

Little did I know that this course would give me more than I bargained for, even some insight into algorithm complexity. Graded exercises, while not exactly too hard, did provide me with some challenge and made me want to solve them, and experience with Java will definitely prove me useful in the future even beyond the scope of these courses. Ah, did I also mention that ALL THIS COMES FOR FREE? On the platform where you often can't even do quizzes without buying the entire course?

To sum up, definitely looking forward to all the next courses in the series. This must be one of the best courses I've ever had on this platform.

por Brighton Z

28 de ene. de 2020

1.Easily for Java beginner like me.

2. Much of math problems, try to develop mathematical models, using the computer to address math problems is funny.

3. Creative exercises are just like interview questions, also need more assignments or projects.

4. The very helpful FAQ of assignment from that I've learned many more things.

5. The auto-grader of assignment is very useful, including check style and test. Using reversing engineering to meet the demand and get grade 100 became one of my goals.

por William G

7 de may. de 2020

This course is incredibly rewarding, intellectually as well as practically. Teaching algorithms and explaining how they relate to the pharmacy industry or to physics is very enriching.

If you aim to get 100 pct. in all programming exercises you should expect to go way past the eight hours recommended for most assignments. At least this was true in my case. At one stretch I used an entire week to get through the assignments. Having a master's from a competitive economics programme in mathematical finance I can easily say that this course was up there with respect to a proper challenge. I am happy to have problems which, like these, are not trivial nor immediately solvable.

The autograding of the assignments is unbelievably well made. I learnt a lot from type checking to style checking, and although I don't yet feel fluent in Java, at least I now have a much deeper appreciation for compiled languages. I would recommend this to any first timer in Java like myself.

I bought the book for this course. That was not necessary for anything but curiousity.


16 de jun. de 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.

por Xiangxin J

21 de may. de 2020

I am a high school senior preparing major in CS in college, I have watched a lot of java instructions, including Duke-solve problem with programs, which I also highly recommend. 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 programmings!!! (Even though I've learned a lot in java, I still encounter problems in this course.) However, if you want to take challenging courses, this one is perfect, not only because of the lecture but also those "challenging" but interesting coding tests.

por Jack Y

10 de abr. de 2021

This is a great way to learn computers. Professor Sedgwick, thank you very much!

por 许楷

5 de mar. de 2019


por Tim R

6 de sep. de 2020

Very poor course. Basic fundamental concepts are not explained well and you are left to learn them on your own through errors and failing assignments. The lecturer often says "Of course you already know this..." and assumes a baseline level of knowledge of other subjects that is not mentioned anywhere as a prerequisite. Many things are presented in a confusing and unhelpful way - and when repeated to an actual Software Engineer are not consistent with how Java is used in the real world.

por Francisco J R A

5 de ago. de 2020

I can't give a full review cuz I only was here for a couple of days, Maybe it is good, but it is far from basic.

Though they do start with basic concepts, they don't explain how and why , but later the ask you to use them.

por Ajeet A

17 de jul. de 2020

Amazing Course. I had dabbled in other languages prior to this but this gave me a much deeper understanding from the most basic concepts to more advanced ones later in the course.

por Saleh H

5 de jun. de 2019

Great course with emphasizing on computational thinking.

por Sherry C

20 de sep. de 2020

THIS COURSE OFFERS VERY LITTLE SUPPORT FROM THE DASHBOARD, ESPECIALLY FROM THE PROFESSORS. Depending on which dashboard, the professor's last comment is at least 1 month old, if not older. As you progress through the course, more/most of the students drop off, because no one is helping each other out and the teachers have abandoned the students. The concepts introduced in the course is not too hard. But the execution of how to solve for a problem into actual code is oftentimes glossed over. If you do not know java already or some other kind of programming language, this course is not for you. Sometimes, the solution calls for you to use an obscure method/code that is not listed in the API list. The other problem is the homework. Most of the homework is worded convolutedly, vaguely (at times), and require the solution to be written in a way that is not taught until much later on in the class. Some information is scattered in the FAQ. Some of the information is not given at all. You have to hope that someone in the dashboards talks about it. Most of the homework involves complex math theories or concepts. If math is not your strong suit, you might want to reconsider. NOT AN INTRODUCTION COURSE.

por Dominic

18 de jun. de 2020

Very bad explanations. I do not recommend at all.

por Xiaoyu Z

2 de nov. de 2019

This course is much more than fantastic! Professor Robert is one of the best teachers. I am so lucky to have a chance to learn those great materials.

For me, the meaning of completing this course is way beyond the course itself. I am a CS graduate more than 15 years ago, and I've done some computer engineering work for a while. Then I took a different path other than software engineer, because at some point my interest is on other things. What I did after software engineering are financial analysis, business analysis and data analysis. Nowadays, I am doing data analytics as my daily work. But as time passed by, I found programming is way fun than I thought before, and that's my real passion. So I decided to come back to software engineering field. But it's difficult, very very difficult, for companies accepting me as software engineer again. I don't know whether taking those CS courses and refreshing my knowledge will lead to the place where I want to be. But again, that's my interest and real passion. I just love programming.

I really really want to thank Professor Robert for his fantastic courses (his other courses are also great), which built up my confidence and gave me challenges and fun!

por Cameron F

28 de feb. de 2021

I read the reviews and saw a bunch of people complaining about how little was covered and how ist not for beginners etc. None of this is true, there are adequate resources provided and the whole point of programming is that you learn to do your own research. Also who signs up to a course with Princeton expecting it to be easy and to not be able to at least understand math if the formula is given to you and explained.

Course is great, learned a lot, I wish a lot of the optional exercises were included, I know I can still do them, but being graded on it is super helpful when practicing. Some really cool concepts are introduced and I feel pretty confident with my programming atm compared to where I was when I started (I had watched a few videos on python!)

por Machiestay-Dzregah E B

8 de abr. de 2021

This course is great. I would say it is the best course that any beginner who wants to learn how to program should take. The assignments are challenging and the touches of science in the course content is just what I wanted. I am now a programmer with a purpose indeed. Though there is nothing beginner about the assignments, I believe they were created that way so that students will know that there is still more to learn on the web and in the book, because until you make these two tools your friend, I can tell you, you may not be able to finish the course. The lecturer, he's the best, he demonstrates knowledge and experience in his lectures and that is exceptional. I loved this course.