Java - Object Oriented Programming
Course
Students will learn Object-Oriented Programming concepts such as creating classes, objects, methods overloading, constructors, polymorphism, dynamic data, and more to develop applications based on Object-Oriented design concepts. This is an excellent course for students planning to take AP Computer Science, preparing for Oracle Associate Java Certification Exam, developing software in Java, or wanting to develop a career as a Software Engineer.
Pre Requisite:
Introduction to Java, C++, or equivalent.
Learning Objectives
Following are the objective of this course:
- Introduce the modern programming concepts and other design methodologies using Java
- Discuss the concepts of good software design and methods.
- Design programs using object-oriented problem-solving techniques.
- Use the concepts of different types of structured programming.
- Learn to use flowchart and pseudo-code to decompose a complex problem.
- Develop algorithms using different methods.
- Develop software using various programming techniques.
Audience
- This course is good for high school students who are planning to take AP Computer Science or wanting to develop an application using object-oriented programming concepts.
Topics
- Introduction to Java
- The Java Platform
- Advantages of Java
- Installing Java Software
- Installing Eclipse
- Java Programming Language
- The Java development cycle
- Executing a Java Program
- Introduction to Object-Oriented Programming
- Understand Attributes
- Understand Method
- Understand and implement a Class
- Define Access Level
- Create an Object
- Types of Methods
- Using Constructor
- Using Accessors
- Using Mutators
- Static Method
- Primitive Data Type
- Reference Data Type
- Null Reference
- Inheritance
- Superclass and subclass
- Polymorphism
- Encapsulation and Information Hiding
- Abstract Class
- The Waterfall Model
- Program Specification
- Program design
- Program Implementation
- Testing and Debugging
- Program Maintenance
- Object-Oriented Design
- Identifying Classes
- Identifying Behaviors
- Determining Relationships between Classes
- Implementing classes
- Implementing Methods
- Identifying Relationship between Objects
- IS-A Relationship
- HAS-A Relationship
Assumptions
- The course assumes that the learner is familiar with the Internet and Windows. The student should have a basic knowledge of Java Programming Language.
- This course depends on the student's commitment to work in class and, if necessary, to work independently on his/her own time on a project assigned to them that will require access to the computer.
Learning Resources and Tools
The workload of each unit varies, and each unit consists of the following:
- Lecture: The Lecture consists of notes that can be used by students as reference material.
- Video: The Video consists of a presentation on the topics covered in the lecture note.
- Hands-on Exercise: The hands-on exercises allow students to apply the concepts learned in each unit.
- Quiz: The quiz allows the student to validate their learning further.
- Projects: Projects help students apply the concepts learned through the lecture and apply to build an application
Technical Requirements
- Access to a computer, an Internet browser, and a headset.
Here is the course outline:
1. Introduction to Object Oriented ProgrammingThis unit will include basic concepts of Object-Oriented programming such as understanding Objects, Attributes of an Object, behavior of an Object, Combining Objects, and creating an Object. |
2. Introduction to MethodsThis unit will include understanding Methods, different types of Methods (Constructors, Accessors and Mutators), using keyword Static, creating an instance of an object, reference Data Types, Primitive Data Types and Null Reference |
3. Inheritance, Superclass and subclassThis module will cover the topics related to Inheritance including the difference between superclass and subclass. |
4. Polymorphism, Overloading and OverridingThis module will cover topics related to Polymorphism. The module will also cover two types of polymorphism: Overloading and Overriding. |
5. Encapsulation and Information HidingThis module will cover topics related to Encapsulation. The module will also explain Information hiding in Object Oriented programming |
6. Abstract ClassThis module will cover topics related to abstract classes and how to use them. |
7. Software Development Life Cycle - Waterfall ModelThis unit will cover the Waterfall Model, Program Specification, Program design, Program Implementation, Testing and Debugging and Program Maintenance |
8. Object Oriented DesignThis unit will cover Object Oriented Design methodology including Identifying Classes, Identifying Behaviors, Determining Relationships and Relationship type, Implementing Classes and Implementing Methods |
Completion
The following certificates are awarded when the course is completed:
Certificate of Completion |