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

Algorithms, Part II

Free

icon
More artificial intelligence courses

Convolutional Neural Networks

Free

AI For Everyone

Free

A Crash Course in Data Science

Free

Sequence Models

Free

Open Source tools for Data Science

Free

icon
Reviews

4.8

22 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Shuyuan D on 14-Jun-19

Good recap course for an experienced programmer

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 Yi S on 6-Sep-19

fun homework assignments that keep me motivated to write efficient code

By Wei P X on 14-Oct-19

very very helpful for beginners

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 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 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 Deleted A on 6-Aug-19

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

By Song, W on 5-Aug-19

Thank you very much, gratitude to teachers and coursera.