Java Programming: Solving Problems with Software

Start Date: 07/05/2020

Course Type: Common Course

Course Link:

About Course

Learn to code in Java and improve your programming and problem-solving skills. You will learn to design algorithms as well as develop and debug programs. Using custom open-source classes, you will write programs that access and transform images, websites, and other types of data. At the end of the course you will build a program that determines the popularity of different baby names in the US over time by analyzing comma separated value (CSV) files. After completing this course you will be able to: 1. Edit, compile, and run a Java program; 2. Use conditionals and loops in a Java program; 3. Use Java API documentation in writing programs. 4. Debug a Java program using the scientific method; 5. Write a Java method to solve a specific problem; 6. Develop a set of test cases as part of developing a program; 7. Create a class with multiple methods that work together to solve a problem; and 8. Use divide-and-conquer design techniques for a program that uses multiple methods.

Course Syllabus

Welcome to “Java Programming: Solving Problems with Software”! 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 get to meet the instructor team from Duke University and have an overview of the course. Have fun!

Coursera Plus banner featuring three learners and university partner logos

Course Introduction

Java Programming: Solving Problems with Software This course teaches you the basics of programming in the Java programming language. You will learn how to use classes and override constructors to implement a class. You will learn how to use inheritance and polymorphism to implement a class and how to use methods to implement a class. You will also learn how to use the Java standard library to write more efficient Java programs. By the end of this course, you will have written several programs that use algorithms to solve problems in medicine, databases, and many other fields. This is the second course in a sequence that teaches you how to use the Java programming language and how to use the classes and methods that are available to you. The course that starts with "How do I write my own Java code?" then "How do I use the Java standard library?" and "How do I use the Java Play library?" and then "How do I use the Java Web Services?" and "How do I use the Java Socket.Client API?" courses. This course is designed to help you write more efficient Java programs. The course also focuses on the subject of Java interoperability and interoperability with other Java programs. You will learn about classes and the basics of classes. You will also learn about using the standard library to write more efficient Java programs. You will use the Java virtual machine to write Java programs. You will use the command line interface to run Java code directly on your computer. You will also learn about how to use the command line using the

Course Tag

Algorithms Problem Solving String (Computer Science) Java Programming

Related Wiki Topic

