Java Programming
Principles of Software Design

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera course from Duke University.

Solve real world problems with Java using multiple classes.

Programming Principles Interfaces Software Design Java Programming

Reddsera may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Coursera. Thank you for using these buttons to support Reddsera.

Taught by
Robert Duvall
and 3 more instructors

Offered by
Duke University

Reddit Posts and Comments

0 posts • 4 mentions • top 3 shown below

r/WGU_CompSci • post
35 points • Aleriya
WGU CS Free Study Resources

I'm putting together a list of free resources for WGU CS students, especially for those looking to study ahead before starting the program. Please let me know if you'd recommend any resources to add to the list.

Calc 1

Discrete Math 1

Data Structures and Algorithms

Software 1-2 (Java)


Computer Architecture

r/UIUC • comment
1 points • 6prometheus7

It’s kinda hard to just learn without getting the feedback that you get by taking the course and going to code review. Basically what I learned from the class is that everything should be clear and easy to understand (if not it needs comments but you can’t over-comment either), all variables and methods need to be named completely appropriately, and all methods should be modularized and and only do one thing. Also only give user control or access to variables and methods that he will use otherwise you have to perform unit tests we used junit you can learn about that online. I found a link to a coursera course that looks kinda applicable if you want. Also you can look at official github repositories for big projects to get an overiview although some of them don’t give af about design so you have to be careful

r/learnprogramming • comment
1 points • shhh-quiet

There are countless places online to learn about this. Probably numerous MOOCs that teach OOP and probably Java. Here is one possibility, I have no idea how it compares to others, that's just from a quick google search.

A few things I'd also highly recommend you spend some time wrestling with, after you learn some of the basics of Java:

SOLID principles (wiki (article)

Software design patterns (wiki) (java examples)

(Keep in mind that the design patterns should not be overzealously used. A lot of people go nuts trying to wedge them into every solution, as if they'll reach Nirvana if only they combine the right design patterns the right way. 80-20 rule comes to mind here, as well as using the right tool for the job, and KISS principle. Do what is most effective given what the problem actually demands. This doesn't mean take shortcuts on writing clean code, though.)