Chevron Left
返回到 Java 程序设计:软件设计原理

学生对 杜克大学 提供的 Java 程序设计:软件设计原理 的评价和反馈

859 个评分
141 个审阅


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,, and packages....



Aug 08, 2019

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.


Feb 26, 2017

This nicely packaged course is learner centered. It engages the learner by enforcing practice through interesting exercises and quizzes. Kudos and Thumbs up to the team of great instructors


126 - Java 程序设计:软件设计原理 的 136 个评论(共 136 个)

创建者 Frank T

Jul 12, 2019

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.

创建者 Alana G

Jun 11, 2019

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.

创建者 Nikolay A

Oct 07, 2019

Poor level of support and detail. Problems are getting hard - not enough resources available.

创建者 Алексей

Oct 24, 2018


There are a lot of interesting subjects - the basics of the cryptography (the Caesar cipher, the vigenere cipher), the practical use of the markovs model to generate funny texts, some basics with image filtering and if you dont use course IDE blueJ and duke libraries and found how to do this thing with java core - it will be more profitable.


Using custom libraries is very bad for students. We must study java core not some custom libraries.

BlueJ also is a bad choise, even the notepad or the vim are better for understanding the compilation process.

Several tasks and questions are hardly to understand since they are badly formulated.

Also there is no peer reviewed assignments.

创建者 Abraham F M

Dec 18, 2017

Two of the weeks were really complicated, confusing and badly explained. Made me feel that I did not learn enough in the last courses when in fact the problem was this course itself. They need to improve the explanations as it is the most complicated course and the videos are short and unclear. More videos, more explanations for the exercises, and more efficient mentors at the forums when we have questions is a must if you want 5 stars.

创建者 Vladyslav S

Oct 31, 2019

Bad sources formatting, bad codestyle and bad project design

创建者 Dimas T L

Nov 04, 2019

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.

创建者 Bill J

Dec 27, 2017

There are a large number of people requesting help with the content in week 3 of this course. Many of them state the assignments need clarification, while others have made significant progress on the assignments but are requesting additional help understanding. Few of these threads in week 3 have been addressed, and I notice many of these threads date back for up to 2 years.

I have subscribed to this course three times in hopes of persevering, but I can't justify spending any more money when so many students are receiving no replies when asking for help.

创建者 Amir M O

May 30, 2016

A very simplistic and chaotic course. Explanations are all over the place.

BlueJ is probably the worst IDE I have ever seen and I have been a programmer for about 8 years.

There are far better courses. I would not recommend this course at all.

创建者 Aleksey

Jan 10, 2016

thanks for the course, but

-your quizzes is real pain, some random variable could cause wrong result

-your should follow how it is implemented in lectures in stupid way, like "efficient" way when you build hash map N^2 instead of N

-bluej sucks you make a lot of clicks to run method, use some decent IDE like eclipse or idea

创建者 Mengfei W

Jul 29, 2018

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.