Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code – it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator. After completing this course, you will be able to: 1. Use sorting appropriately in solving problems; 2. Develop classes that implement the Comparable interface; 3. Use timing data to analyze empirical performance; 4. Break problems into multiple classes, each with their own methods; 5. Determine if a class from the Java API can be used in solving a particular problem; 6. Implement programming solutions using multiple approaches and recognize tradeoffs; 7. Use object–oriented concepts including interfaces and abstract classes when developing programs; 8. Appropriately hide implementation decisions so they are not visible in public methods; and 9. Recognize the limitations of algorithms and Java programs in solving problems. 10. Recognize standard Java classes and idioms including exception–handling, static methods, java.net, and java.io packages. Duke University has about 13,000 undergraduate and graduate students and a world–class faculty helping to expand the frontiers …
Instructor Details
Courses : 2
Specification: Java Programming: Principles of Software Design
|
48 reviews for Java Programming: Principles of Software Design
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
FREE
Nicholas B –
Great course in general, but some of the exercises / quizzes could be a bit more precise in what they are looking for. Lots of time debugging, lots of time in forums trying to figure out what was wrong, only to find that we were using the wrong project / class because it wasn’t clear which one they required.
Maria V D –
I’m really shocking with the course, because integrate all concept, start a new concepts, and I’m felling great for accomplished. Thank you team teacher’s for the opportunity, you are great.
Haoran –
good intro for programming in java
Mengfei W –
Sometimes the quiz instruction is not very clear. Sometimes, I could get the assignment results, pass the practice quiz, but couldn’t pass the review quiz.
Reda R –
very interesting material, thanks for your great effort.
Chris T –
Difficult and challenging, but worth the struggle.
Mary S –
Decent. Moved kinda slowly, but it’s for beginners, so what did I expect? This is a nice progression of classes for someone with no previous programming experience; if you have previous experience, in another language, you may wish to start with an intermediate course.
Sheldon T –
The practice examples and content are top notch. Learning about markov models was particularly interesting.
Karim M E –
great course recommend it so much
Alex S –
Awesome course. These professors are great. They are from Duke University
Michael D –
Fantastic course. Thanks to the instructors and students who helped put this coursework together. I’ve learned a tremendous amount about OOP and software design. Will continue on with the capstone couse to complete the specialization. Thank you.
Peter G W –
Near the end of the course it was very difficult to get programs working exactly as intended. I felt the instructions could have been clearer, especially in Week 3’s assignments.
Saleh T S S –
You need to explain Exceptions and interfaces more deeply
Aleksandr V –
great!
Nazeeh A –
Amaaaaaaaaaaaaaaazing.
Shaun R –
The third week was a great challenge and, while frustrating at times, gave me more to think about as I’m developing as a programmer.
LAKKOJU N S S R T –
very helpful in understanding how to write a logic to a complex program easily.
Aminath K G –
Enjoyed this course and the examples used to learn algorithms (earthquakes data and predictive text). I did find that week 3 had a lot of work packed into one week. Otherwise, interesting and fun course.
Jeff M –
Good class and good education. My only objection is that some of the practice tests seemed unusually difficult.
Amaliya A –
Super course! Well designed, structured, with a sense of humor 🙂 To be specific, with this course you are able to write complicated programs step by step with linearly growing difficulty. Thanks!
Bogdan U –
As the previous 3 Courses, very well thought off and practical this is exactly what I wanted from a course.
Igor B –
Excellent course, well designed excercises, good motivating lectures.
Aditya –
SuperB!
BingliangLan –
instructive !
Alana G –
Overall, this course is pretty good and it helps to learn the basics of Java Interfaces. However, Week 3 was very confusing and discussion posts were not at all helpful in the forums. I am having a lot of trouble with the random text generator (assignment one) and I can not move on until I get that one method correctly. I was not able to understand the getRandomText() method, therefore it was very difficult to do MarkovFour. Especially, when MarkovOne was not even working. The readings had VERY confusing wording and I believe the grammar caused confusion. However, it could have been a typo. That is why I gave this specific course a 3 star rating.
saurabh –
while the course is structured well, there is almot zero support when one gets stuck. Coursera has not maintained an active forum, unlike other platforms. It ends up wasting a lot of time for us.
Frank T –
Principles are usually explained with code where analogies or schematics would have been more appropriate. Quizzes are sometimes poor. Help is hard to get on the forum.
Thi T L –
easy to understand, lots of programming practice
Itai E –
This course really increased the difficulty in Week 3 and gave poorly written instructions to go along with it. Overall, the course was very interesting and I learned a lot from it. Anyone who is interested in expanding their Java programming skills and write “neater” or “better code, this course is for you.
Aleksei M –
It was harder than expected and was a pleasure to find a solutions.
Ogonna I –
My confidence level in Java programming has grown significantly since completing this specialisation. It gave me the necessary knowledge and practice I need to take up a role as a software engineer.
kai k –
amazing material solid learning for Java one struggle discussion boards don’t seem to be monitored by staff most of the time expect to do most on your own without teacher input
MyoungEun K –
I loved this course, all the videos and assignments are perfectly directed. now I really have a deeper understanding about Interface. Thank you so much.
Vaibhav S –
Really Helpful course. It helped me a lot to become familiar with the Java language and enlighten me with the fact that java can be used to solve a wide array of problems, which i considered impossible and tricky when i used java earlier.
Manju A –
very thought provoking and in depth course.
Nikolay A –
Poor level of support and detail. Problems are getting hard not enough resources available.
Vladyslav S –
Bad sources formatting, bad codestyle and bad project design
Jerrold –
This course has been fantastic. A step up in difficulty, week 3 in particular was grueling. I learned so many useful things in this course
Dimas T L –
Many of the assignments in week three were incredibly hard to understand and required scouring the forums to locate where other classmates had to beg instructional staff for assistance. In many instances, the staff agreed that the course had many shortcomings that would be addressed in “upcoming iterations” of the course. However, many of these posts were made up to three years ago, so it made the student feel that not only did the class have errors that the staff did little to address for new cohorts, but also that the updating of the curriculum is not a priority and therefore that the class is now an afterthought.
Abdelrhman B –
1
Andrii L –
Generally, I like this course. The tasks are very interesting and require to spend some time on them. But what I don’t like is IDE that teachers use in this course. I also think that whole week 3 should be redesigned, especially requirements, they are not very readable. You should add some testing utility or some cases to test and verify student output with teachers.
Goodwill T K –
I could not get the Answers to the practice quiz of week 3 as my first line differed from the question first line. the first two words were correct but the rest differed. MarkovWordOne.java
DELA C J K ( –
week 2 is broken
Syed M A –
Excellent Faculty and Content
Abdullah O –
So bad, I really don’t understand the concepts introduced in this course.
Jinxin Z –
week 3 may need more explanation
Mohamed I E –
it was some time difficult but I learn alot from this course
Sijia Z –
i submit this serials, and i like the courses from Duke very much. Easy to understand, and the challenge wouldn’t be too simple or too difficult. I recommend it.