0% found this document useful (0 votes)
117 views

Object-Oriented Programming (OOP) : Introduction To Course

This document provides an introduction to an Object-Oriented Programming course being taught by Dr. Ramesh Kumar. It includes details about the course content, which will cover fundamental OOP concepts like encapsulation, inheritance, polymorphism, and abstract classes/interfaces. It also outlines the course marks distribution and introduces Java programming, which will be a focus of the course.

Uploaded by

Yousfi Tech
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views

Object-Oriented Programming (OOP) : Introduction To Course

This document provides an introduction to an Object-Oriented Programming course being taught by Dr. Ramesh Kumar. It includes details about the course content, which will cover fundamental OOP concepts like encapsulation, inheritance, polymorphism, and abstract classes/interfaces. It also outlines the course marks distribution and introduces Java programming, which will be a focus of the course.

Uploaded by

Yousfi Tech
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

Object-Oriented Programming

(OOP)

Introduction to Course
23rd April, 2019

Dr. Ramesh Kumar


Assistant Professor
Electronic Engineering Department, DUET
Karachi
Contents

• 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

Graduation : February 2017.


Major : Electronics and Computer Engineering.
Research Area : Dual-hop Opportunistic Relaying Systems with Multi-antenna Systems.
University : Hanyang University, Seoul, South Korea.
     
Degree : Master of Science (MS). CGPA : 3.75/4.0

Graduation : February 2010.


Field of Study : Electronic, Electrical, Control, and Instrumentation Engineering.

Research Area : Cooperative Relaying Systems for Wireless Multicasting Networks.


University : Hanyang University, Ansan, South Korea.
     
Degree : Bachelor of Engineering (BE). CGPA : 3.93/4.0

Graduation : December 2005.


Major : Computer Systems Engineering. 3
Introduction (Working
Experience)
 Working as Assistant Professor in Electronic Engineering
Department at Dawood UET, Karachi.
 Worked as Research Assistant in Network and Mobile
Convergence Laboratory, Hanyang University, Seoul, Korea.
 Worked as a Lecturer in Electrical Engineering department of
COMSATS Lahore.
 Worked as a Lecturer in Electrical Engineering department of
The University of Faisalabad (TUF), Faisalabad.
 Worked as Research Assistant at Wireless Network
Laboratory, Electronic and Communication Department,
Hanyang University, Ansan, South Korea.
 Worked as Technical Knowledge Engineer at Etilize, Karachi,
Pakistan.
4
Introduction (Research Areas and
Expertise)

 4G/5G Mobile Communication Systems


 Cooperative Relaying Networks
 Smart Grid Substation Automation Communication
Networks
 UAV-based Relaying Systems
 Delay Tolerant Networks
 Mathematical modeling of Communication Systems
 Probability and stochastic processes
 C++, MATLAB, OPNET, and NS-2 (Simulation)
 LATEX (Research paper writing)
5
Introduction (Research Publications)
Journal Papers
1. A. Hussain, R. Kumar, I. Ali, and, Z. Ahmed, “Non-Linear EH Relaying in Delay-Transmission
Mode Over η−µ Fading Channels", (IJACSA) International Journal of Advanced Computer Science
and Applications, Vol. 10, No. 3, pp. 551−555, March 2019. DOI: 10.14569/IJACSA.2019.0100371
2. J. Iqbal, Z. Bhutto, Z. Latif, M. Z. Tunio, R. Kumar, M. H. Shaikh, and M. Nawaz, “Optimization
and Deployment of Femtocell: Operator‘s Perspectives”, (IJACSA) International Journal of
Advanced Computer Science and Applications, Vol. 10, No. 2, pp. 375−380, February 2019. DOI:
10.14569/IJACSA.2019.0100249
3. K. H. Memon, M. A. Qureshi, S. Memon, M. Shaikh, and R. Kumar, “Performance evaluation of
routing protocols under security attacks in mobile ad hoc networks”, International Journal of
Computer Science & Network Security, Vol.17, No.12, pp. 21−26, December 2017. DOI:
http://paper.ijcsns.org/07_book/201712/20171204.pdf
4. A. Aziz, R. Kumar, and I. Joe, “I-DWRL: Improved Dual Wireless Radio Localization Using
Magnetometer”, Sensors Journal (MDPI), Vol. 17, No. 11, November 2017. DOI:
https://doi.org/10.3390/s17112630
5. R. Kumar, A. Hussain, A. Aziz and I. Joe, “Wireless DF Relaying with Beamforming for an
Unmanned Aircraft System over κ−μ Fading Channels”, International Journal of Communication
Networks and Information Security, Vol. 9, No.1, pp. 105−110, April 2017. DOI:
http://www.ijcnis.org/index.php/ijcnis/article/view/2275/214
6
Introduction (Research Publications)
Journal Papers
6. R. Kumar, A. Aziz and I. Joe, “Cooperative Dual-Hop Decode-and-Forward Relaying with
Beamforming over κ−μ Fading Channels”, JNIT: Journal of Next Generation Information Technology,
Vol. 7, No. 4, pp. 38−49, December 2016. DOI: http://www.globalcis.org/jnit/ppl/JNIT402PPL.pdf
7. R. Kumar, A. Aziz and I. Joe, “Opportunistic Relaying Analysis using Antenna Selection under
Adaptive Transmission”, IEICE transactions on Communications, Vol. E99-B, No.11, pp. 2435−2441,
November 2016.
DOI: https://doi.org/10.1587/transcom.2016EBP3042
8. R. Kumar and I. Joe, “Performance Analysis of Wireless Cooperative Multicasting Network using
Decode and Forward Relaying”, JNIT: Journal of Next Generation Information Technology, Vol. 7,
No. 3, pp. 26−35, September 2016. DOI: http://www.globalcis.org/jnit/ppl/JNIT393PPL.pdf
9. A. Aziz, R. Kumar, I. Joe, and Y. Choi, "A Cooperative Scheme of 3-D Localization with Flying
Wireless Sensor Nodes for Disaster Situations”, JNIT: Journal of Next Generation Information
Technology, Vol. 6, No. 2, pp. 37−45, May 2015. DOI:
http://www.globalcis.org/jnit/ppl/JNIT357PPL.pdf
10. 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”, World Electric Vehicle Journal, Vol. 7,
No.4, pp. 577−588, December 2015. DOI: https://doi.org/10.3390/wevj7040577

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

