Object-Oriented Software Engineering with Java
- 6.5 hours on-demand video
- 2 downloadable resources
- 3 coding exercises
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- 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)
After completing this lecture, the student will identify the shortcoming of procedural programming approaches in efficiently writing reusable programs.
This lecture introduces the concepts of object-oriented programming and illustrate it through an example. We build the class Student, then we creates objects from this class. We compare the program developed with the previous one in terms of code efficiency and code size.
This lecture presents how constructors are defined and used to create objects and to initialize the attributes of the class.
This lecture introduces the concept of the keyword this which is used to provide a reference to the class. It is needed to be used when the name of the attribute of the class is the same as the name of the parameter of the method.
- 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!
- Beginner/Intermediate Software Developers
- Software Engineering Students
- Computer Science Students
- Information Systems Students
- Beginners Java Developers