Article Example
Java (programming language) The Java programming language requires the presence of a software platform in order for compiled programs to be executed. Oracle supplies the Java platform for use with Java. The Android SDK, is an alternative software platform, used primarily for developing Android applications.
Java 4K Game Programming Contest The Java 4K Game Programming Contest (aka 'Java 4K' and 'J4K') is an informal contest that was started by the Java Game Programming community to challenge their software development abilities.
FortMP FortMP is a software package for solving large-scale optimization problems. It solves linear programming problems, quadratic programming problems and mixed integer programming problems (both linear and quadratic). Its robustness has been explored and published in the Mathematical Programming journal.
Problem solving environment A problem solving environment (PSE) is a completed, integrated and specialised computer software for solving one class of problems, combining automated problem-solving methods with human-oriented tools for guiding the problem resolution. A PSE may also assist users in formulating problem resolution. A PSE may also assist users in formulating problems, selecting algorithm, simulating numerical value and viewing and analysing results.
Successive linear programming Successive Linear Programming (SLP), also known as Sequential Linear Programming, is an optimization technique for approximately solving nonlinear optimization problems.
Object-oriented programming "Design Patterns: Elements of Reusable Object-Oriented Software" is an influential book published in 1995 by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, often referred to humorously as the "Gang of Four". Along with exploring the capabilities and pitfalls of object-oriented programming, it describes 23 common programming problems and patterns for solving them.
Software for handling chess problems Software for chess problems can be used for creating and solving problems, including checking the soundness of a concept and position, storing it in a database, printing and publishing, and saving and exporting the problem. As such they can not only solve direct mates, helpmates and selfmates, but at times even problems with fairy pieces and other fairy chess problems. There have also been some attempts to have computers "compose" problems, largely autonomously.
Java (software platform) The word "Java", alone, usually refers to Java programming language that was designed for use with the Java platform. Programming languages are typically outside of the scope of the phrase "platform", although the Java programming language was listed as a core part of the Java platform before Java 7. The language and runtime were therefore commonly considered a single unit. However, an effort was made with the Java 7 specification to more clearly treat the Java language and the Java virtual machine as separate entities, so that they are no longer considered a single unit.
GNU Linear Programming Kit The GNU Linear Programming Kit (GLPK) is a software package intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library. The package is part of the GNU Project and is released under the GNU General Public License.
Claire (programming language) Claire is a general-purpose programming language, best suited to application software requiring sophisticated data modeling, rule processing or problem solving. WebClaire adds extensions for fuller integration with the operating system and for programming web applications.
Java BluePrints Java BluePrints is Sun Microsystems' best practices for Enterprise Java development. This is Sun's official programming model for Java Platform, Enterprise Edition (Java EE) Software Development Kit (SDK). It began with Java Pet Store, the original reference application for the Java EE platform. This became the "de facto" source code for using Enterprise JavaBeans and all the latest components of the Java EE platform.
Cinderella (software) "Cinderella" is a proprietary interactive geometry software, written in Java programming language.
Software for handling chess problems Popeye is chess problem-solving software. Popeye runs from a command-line interface, but it can be used with several operating systems and can be connected to several existing graphical interfaces since it comes with freely available source code in the C programming language. Popeye is one of the most exhaustive solving programs. It can solve problems with many fairy pieces and conditions, and can output to LaTeX. The original author of Popeye was Philippe Schnoebelen who wrote it in Pascal under MS-DOS around 1983-84. The code was later donated in the spirit of the free software movement. Elmar Bartel, Norbert Geissler, Thomas Maeder, Torsten Linss, Stefan Hoening, Stefan Brunzen, Harald Denker, Thomas Bark and Stephen Emmerson, converted Popeye to C, and now maintain the program.
Software for handling chess problems Chloe (DOS) and Winchloe (proprietary software) are solving programs written by Christian Poisson. Winchloe not only supports classical problems  — direct mates, helpmates and selfmates  — but also many fairy pieces and conditions with different sized chessboards (up to 250 by 250 squares). It comes with a collection of more than 300,000 problems that can be updated via the Internet. Christian Poisson also maintains the Web site Problemesis.
FortSP FortSP is a software package for solving stochastic programming (SP) problems. It solves scenario-based SP problems with recourse as well as problems with chance constraints and integrated chance constraints. FortSP is available as a standalone executable that accepts input in SMPS format and as a library with an interface in the C programming language.
ARS-based programming The programming language A++ is a demonstration that, based on ARS, programming patterns can be developed that are very powerful, providing a solid base for solving common programming problems.
Linear programming Linear programming is a widely used field of optimization for several reasons. Many practical problems in operations research can be expressed as linear programming problems. Certain special cases of linear programming, such as "network flow" problems and "multicommodity flow" problems are considered important enough to have generated much research on specialized algorithms for their solution. A number of algorithms for other types of optimization problems work by solving LP problems as sub-problems. Historically, ideas from linear programming have inspired many of the central concepts of optimization theory, such as "duality," "decomposition," and the importance of "convexity" and its generalizations. Likewise, linear programming is heavily used in microeconomics and company management, such as planning, production, transportation, technology and other issues. Although the modern management issues are ever-changing, most companies would like to maximize profits or minimize costs with limited resources. Therefore, many issues can be characterized as linear programming problems.
Language-oriented programming Language-oriented programming (LOP) is a style of computer programming in which, rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific languages for the problem first, and solves the problem in those languages. This concept is described in detail in the paper by Martin Ward entitled "Language Oriented Programming", published in "Software - Concepts and Tools", Vol.15, No.4, pp 147-161, 1994.
MINOS (optimization software) MINOS is a Fortran software package for solving linear and nonlinear mathematical optimization problems. MINOS (Modular In-core Nonlinear Optimization System) may be used for linear programming, quadratic programming, and more general objective functions and constraints, and for finding a feasible point for a set of linear or nonlinear equalities and inequalities.
Problem solving Other problem solving tools are linear and nonlinear programming, queuing systems, and simulation.