Java Programming: Principles of Software Design
€0, aangeboden door Coursera
About this course: In this course, you will write programs in Java to solve real world problems that are large enough to require multiple classes working together. You will see that programming is more than just coding--it involves strategic thinking and design as well. You will learn how to design programs to solve problems that require solutions that scale. You will also learn about the Java Collections classes and how Java interfaces facilitate developing programs that scale. 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;
Created by:Â Â Â Duke University
Taught by:Â Â Â Â Robert Duvall, Lecturer
Computer Science
Taught by:Â Â Â Â Owen Astrachan, Professor of the Practice
Computer Science
Taught by:Â Â Â Â Andrew D. Hilton, Assistant Professor of the Practice
Electrical and Computer Engineering
Taught by:Â Â Â Â Susan H. Rodger, Professor of the Practice
Computer Science
Basic Info
Course 4 of 5 in the Java Programming: An Introduction to Software Specialization.
Level
Beginner
Commitment
4 weeks of study, 3-5 hours/week
Language
English
How To Pass
Pass all graded assignments to complete the course.
User Ratings
4.6 stars
Average User Rating 4.6See all 43 reviews
Course 4 of Specialization
Build Software Applications. Learn the basics of programming and software development with Java in four courses.
Java Programming: An Introduction to Software
Duke University
Learn More
Coursework
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peers
Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
Certificates
Earn official recognition for your work, and share your success with friends, colleagues, and employers.
About Duke University
Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world.
Syllabus
WEEK 1
Welcome to the Course
Welcome to “Java Programming: Principles of Software Designâ€! We are excited that you are starting our course to learn how to write programs in Java, one of the most popular programming languages in the world. In this introductory module, you will hear an over...Â
1 video, 1 reading
expand
Earthquakes: Programming and Interfaces
In this module, we will introduce a data set containing details about earthquakes around the world. You will learn how to pull this data into a program, search through the data, and filter the data based on desired criteria. By the end of this module, you will...Â
11 videos, 5 readings, 2 readings
expand
Graded: Earthquakes: Programming and Interfaces
WEEK 2
Earthquakes: Sorting Algorithms
In this module, you will continue using real earthquake data to explore several sorting algorithms. You will learn how to implement a selection sort and a bubble sort, then be introduced to a Java method Collections.sort, which sorts with much greater efficien...Â
12 videos, 4 readings, 2 readings
expand
Graded: Earthquakes: Sorting Algorithms
WEEK 3
N-Grams: Predictive Text
In this module, you will explore some of the underlying concepts of predictive text. The first lesson will introduce random character generation and then how to train the character selection based on an input text. The second lesson will extend this concept to...Â
15 videos, 6 readings, 4 readings
expand
Graded: N-Grams: Predictive Text
WEEK 4
Java: Tools and Libraries for Everyone
As you reach the end of this series, you may wish to extend your Java experience to tools beyond those provided here. This module will cover some of the Java basic information that is needed to program without BlueJ or the edu.duke library. After completing th...Â
13 videos, 3 readings
expand
Graded: Java: Tools and Libraries for Everyone