Skip to content
Padhora
BrowsePlans

DI03016051 · Semester 3 · 5G scheme

Object Oriented Programming with JAVA

Notes and solutions following the Gujarat Technological University (GTU) syllabus for DI03016051. Independent material — not issued by the university.

Information Technology

Materials

Syllabus

The official syllabus this material follows.

  • Syllabus

    6 pages

    FreeRead

Complete Book

The whole syllabus, unit by unit, written for the exam.

Problem Solver

Step-by-step solutions to typical problems.

Slides

Lecture slides for revision.

PYQ Solutions

Past university papers, fully solved.

  • Solved past papers — detailed answers

    30 pages · English + ગુજરાતી

Syllabus units

Unit 1: Introduction to Object Oriented Programming paradigm and JAVA
  • 1.1 Introduction to Programming paradigm
  • • Types of programming paradigm
  • • Procedure-Oriented vs. Object-Oriented Programming
  • • Features of Object-Oriented Programming: encapsulation, inheritance, polymorphism, abstraction, etc.
  • • Benefits of OOP, Applications of OOP
  • 1.2 Basics of Java
  • • Background/History of Java, Java Features
  • • JDK, JRE, JVM, and Byte code
  • • Java Environment Setup and Java program structure
  • 1.3 Basic Language Elements
  • • Comments, data types, variables
  • • Scope and lifetime of variables, operators
  • • Type conversion and casting
  • • Control Statements: Conditional and Looping Statement
  • • Command line argument and Java Memory Management
Unit 2: Fundamentals of Object Oriented Programming
  • 2.1 Objects, Classes and Methods
  • • Passing and Returning object from Method
  • • Method overloading
  • 2.2 Access modifiers, 'this' keyword, 'static' keyword
  • 2.3 Constructors
  • • Default constructors, Parameterized constructors
  • • Copy constructors, Private constructor
  • • Constructor Overloading
  • 2.4 String class, String Buffer class, Wrapper Class
Unit 3: Inheritance, Interface and Packages
  • 3.1 Inheritance with its type
  • • Method overriding, 'super' and 'final' keywords
  • • Object class
  • 3.2 Polymorphism
  • • Types of Polymorphism
  • • Method overloading vs. method overriding
  • • Dynamic method dispatch
  • 3.3 Abstraction
  • • Abstract classes vs. Interfaces
  • • Implementing interfaces, extending interfaces
  • • Default method
  • 3.4 Package
  • • Setting a CLASSPATH
  • • Adding class and interfaces to a package
  • • Importing package, static import
  • • Access modifier and class hiding rules in a package
Unit 4: Exception Handling & Multithreaded Programming
  • 4.1 Basic of Exception and Errors
  • • Types of Exception
  • • Try and catch in Exception
  • • Multiple catch clauses, nested try statements
  • • Throw and throws keywords, finally clause
  • 4.2 Basics of Multithreading
  • • The Java thread model and main thread
  • • Life cycle of a thread
  • • Creation of thread by extending Thread class
  • • Implementing Runnable interface
  • • Thread priorities
Unit 5: File handling in Java
  • 5.1 Introduction to Stream
  • • Types of Stream, Stream classes and its hierarchy
  • • I/O classes: File Class, File Input Stream
  • • File Output Stream, Input Stream Reader
  • • Output Stream Writer, File Reader
  • • File Writer, Buffered Reader
  • 5.2 Reading and writing 'text' and '.csv' files

About this course

Java is a versatile, general-purpose programming language that is open-source, platform-independent, class-based, and object-oriented, featuring an extensive library ecosystem. It is widely recognized for its simplicity, portability, reliability, and is designed to be robust, secure, dynamic, and architecture-neutral. The "write once, run anywhere" principle allows Java code to run on any platform that supports Java without needing to be recompiled. With strong industry support, Java is essential for many technologies such as Java Server Pages (JSP) and Android app development. This course equips students with the essential skills needed to develop object-oriented applications in Java and will enable them to solve real-world programming challenges.