4G curriculum (older)
4341602 · Semester 4 · 4G scheme
Object Oriented Programming with JAVA
Notes and solutions following the Gujarat Technological University (GTU) syllabus for 4341602. Independent material — not issued by the university.
Materials
Complete Book
The whole syllabus, unit by unit, written for the exam.
Complete Book
255 pages
Premium Preview · 17 pages
Problem Solver
Step-by-step solutions to typical problems.
Problem Solver
38 pages
Premium Preview · 5 pages
PYQ Solutions
Past university papers, fully solved.
Solved past papers — detailed answers
177 pages · English + ગુજરાતી
Premium Preview · 43 pagesSolved past papers — short answers
156 pages · English + ગુજરાતી
Premium Preview · 4 pages
Syllabus units
Unit 1: Introduction to Object Oriented Programming paradigm10 h · 16 marks
- Introduction to programming paradigm, types of programming paradigm
- Procedure-Oriented vs. Object-Oriented Programming concept
- Basics of OOP: Class, Object, data abstraction, encapsulation, inheritance, benefits of inheritance, polymorphism
- Basics of Java, Background/History of Java, Java and the Internet, Advantages of Java
- JDK, JRE, JVM, and Byte code
- Java Environment Setup
- Java program structure
- Compiling and running a simple java program
- Comments in java, data types, variables, scope and lifetime of variables, operators, type conversion and casting, Control Statements - If, else, nested if, if-else ladders, Switch, while, do-while, for, for-each, break, continue, arrays in java
- Command line argument
- Garbage Collection
Unit 2: Object Oriented Programming Concepts6 h · 12 marks
- Defining classes, creating objects and methods, Passing and Returning object form Method, Method overloading
- String class, StringBuffer class
- Operations on string, StringJoiner class, Wrapper Class
- Access control, modifiers, this keyword, static keyword, Constructors: Default constructors, Parameterized constructors, Copy constructors, Private constructor, and Constructor Overloading
Unit 3: Inheritance, Interface and Package10 h · 16 marks
- Basics of Inheritance, Types of Inheritance, Method overriding, super and final keyword
- Basics of Polymorphism, Types of Polymorphism, Difference between method overloading and method overriding
- Dynamic method dispatch & Object class
- Abstract classes v/s Interfaces, defining an interface, implementing interfaces, extending interfaces, default method, lambda expression
- Creating package, setting a classpath, importing packages, access protection, class hiding rules in a package
Unit 4: Exception Handling & Multithreaded Programming10 h · 16 marks
- Fundamentals of Exception and Errors, Types of Exception
- Using try and catch in Exception, Multiple catch clauses, Use of nested try statements
- Throw and throws keywords, and finally clause
- Built in exceptions, creating own exception subclasses, Java Optional class
- Basics of Multithreading, The Java thread model and main thread
- Creation of thread by extending Thread class, implementing Runnable interface, Life cycle of a thread
- Thread priorities, Thread synchronization, inter thread communication, alive() & join() in thread
- Exception handling in threads
Unit 5: File handling in Java6 h · 10 marks
- Introduction to Stream, types of Stream
- Stream classes and its hierarchy, I/O classes: File Class, File InputStream, File Output Stream, InputStreamReader, OutputStreamWriter, FileReader, FileWriter, Buffered Reader
- Reading and writing text files
About this course
Java is a general-purpose computer programming language; it is platform independent, open-source, class-based, and object-oriented with enriched open source libraries. It is a simple, portable, distributive, robust, secure, dynamic, architecture neutral, object oriented programming language. It has idealized 'virtual machine' that allows application developers 'write once, run anywhere', meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. In the current industrial scenario Java has the broad industry support and prerequisite to many technologies like Java Server Pages, and Android Application Development. This course develops necessary skills in students, after learning this course; students will be able to develop object oriented applications using java.