Object-Oriented Programming (OOP) : Introduction To Course
Object-Oriented Programming (OOP) : Introduction To Course
(OOP)
Introduction to Course
23rd April, 2019
• Introduction
• Course Content
• Course Marks Distribution
• Introduction to Java Programming
2
Introduction (Academics)
Engr. Dr. Ramesh Kumar
Degree : Doctor of Philosophy (PhD). CGPA : 3.90/4.0
7
Introduction (Publications)
Conference Papers
1. A. Hussain, R. Kumar and Zuhaibuddin, “Proportional QoS Adjustment in the Network in case of
Overload”, IEEE Student conference on science and technology (SCONEST), Jamshoro, Pakistan, 2011.
2. M. Shin, S. Hong, K. Lee, R. Kumar, J. Yi, I. Joe, K. Kim, H. Jun, W. Cha and W. Kim, “API-Level
Mapping Between HLA and DDS for the Interoperable Middleware System”, Proceedings of IEEE
International Symposium on Embedded Technology, Seoul, South Korea, 2014.
3. M. S. Khalid, X. Lin, Y. Zhuo, R. Kumar and M. K. Rafique, “Impact of Energy Management of Electric
Vehicles on Transient Voltage Stability of Microgrid”, The 28th International Electric Vehicle Symposium
and Exhibition, Goyang, South Korea, 2015.
8
Course Content
• Evolution of Object Oriented Programming
• Concepts of object oriented paradigm,
• Encapsulation, inheritance, polymorphism,
• Abstract classes and interfaces
• Overloading and overriding,
• Object-oriented design,
• Event-driven programming, Event propagation,
• Exception handling,
• Threading, Multi-threading,
• Packages, recursion,
• Use of stacks, queues and lists from API,
• Building GUI applications.
9
Recommended Books
10
Course Marks Distribution
• Sessional Marks 20
• Midterm Examination 30
• Final Examination 50
• Total 100
11
Java
• To develop applications for
—Desktop computers
—Run on Internet (Client/Servers)
—Small hand-held devices (Mobile, Tab etc.)
• General purpose & Internet programming language
• James Gosling Sun Microsystems, 1991 (Oak)
• Key-goal: To write programs that will run on a
great variety of computer systems and computer-
controled devices
12
JDK Versions
Version Name Code Name Release Date
JDK 1.0 Oak January 1996
JDK 1.1 (none) February 1997
J2SE 1.2 Playground December 1998
J2SE 1.3 Kestrel May 2000
J2SE 1.4 Merlin February 2002
J2SE 5.0 Tiger September 2004
JDK 6 Mustang December 2006
JDK 7 Dolphin July 2011
JDK 8 March 2014
JDK 9 September, 21st 2017
JDK 10 March, 20th 2018
JDK 11 September, 25th 2018
JDK 12 March, 19th 2019
JDK 13 September, 10th 2019
13
JDK Editions
14
Popular Java IDEs
• NetBeans Open Source by Sun
• Eclipse Open Source by IBM
15
Java Environment Basics
• Java programs normally undergo five phases
—Edit
• Programmer writes program (and stores program on disk)
—Compile
• Compiler creates bytecodes from program
—Load
• Class loader stores bytecodes in memory
—Verify
• Verifier ensures bytecodes do not violate security requirements
—Execute
• Interpreter translates bytecodes into machine language
16
Java Programming
• Phase-1: Creating a program
17
Java Programming
• Phase-3: Loading a program into RAM
18
Java Programming
• Phase-5: Execution
19
JAVA Environment
20
First Java Program: Printing a
line of text
21
A Simple Program: Printing a
Line of Text
1 // Fig. 2.1: Welcome1.java
22
A Simple Program: Printing a
Line of Text
3
—Blank line
• Makes program more readable
• Blank lines, spaces, and tabs are white-space characters
– Ignored by compiler
23
A Simple Program: Printing a
Line of Text
4 public class Welcome1 {
24
A Simple Program: Printing a
Line of Text
4 public class Welcome1 {
—Saving files
• File name must be class name with .java extension
• Welcome1.java
—Left brace {
• Begins body of every class
• Right brace ends definition (line 13)
25
A Simple Program: Printing a
Line of Text
7 public static void main( String args[] )
26
A Simple Program: Printing a
Line of Text
9 System.out.println( "Welcome to Java Programming!" );
27
A Simple Program: Printing a
Line of Text
11 } // end method main
28