We may earn an affiliate commission when you visit our partners.
Course image
Olufisayo Omojokun

This course provides students with the knowledge to handle and even create exceptions to achieve graceful error handling in programs. They will also create and utilize data structures, including lists and files. Students will also learn about recursion and how it can be a useful approach to repetition in a program. Finally, students will learn how to develop basic graphical user interfaces (GUIs) using JavaFX.

Three deals to help you save

What's inside

Learning objectives

  • Understand the benefit of exceptions vs. built-in error checking
  • Handle an exception by either catching or specifying it
  • Read and write simple text files from java
  • Distinguish a checked exception from an unchecked
  • Create and manipulate both arraylists and linkedlists
  • Understand the differences between array-based data structures and link-based ones
  • Identify the base case, reduction step, and recursive call in recursive solutions
  • Model the call stack during the execution of a recursive method
  • Develop a javafx scene with a basic layout and controls
  • Attach event handlers to controls and bring life to the scene
  • Package the scene and event handlers into a java application

Syllabus

Creating and handling exceptions
Reading and writing files, including delimited files
Using ArrayLists
Using LinkedLists
Read more
Programming with generics
Recursion and the call Stack
Developing graphical user interfaces (GUIS) with JavaFX
Basics of anonymous inner classes and lambda expressions

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides the foundation for developing robust and user-friendly Java applications
Builds a strong foundation for software development in Java
Teaches fundamental programming concepts and techniques, making it suitable for beginners
Develops problem-solving skills and critical thinking through hands-on programming exercises
Provides a comprehensive overview of Java programming, covering essential topics and tools
Taught by experienced instructors, ensuring quality and up-to-date content

Save this course

Save Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs with these activities:
Review Java Syntax and Core Concepts
Refresh your memory on the fundamentals of Java syntax and core concepts before starting the course, ensuring a solid foundation.
Browse courses on Java Programming
Show steps
  • Review online tutorials or documentation on Java syntax.
  • Go through your notes or previous course materials on Java.
  • Complete practice exercises to test your understanding.
Read 'Head First Java, 2nd Edition'
Review Java fundamentals with this highly engaging introductory Java textbook.
Show steps
  • Review the basics of Java programming.
  • Understand object-oriented programming concepts
  • Learn about data structures and algorithms.
Organize Course Materials
Stay organized by compiling and reviewing your course notes, assignments, and materials, ensuring you have everything you need to succeed.
Show steps
  • Create a dedicated folder or notebook for the course.
  • File and organize your notes, assignments, and other materials.
  • Review your materials regularly to reinforce your understanding.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow Java Tutorials from Oracle Documentation
Supplement your understanding of Java concepts by exploring official tutorials and documentation from Oracle, the creators of Java.
Browse courses on Java Programming
Show steps
  • Identify the specific Java topic you need to learn more about.
  • Browse the Oracle Java documentation for tutorials on that topic.
  • Follow the tutorials, complete the code examples, and test your understanding.
Practice Java Coding Challenges on LeetCode
Sharpen your Java coding skills and prepare for technical interviews by solving coding challenges on LeetCode.
Show steps
  • Start with easy problems and gradually increase the difficulty.
  • Break down complex problems into smaller subproblems.
  • Practice regularly to improve your problem-solving abilities.
Participate in Online Study Groups
Join online study groups or forums to connect with fellow Java learners, share knowledge, and get support.
Browse courses on Java Programming
Show steps
  • Find an online study group or forum that aligns with your learning goals.
  • Introduce yourself and engage in discussions.
  • Ask questions, share your insights, and collaborate on projects.
Build a JavaFX Calculator App
Apply your Java knowledge to create a functional calculator application with a graphical user interface, reinforcing your understanding of JavaFX and event handling.
Browse courses on JavaFX
Show steps
  • Design the user interface for the calculator.
  • Implement event handlers to respond to button clicks.
  • Write logic to perform basic arithmetic operations.
  • Add additional features, such as memory or scientific functions.
Contribute to Open Source Java Projects
Gain practical experience and contribute to the Java community by participating in open source projects.
Browse courses on Open Source
Show steps
  • Identify open source Java projects that interest you.
  • Review the project documentation and codebase.
  • Identify areas where you can contribute, such as bug fixes or feature enhancements.
  • Submit a pull request with your proposed changes.
  • Collaborate with other contributors to refine and merge your changes.

Career center