• An Introduction to Object Oriented Programming


with Java, C. Thomas Wu, 5th Edition, McGraw-Hil.

• Java: How to Program 9th Edition, Paul Deitel and


Harvey Deitel, Prentice Hall, 2012,or Latest Edition.

• Absolute Java, 5th Edition, Walter Savitch, Addison


Wesley, 2012, or Latest Edition.

10
Course Marks Distribution
• Sessional Marks 20
• Midterm Examination 30
• Final Examination 50
• Total 100

• 2 Quizzes (5 Marks each)


• 2 Assignments (5 Marks each)

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

• Java Standard Edition (JSE)


—JSE can be used to develop client-side standalone
applications or applets.
• Java Enterprise Edition (JEE)
—JEE can be used to develop server-side applications
such as Java servlets and Java Server Pages.
• Java Micro Edition (JME).
—JME can be used to develop applications for mobile
devices such as cell phones.

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

— Popular IDEs include Eclipse and NetBeans

• Phase-2: Compiling a Java program

17
Java Programming
• Phase-3: Loading a program into RAM

• Phase-4: Bytecode verification

18
Java Programming

• Phase-5: Execution

19
JAVA Environment

20
First Java Program: Printing a
line of text

1 // Fig. 2.1: Welcome1.java


2 // A first program in Java.
3
4 public class Welcome1 {
5
6 // main method begins execution of Java application
7 public static void main( String args[] )
8 {
9 System.out.println( "Welcome to Java Programming!" );
10
11 } // end method main
12
13 } // end class Welcome1

Welcome to Java Programming!

21
A Simple Program: Printing a
Line of Text
1 // Fig. 2.1: Welcome1.java

—Comments start with: //


• Comments ignored during program execution
• Document and describe code
• Provides code readability
—Multiple line comments: /* ... */
/* This is a multiple
line comment. It can
be split over many lines */

2 // A first program in Java.

— Another line of comments


— Note: line numbers not part of program, added for reference

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

4 public class Welcome1 {

—Begins class definition for class Welcome1


• Every Java program has at least one user-defined class
• Keyword: words reserved for use by Java
– class keyword followed by class name
• Naming classes: capitalize every word
– SampleClassName

23
A Simple Program: Printing a
Line of Text
4 public class Welcome1 {

—Name of class called identifier


• Series of characters consisting of letters, digits,
underscores ( _ ) and dollar signs ( $ )
• Does not begin with a digit, has no spaces
• Examples: Welcome1, $value, _value, button7
– 7button is invalid
• Java is case sensitive (capitalization matters)
– a1 and A1 are different
—For chapters 2 to 7, use public keyword
• Certain details not important now
• Mimic certain features, discussions later

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)

7 public static void main( String args[] )

—Part of every Java application


• Applications begin executing at main
– Parenthesis indicate main is a method (ch. 6)
– Java applications contain one or more methods

25
A Simple Program: Printing a
Line of Text
7 public static void main( String args[] )

• Exactly one method must be called main


—Methods can perform tasks and return information
• void means main returns no information
• For now, mimic main's first line
8 {

—Left brace begins body of method definition


• Ended by right brace } (line 11)

26
A Simple Program: Printing a
Line of Text
9 System.out.println( "Welcome to Java Programming!" );

—Instructs computer to perform an action


• Prints string of characters
– String - series characters inside double quotes
• White-spaces in strings are not ignored by compiler
— System.out
• Standard output object
• Print to command window (i.e., MS-DOS prompt)
—Method System.out.println
• Displays line of text
• Argument inside parenthesis
—This line known as a statement
• Statements must end with semicolon ;

27
A Simple Program: Printing a
Line of Text
11 } // end method main

—Ends method definition


13 } // end class Welcome1

—Ends class definition


—Can add comments to keep track of ending braces
—Lines 8 and 9 could be rewritten as:
—Remember, compiler ignores comments
—Comments can start on same line after code

28

You might also like