Skip to content

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 96 / 100

icon
Course Description

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.

icon
Instructor Details

placeholder

Robert Sedgewick is the William O. Baker Professor of Computer Science at Princeton, where he was the founding chair of the Department of Computer Science. He received the Ph.D. degree from Stanford University, in 1975. Prof. Sedgewick also served on the faculty at Brown University and has held visiting research positions at Xerox PARC, Palo Alto, CA, Institute for Defense Analyses, Princeton, NJ, and INRIA, Rocquencourt, France. He is a member of the board of directors of Adobe Systems. Prof. Sedgewick's interests are in analytic combinatorics, algorithm design, the scientific analysis of algorithms, curriculum development, and innovations in the dissemination of knowledge. He has published widely in these areas and is the author of several books.

icon
More courses by Robert Sedgewick

Free

icon
More Artificial Intelligence courses

Free

Free

Free

$79.99

Free

icon
Reviews

4.8

22 reviews in total

Select a bar to show only those reviews.Select the bar again to show every rating.

By Xiaoyu Z on 2-Nov-19

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!

By Meysam A on 2-Nov-19

It's a prefect starting point for those who want to learn programming or those who wants to refresh their knowledge.

By lxl1986 on 24-Oct-19

elegant.

By nglokting on 19-Oct-19

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.

By Wei P X on 14-Oct-19

very very helpful for beginners

By Nick P on 22-Sep-19

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 Xu Y on 22-Sep-19

This is one of the best courses I had ever had.

By Lompar M on 22-Sep-19

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.

By Julie C on 15-Sep-19

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!

By Yi S on 6-Sep-19

fun homework assignments that keep me motivated to write efficient code

By Glen F on 16-Aug-19

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.

By Deleted A on 6-Aug-19

Awesome course. Very challenging even for experienced programmer. Prof. Sedgewick and Kevin Wayne do a great job.

Showing 12 of 22 reviews