Mastering Object Oriented Programming with Java
What you'll learn
- Build classes and creates objects using Java to promote code reuse
- Build a large software using inheritance, abstract classes, encapsulation, polymorphism, and Interfaces
- Recognize object-oriented concepts for large software development
- Solve advanced software development problems using Object Oriented concepts
- Develop and use generic classes to promote software reuse
- Use effective tools for Java project management (Netbeans, GitHub)
- The course assumes that the student has a knowledge of the basic programming concepts with Java, including loops, methods, conditional statements, etc.
- Sep 5: Adding ArrayList lecture (Section II) and one programming assignment on files and ArrayList
The course provides a comprehensive coverage of object-oriented programming (OOP) concepts using Java programming language. OOP is the key paradigm that allows software reuse and that facilitates the development of complex and large-scale software. The course first starts with providing a clear understanding why OOP is important. We then dive into the main OOP concepts including encapsulation, inheritance, and polymorphism. We also present generic classes and design patterns which further demonstrate an additional software abstraction. All along the course, we show how OOP allows software engineers to develop complex software by making high-level abstractions starting from very general classes down to more concrete classes.
To better illustrate the concepts, each chapter contains several hands-on activities, namely: (1) Quizzes which help reviewing the main theoretical concepts presented in the lectures, (2) short coding exercises where the student can apply the concepts he learned on simple use cases, (3) programming assignments, which provide more thorough activities aiming at consolidating the understanding of the learner and guide him to master the concepts presented in the lectures. All hands-on activities have written and video solutions.
In addition, during the course, the student will work on one application which he will improve from one chapter to another so that he can observe how programming concepts he learned can be applied to improve a certain application. In this course, we consider an application to process images for the programming assignment. There is no pre-requisite needed about images to do the exercises, as it is just a simple application context for the programming assignment.
The course was designed to provide the learners with a solid background on software engineering using object-oriented programming concepts!
I wish you an excellent learning experience!
Who this course is for:
- Beginner/Intermediate Software Developers
- Software Engineering Students
- Computer Science Students
- Information Systems Students
- Beginners Java Developers