OOPs - Java Programming - CS8392 (2017 R)
Syllabus
OBJECT ORIENTED PROGRAMMING - CS8392
OBJECTIVES:
To understand Object Oriented Programming concepts and basic characteristics of Java
To know the principles of packages, inheritance and interfaces
To define exceptions and use I/O streams
To develop a java application with threads and generics classes
To design and build simple Graphical User Interfaces
UNIT I INTRODUCTION TO OOP AND JAVA FUNDAMENTALS 10
Object Oriented Programming - Abstraction – objects and classes - Encapsulation- Inheritance -Polymorphism- OOP in Java – Characteristics of Java – The Java Environment -Java Source File -Structure – Compilation. Fundamental Programming Structures in Java – Defining classes in Java – constructors, methods –access specifiers - static members -Comments, Data Types, Variables, Operators, Control Flow, Arrays , Packages - JavaDoc comments.
UNIT II INHERITANCE AND INTERFACES 9
Inheritance – Super classes- sub classes –Protected members – constructors in sub classes- the Object class – abstract classes and methods- final methods and classes – Interfaces – defining an interface, implementing interface, differences between classes and interfaces and extending interfaces - Object cloning -inner classes, Array Lists - Strings
UNIT III EXCEPTION HANDLING AND I/O 9
Exceptions - exception hierarchy - throwing and catching exceptions – built-in exceptions, creating own exceptions, Stack Trace Elements. Input / Output Basics – Streams – Byte streams and Character streams – Reading and Writing Console – Reading and Writing Files
UNIT IV MULTITHREADING AND GENERIC PROGRAMMING 8
Differences between multi-threading and multitasking, thread life cycle, creating threads, synchronizing threads, Inter-thread communication, daemon threads, thread groups. Generic Programming – Generic classes – generic methods – Bounded Types – Restrictions and Limitations.
UNIT V EVENT DRIVEN PROGRAMMING 9
Graphics programming - Frame – Components - working with 2D shapes - Using color, fonts, and images - Basics of event handling - event handlers - adapter classes - actions - mouse events - AWT event hierarchy - Introduction to Swing – layout management - Swing Components – Text Fields , Text Areas – Buttons- Check Boxes – Radio Buttons – Lists- choices- Scrollbars –Windows –Menus – Dialog Boxes.
TOTAL: 45 PERIODS
OUTCOMES:
Upon completion of the course, students will be able to:
Develop Java programs using OOP principles
Develop Java programs with the concepts inheritance and interfaces
Build Java applications using exceptions and I/O streams
Develop Java applications with threads and generics classes
Develop interactive Java programs using swings
TEXT BOOKS:
1. Herbert Schildt, .Java The complete reference., 8th Edition, McGraw Hill Education, 2011.
2. Cay S. Horstmann, Gary cornell, .Core Java Volume –I Fundamentals.,9th Edition,Prentice Hall,2013.
REFERENCES:
1. Paul Deitel, Harvey Deitel, .Java SE 8 for programmers., 3rd Edition, Pearson, 2015.
2. Steven Holzner, .Java 2 Black book., Dreamtech press, 2011.
3. Timothy Budd, .Understanding Object-oriented programming with Java., Updated Edition,
Pearson Education, 2000.
Key Notes ↓
Unit 1
Version 1 - Notes and Assignment
(Updated) Version 2 - Notes and Assignment
Click Here - Updated
--------------------------------------------------------------------------------------------------------------------------
Unit 2
Version 1 - Notes and Assignment
Version 2 - Notes and Assignment
Click Here - Updated
------------------------------------------------------------------------------------------------------------------------
Unit 3
Notes and Assignment
-------------------------------------------------------------------------------------------------------------------------
Unit 4
Notes - Assignment
--------------------------------------------------------------------------------------------------------------------------
Unit 5
Notes - Assignment
--------------------------------------------------------------------------------------------------------------------------
OOP Laboratory - CS8383 (2017 R)
Syllabus
List of experiments
1. Develop a Java application to generate Electricity bill. Create a class with the following members: Consumer no., consumer name, previous month reading, current month reading, type of EB connection (i.e domestic or commercial). Compute the bill amount using the following tariff. If the type of the EB connection is domestic, calculate the amount to be paid as follows:
§ First 100 units – Rs. 1
per unit
§ 101-200 units – Rs. 2.50
per unit
§ 201 -500 units – Rs. 4
per unit
§ 501 units – Rs. 6 per
unit If the type of the EB connection is commercial, calculate the amount to be
paid as follows:
§ First 100 units – Rs. 2
per unit
§ 101-200 units – Rs. 4.50
per unit
§ 201 -500 units – Rs. 6
per unit
§ > 501 units – Rs. 7
per unit
2. Develop a java application to
implement currency converter (Dollar to INR, EURO to INR, Yen
to INR and vice versa), distance converter (meter to KM, miles to KM and vice
versa) , time converter (hours to minutes, seconds and vice versa) using
packages.
3. Develop a java application with
Employee class with Emp_name, Emp_id, Address, Mail_id, Mobile_no as members.
Inherit the classes, Programmer, Assistant Professor, Associate Professor and
Professor from employee class. Add Basic Pay (BP) as the member of all the
inherited classes with 97% of BP as DA, 10 % of BP as HRA, 12% of BP as PF,
0.1% of BP for staff club fund. Generate pay slips for the
employees with their gross and net salary.
4. Design a Java interface
for ADT Stack. Implement this interface using array. Provide
necessary exception handling in both the implementations.
5. Write a program to perform string
operations using ArrayList. Write functions for the following a.
Append – add at end b. Insert – add at particular index c. Search d. List all
string starts with given letter
6. Write a Java Program to create
an abstract class named Shape that contains two integers and
an empty method named print Area(). Provide three classes named Rectangle,
Triangle and Circle such that each one of the classes extends the class Shape.
Each one of the classes contains only the method print Area () that prints the
area of the given shape.
7. Write a Java program to
implement user defined exception handling.
8. Write a Java program that reads
a file name from the user, displays information about whether
the file exists, whether the file is readable, or writable, the type of file
and the length of the file in bytes.
9. Write a java program that
implements a multi-threaded application that has three
threads. First thread generates a random integer every 1 second and if the
value is even, second thread computes the square of the number and prints. If
the value is odd, the third thread will print the value of cube of the number.
10. Write a java program to find
the maximum value from the given type of elements using a generic
function.
11. Design a calculator using
event-driven programming paradigm of Java with the following options. a)
Decimal manipulations b) Scientific manipulations
12. Develop a mini project for
any application using Java concepts.
Exercise 1 to 11
-------------------------------------------------------------------------------------------------------------------------
Mini Projects
> Notepad
> Traffic Light
> Brick Breaker Game
> Search and Replace String using File