Learners who complete Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs will develop knowledge and skills that may be useful to these careers:
Software Engineer
A Software Engineer develops, maintains, and improves software applications. Many software engineers specialize in a particular area of development, such as cloud computing or mobile applications. This course helps Software Engineers build a foundation in Java, which is a common language for developing applications. The course also covers software maintenance principles such as handling exceptions.
Web Developer
A Web Developer is responsible for the design and development of websites. They create and maintain websites that are responsive, user-friendly, and functional across different devices. This course helps Web Developers build a foundation in Java, which is a common language for developing web applications. The course also covers user interface development using JavaFX.
Computer Programmer
A Computer Programmer designs, develops, and tests computer programs. They use a variety of programming languages to create software applications and systems. This course helps Computer Programmers build a foundation in Java, which is a popular programming language for developing desktop and mobile applications. The course also covers data structures and algorithms, which are essential for developing efficient and effective software.
Data Scientist
A Data Scientist uses data analysis techniques to extract insights from data. They use data to solve problems and make predictions. This course helps Data Scientists build a foundation in Java, which is a programming language that is often used for data analysis. The course also covers data structures and algorithms, which are essential for developing efficient and effective data analysis tools.
Database Administrator
A Database Administrator is responsible for the design, implementation, and maintenance of databases. They use database software to store, organize, and retrieve data. This course helps Database Administrators build a foundation in Java, which is a programming language that is often used for developing database applications. The course also covers data structures and algorithms, which are essential for developing efficient and effective database management systems.
Systems Analyst
A Systems Analyst studies an organization's current business processes and procedures and designs and implements new systems to improve efficiency. This course helps Systems Analysts build a foundation in Java, which is a programming language that is often used for developing business applications. The course also covers data structures and algorithms, which are essential for developing efficient and effective business systems.
IT Support Specialist
An IT Support Specialist provides technical support to users of computer systems and software. They troubleshoot and resolve computer problems, install and maintain software, and train users on new technologies. This course helps IT Support Specialists build a foundation in Java, which is a programming language that is often used for developing IT support tools. The course also covers data structures and algorithms, which are essential for developing efficient and effective IT support systems.
Quality Assurance Analyst
A Quality Assurance Analyst tests software applications to ensure that they meet requirements and perform as expected. They identify and report bugs, and work with developers to fix them. This course helps Quality Assurance Analysts build a foundation in Java, which is a programming language that is often used for developing software testing tools. The course also covers data structures and algorithms, which are essential for developing efficient and effective software testing systems.
Business Analyst
A Business Analyst works with stakeholders to define and document business requirements. They analyze business processes and data, and develop solutions to improve efficiency and effectiveness. This course helps Business Analysts build a foundation in Java, which is a programming language that is often used for developing business analysis tools. The course also covers data structures and algorithms, which are essential for developing efficient and effective business analysis systems.
Project Manager
A Project Manager plans, organizes, and manages projects. They work with stakeholders to define project goals, develop project plans, and track project progress. This course may help Project Managers build a foundation in Java, which is a programming language that is sometimes used for developing project management tools. The course also covers data structures and algorithms, which may be useful for developing efficient and effective project management systems.
Technical Writer
A Technical Writer creates and maintains technical documentation. They write user manuals, white papers, and other documents that explain how to use products and services. This course may help Technical Writers build a foundation in Java, which is a programming language that is sometimes used for developing technical documentation tools. The course also covers data structures and algorithms, which may be useful for developing efficient and effective technical documentation systems.
Salesforce Developer
A Salesforce Developer develops and maintains Salesforce applications. They use the Salesforce platform to create custom applications that meet the specific needs of their organization. This course may help Salesforce Developers build a foundation in Java, which is a programming language that is sometimes used for developing Salesforce applications. The course also covers data structures and algorithms, which may be useful for developing efficient and effective Salesforce applications.
Data Analyst
A Data Analyst collects, cleans, and analyzes data to identify trends and patterns. They use data to solve problems and make decisions. This course may help Data Analysts build a foundation in Java, which is a programming language that is sometimes used for developing data analysis tools. The course also covers data structures and algorithms, which may be useful for developing efficient and effective data analysis systems.
Network Administrator
A Network Administrator manages and maintains computer networks. They install, configure, and maintain network hardware and software. This course may help Network Administrators build a foundation in Java, which is a programming language that is sometimes used for developing network management tools. The course also covers data structures and algorithms, which may be useful for developing efficient and effective network management systems.
Cybersecurity Analyst
A Cybersecurity Analyst protects computer networks and systems from unauthorized access, use, disclosure, disruption, modification, or destruction. This course may help Cybersecurity Analysts build a foundation in Java, which is a programming language that is sometimes used for developing cybersecurity tools. The course also covers data structures and algorithms, which may be useful for developing efficient and effective cybersecurity systems.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs.
Provides a theoretical foundation for data structures and algorithms, and is helpful for recursion and data structures sections of this course.
Although not directly related to this course, Java Concurrency in Practice serves as a foundational reference for advanced students who go on to work with concurrency in Java.
Provides a foundation for object-oriented programming in Java, and is helpful in understanding recursion and GUIs.
Unit Testing in Java comprehensive guide to unit testing in Java. It is particularly valuable for students who plan on working extensively in Java after this course.
Java Programming: From the Ground Up provides a foundational understanding of Java which can be helpful for some early topics in the course such as exceptions and data structures.
Although not directly applicable to this course, Head First Design Patterns serves as a masterful reference for the future when students work with design patterns in their software development journey.
Clean Code provides guidance on writing effective and maintainable code, which is applicable to any programming course.
While slightly advanced for this course, Effective Java shows the Java programmer how to use the Java language and libraries effectively by providing a set of proven best practices and guidelines.
While this book likely will not replace this course, it good reference book to keep nearby for quick refreshes of Java syntax and structure.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs.
Rust GUI Development for Linux
Most relevant
Introduction to Open Source Application Development
Most relevant
Mastering Programming with MATLAB
Most relevant
Using Efficient Sorting Algorithms in Java to Arrange Tax...
GUI Programming with Python
Python Desktop Application Development
Learning Data Structures in JavaScript from Scratch
Learn Java and JavaFX by creating a Graphical Calculator
Data Structures and Algorithms In Java ( DSA )
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser