Chevron Left
Retour à Java Programming: Principles of Software Design

Java Programming: Principles of Software Design, Université Duke

4.6
699 notes
114 avis

À propos de ce cours

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....

Meilleurs avis

par MN

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

par NS

Jun 16, 2016

Like all the modules of this Java specialization, the teachers are very good and the course reaches the objective of teaching the fundamentals of software design with an excellent didactic.

Filtrer par :

110 avis

par Aleksandr Vasilchuk

Jan 31, 2019

great!

par Четверухин Александр Алексеевич

Jan 10, 2019

Nice course which logically ends the series of four. Finally explains why different duke.edu libraries were used as well as BlueJ, which seemed to be strange choise at the beginning. I've finally understood why interfaces and abstract classes are important and how to use it. I decrease the mark to 4 only due to week 3 tests unclarity around hashmap - I've never worked it out how to get to the test results on hashmap size - it was working fine on small samples, but not matching the answers which were in the quiz for the big files which took a lot of time from me and didn't bring satisfaction.

par Saleh Tarek Saleh Sayed

Dec 31, 2018

You need to explain Exceptions and interfaces more deeply

par Peter Gerard Williams

Dec 24, 2018

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.

par Michael Davis

Nov 29, 2018

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.

par Alex Sanchez

Nov 25, 2018

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

par Karim Mosad Elgazar

Nov 18, 2018

great course recommend it so much

par Sheldon Teerlink

Nov 16, 2018

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

par Алексей

Oct 24, 2018

Pros:

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.

Cons:

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.

par Mary Sexton

Sep 24, 2018

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.