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 …
Instructor Details
Courses : 4
Specification: Computer Science: Programming with a Purpose
|
35 reviews for Computer Science: Programming with a Purpose
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Provider | |
---|---|
Duration | 41 hours |
Year | 2019 |
Level | Beginner |
Language | English |
Certificate | Yes |
Quizzes | Yes |
Hussain –
A very simple down to earth explanation on how to program from a very reputable university
Bhavik B –
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.
Vinod S –
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.
Aditya h –
Great refresher for JAva.
Preston N –
Good over all, but the quizzes can be a little annoying.
Saleh H –
Great course with emphasizing on computational thinking.
Sayed K –
I appreciate your work and your services. Your classes are very valuable for whom new in the world of IT is. Thank you very much dear professor!
Shuyuan D –
Good recap course for an experienced programmer
Gilad B –
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.
Song, W –
Thank you very much, gratitude to teachers and coursera.
Deleted A –
Awesome course. Very challenging even for experienced programmer. Prof. Sedgewick and Kevin Wayne do a great job.
Glen F –
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.
Yi S –
fun homework assignments that keep me motivated to write efficient code
Julie C –
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!
Lompar M –
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.
Nick P –
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.
Xu Y –
This is one of the best courses I had ever had.
Wei P X –
very very helpful for beginners
nglokting –
The course is awesome. It really teaches me the basics of Java programming. Now I know what an object is. The programming assignments are very interesting and really make you think. I like them very much.
lxl1986 –
elegant.
Meysam A –
It’s a prefect starting point for those who want to learn programming or those who wants to refresh their knowledge.
Xiaoyu Z –
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!
Petar M –
This was great course with very enjoyable delivery. The reference to the Book was very helpful if you want to learn more. I liked the heavy inclusion of intersting extercies. I want to see the more in debt next levels taking place.
Edison A R M C –
Excelente curso, muy concreto y excelente para iniciar en java y en computer Science
Khayrat G –
Great Lectures and carefully prepared exercises. Thank you!
Tassianna T –
This course is excellent; It provides a robust framework to build on programming practices.
Philippe G –
Very effective course with automated and immediate students graduation
Nathanael Y –
This is the 2nd course of Professor Sedgwick and Wayne that I enrolled, as expected it’s well designed and organized. The programming assignments are the most valuable part from my perspective. Some of them, especially week6 to week8, can be somewhat challenging and difficult, maybe tough for beginners, but they cover quite a lot of topics that is really important. I would highly recommend this course to those who want some challenging and meaningful exercises.
Binliu Z –
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.
Petter S –
High tempo, definitely some difficult content, but overall I’ve learned a great deal
Petar R –
Great intro to Java concepts
Talgat I –
Nice introduction to Java programming!
Vasile D –
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…
Abhinav S –
An awesome and interactive course <3
William X –
The assignments are designed very well.