Latest Courses
ISTQB Artificial Intelligence Tester Sample ExamsCheck course
JAVA Programming Online Practice ExamCheck course
Programming for Kids and Beginners: Learn to Code in PythonCheck course
Practice Exams | Codeigniter 4 developer certificationCheck course
WordPress Practice Tests & Interview Questions (Basic/Adv)Check course
Git &Github Practice Tests & Interview Questions (Basic/Adv)Check course
Machine Learning and Deep Learning for Interviews & ResearchCheck course
Laravel | Build Pizza E-commerce WebsiteCheck course
101 - F5 CERTIFICATION EXAMCheck course
Master Python by Practicing 100 QuestionCheck course
ISTQB Artificial Intelligence Tester Sample ExamsCheck course
JAVA Programming Online Practice ExamCheck course
Programming for Kids and Beginners: Learn to Code in PythonCheck course
Practice Exams | Codeigniter 4 developer certificationCheck course
WordPress Practice Tests & Interview Questions (Basic/Adv)Check course
Java Programming: Principles of Software Design

Java Programming: Principles of Software Design

FREE

Add your review
Add to wishlistAdded to wishlistRemoved from wishlist 2
Add to compare
8.4/10 (Our Score)
Product is rated as #144 in category Java

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

Robert Duvall is a Lecturer in the Department of Computer Science at Duke University. Having taught computer science at Duke for over 15 years, Professor Duvall has helped to transform introductory computing curricula several times by consistently being an early adopter of ideas, research, or software design practices. His goal is always to find ways to present novice students with a simplified, yet intellectually rigorous, interface that enables them to take advantage of advances in technology and solve significant problems. In recent years, Professor Duvall has worked with colleagues to redesign Duke’s introductory computer science course to reach a broader range of students at Duke from a variety of backgrounds and fields. Professor Duvall holds a MSc in Computer Science from Brown University.

Specification: Java Programming: Principles of Software Design

Duration

20 hours

Year

2015

Level

Beginner

Certificate

Yes

Quizzes

No

48 reviews for Java Programming: Principles of Software Design

4.2 out of 5
29
9
5
3
2
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  2. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  3. Haoran

    good intro for programming in java

    Helpful(0) Unhelpful(0)You have already voted this
  4. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  5. Reda R

    very interesting material, thanks for your great effort.

    Helpful(0) Unhelpful(0)You have already voted this
  6. Chris T

    Difficult and challenging, but worth the struggle.

    Helpful(0) Unhelpful(0)You have already voted this
  7. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  8. Sheldon T

    The practice examples and content are top notch. Learning about markov models was particularly interesting.

    Helpful(0) Unhelpful(0)You have already voted this
  9. Karim M E

    great course recommend it so much

    Helpful(0) Unhelpful(0)You have already voted this
  10. Alex S

    Awesome course. These professors are great. They are from Duke University

    Helpful(0) Unhelpful(0)You have already voted this
  11. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  12. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  13. Saleh T S S

    You need to explain Exceptions and interfaces more deeply

    Helpful(0) Unhelpful(0)You have already voted this
  14. Aleksandr V

    great!

    Helpful(0) Unhelpful(0)You have already voted this
  15. Nazeeh A

    Amaaaaaaaaaaaaaaazing.

    Helpful(0) Unhelpful(0)You have already voted this
  16. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  17. LAKKOJU N S S R T

    very helpful in understanding how to write a logic to a complex program easily.

    Helpful(0) Unhelpful(0)You have already voted this
  18. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  19. Jeff M

    Good class and good education. My only objection is that some of the practice tests seemed unusually difficult.

    Helpful(0) Unhelpful(0)You have already voted this
  20. 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!

    Helpful(2) Unhelpful(0)You have already voted this
  21. Bogdan U

    As the previous 3 Courses, very well thought off and practical this is exactly what I wanted from a course.

    Helpful(0) Unhelpful(0)You have already voted this
  22. Igor B

    Excellent course, well designed excercises, good motivating lectures.

    Helpful(0) Unhelpful(0)You have already voted this
  23. Aditya

    SuperB!

    Helpful(0) Unhelpful(0)You have already voted this
  24. BingliangLan

    instructive !

    Helpful(0) Unhelpful(0)You have already voted this
  25. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  26. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  27. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  28. Thi T L

    easy to understand, lots of programming practice

    Helpful(0) Unhelpful(0)You have already voted this
  29. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  30. Aleksei M

    It was harder than expected and was a pleasure to find a solutions.

    Helpful(0) Unhelpful(0)You have already voted this
  31. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  32. 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

    Helpful(0) Unhelpful(0)You have already voted this
  33. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  34. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  35. Manju A

    very thought provoking and in depth course.

    Helpful(0) Unhelpful(0)You have already voted this
  36. Nikolay A

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

    Helpful(0) Unhelpful(0)You have already voted this
  37. Vladyslav S

    Bad sources formatting, bad codestyle and bad project design

    Helpful(0) Unhelpful(0)You have already voted this
  38. 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

    Helpful(0) Unhelpful(0)You have already voted this
  39. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  40. Abdelrhman B

    1

    Helpful(0) Unhelpful(0)You have already voted this
  41. 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.

    Helpful(0) Unhelpful(0)You have already voted this
  42. 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

    Helpful(0) Unhelpful(0)You have already voted this
  43. DELA C J K (

    week 2 is broken

    Helpful(0) Unhelpful(0)You have already voted this
  44. Syed M A

    Excellent Faculty and Content

    Helpful(0) Unhelpful(0)You have already voted this
  45. Abdullah O

    So bad, I really don’t understand the concepts introduced in this course.

    Helpful(0) Unhelpful(0)You have already voted this
  46. Jinxin Z

    week 3 may need more explanation

    Helpful(0) Unhelpful(0)You have already voted this
  47. Mohamed I E

    it was some time difficult but I learn alot from this course

    Helpful(0) Unhelpful(0)You have already voted this
  48. 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.

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Java Programming: Principles of Software Design
    Java Programming: Principles of Software Design

    Price tracking

    Java Code Geeks
    Logo
    Register New Account
    Compare items
    • Total (0)
    Compare