SlideShare a Scribd company logo
Intro to Java Programming
Adgenda
• Class Introductions
• Brief History of Java
• Installations
• Java JDK
• Eclipse IDE

• High Level Overview of Java Language
• Object Orientation Introduction
Class Introductions
• Name
• Grade
• Programming Experience
• Any languages other than java?

• Favorite musical artist
• What you expect to get from the class.
BRIEF HISTORY OF JAVA
Brief History of Java
• Developed at Sun Microsystems by James
Gosling
• Initial version was, called Oak, was based on C++

• Released in 1995
• Initial vision was to automate consumer devices
(TVs, cable boxes,VCRs etc.)

• Released with the HotJava browser
• Designed with a write once run anywhere
concept (Hardware independent)
Brief History of Java
INSTALLATIONS
Installations
• Copy the JavaClass directory from the USB
drive to your C drive
• Run the java installer (either 32 or 64 bit
depending on your OS)
• Extract the eclipse distribution archive into the
JavaClass directory on your C drive
• Copy JarClassFinder to the eclipse dropins
directory
• Install ObjectAid from the update site
(http://www.objectaid.net/update)
Installations
• Expand the JAutoDoc plugin into the eclipse
directory
JAVA OVERVIEW
Java Overview
• Object oriented
• Two types of java programs
• Standalone
• Normal program run on a computer
• Can have a GUI or be headless

• Applet
• Run inside a web browser
Java Overview
• Anatomy of a java class file
OBJECT ORIENTATION
Object Orientation
• What is OO?
• An OO solution categorized into 3 phases
• Analysis
• The analysis of a problem that focuses on the problem domain
and the discovery of the domain entities and their interactions
and relevant state information.

• Design
• The process of taking the analysis output and refining and
extending it into a collection of cooperating classes that can be
implemented to form a solution to a set of user requirements.

• Programming
• An approach that facilitates creation of modular, reusable
components through the use of object oriented concepts.
Object Orientation
• OO Concepts
• Abstraction
• The identification of the essential characteristics of an
item

• Encapsulation
• The grouping of related concepts into one item, such as a
class or component

• Information hiding
• The restriction of external access to attributes

• Aggregation
• Represents “is part of” or “contains” relationships
between two classes or components
Object Orientation
• OO Concepts (Continued)
• Class
• A template from which objects are

• Interface
• The definition of a collection of one or more operation
signatures that defines a cohesive set of behaviors

• Collaboration
• Classes work together (collaborate) to fulfill their
responsibilities

• Message
• A message is either a request for information or a request
to perform an
Object Orientation
• OO Concepts (Continued)
• Operation
• Something a class does (similar to a function in structured
programming)

• Inheritance (Single and Multiple)
• Represents “is a”, “is like”, and “is kind of”
relationships. When class “B” inherits from class “A” it
automatically has all of the attributes and operations that
“A” implements

• Polymorphism
• Different objects can respond to the same message in
different ways, enable objects to interact with one another
without knowing their exact type
Object Orientation
• OO Concepts (Continued)
• Subclass
• If class “B” inherits from class “A,” we say that “B” is a
subclass of “A”

• Superclass
• If class “B” inherits from class “A,” we say that “A” is a
superclass of “B”

• Operation
• Something a class does (similar to a function in structured
programming)
Object Orientation
• OO Concepts (Continued)
• Override
• Sometimes you need to override (redefine) attributes
and/or methods in subclasses
Ad

More Related Content

What's hot (9)

Search Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer PerspectiveSearch Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer Perspective
Andrea Gazzarini
 
Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques
Andrea Gazzarini
 
Scalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2OScalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2O
Sri Ambati
 
Data Science Challenges in Personal Program Analysis
Data Science Challenges in Personal Program AnalysisData Science Challenges in Personal Program Analysis
Data Science Challenges in Personal Program Analysis
Work-Bench
 
Improving data interoperability in Python and R
Improving data interoperability in Python and RImproving data interoperability in Python and R
Improving data interoperability in Python and R
Wes McKinney
 
probabilistic ranking
probabilistic rankingprobabilistic ranking
probabilistic ranking
FELIX75
 
High-Performance Python
High-Performance PythonHigh-Performance Python
High-Performance Python
Work-Bench
 
Scaling Analysis Responsibly
Scaling Analysis ResponsiblyScaling Analysis Responsibly
Scaling Analysis Responsibly
Work-Bench
 
Apache Zeppelin, Helium and Beyond
Apache Zeppelin, Helium and BeyondApache Zeppelin, Helium and Beyond
Apache Zeppelin, Helium and Beyond
DataWorks Summit/Hadoop Summit
 
Search Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer PerspectiveSearch Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer Perspective
Andrea Gazzarini
 
Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques
Andrea Gazzarini
 
Scalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2OScalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2O
Sri Ambati
 
Data Science Challenges in Personal Program Analysis
Data Science Challenges in Personal Program AnalysisData Science Challenges in Personal Program Analysis
Data Science Challenges in Personal Program Analysis
Work-Bench
 
Improving data interoperability in Python and R
Improving data interoperability in Python and RImproving data interoperability in Python and R
Improving data interoperability in Python and R
Wes McKinney
 
probabilistic ranking
probabilistic rankingprobabilistic ranking
probabilistic ranking
FELIX75
 
High-Performance Python
High-Performance PythonHigh-Performance Python
High-Performance Python
Work-Bench
 
Scaling Analysis Responsibly
Scaling Analysis ResponsiblyScaling Analysis Responsibly
Scaling Analysis Responsibly
Work-Bench
 

Viewers also liked (11)

2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
Prof. Wim Van Criekinge
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
mithunsasidharan
 
Overview HTML, HTML5 and Validations
Overview HTML, HTML5 and Validations Overview HTML, HTML5 and Validations
Overview HTML, HTML5 and Validations
Yaowaluck Promdee
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Marakana Inc.
 
What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.
Nicholas Pringle
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworks
MD Sayem Ahmed
 
C++ Overview PPT
C++ Overview PPTC++ Overview PPT
C++ Overview PPT
Thooyavan Venkatachalam
 
Overview of c++
Overview of c++Overview of c++
Overview of c++
geeeeeet
 
Ruby Rails Overview
Ruby Rails OverviewRuby Rails Overview
Ruby Rails Overview
Netguru
 
Python overview
Python   overviewPython   overview
Python overview
Hemant Kumar Tiwary
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Veerabadra Badra
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
Prof. Wim Van Criekinge
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
mithunsasidharan
 
Overview HTML, HTML5 and Validations
Overview HTML, HTML5 and Validations Overview HTML, HTML5 and Validations
Overview HTML, HTML5 and Validations
Yaowaluck Promdee
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Marakana Inc.
 
What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.
Nicholas Pringle
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworks
MD Sayem Ahmed
 
Overview of c++
Overview of c++Overview of c++
Overview of c++
geeeeeet
 
Ruby Rails Overview
Ruby Rails OverviewRuby Rails Overview
Ruby Rails Overview
Netguru
 
Ad

Similar to Intro to java programming (20)

Getting Started with Java
Getting Started with JavaGetting Started with Java
Getting Started with Java
Michael Redlich
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Ahmed Abbadi
 
U1 JAVA.pptx
U1 JAVA.pptxU1 JAVA.pptx
U1 JAVA.pptx
madan r
 
CS8392 OOP
CS8392 OOPCS8392 OOP
CS8392 OOP
DhanalakshmiVelusamy1
 
oop unit1.pptx
oop unit1.pptxoop unit1.pptx
oop unit1.pptx
sureshkumara29
 
lecture-1111111111111111111111111111.pdf
lecture-1111111111111111111111111111.pdflecture-1111111111111111111111111111.pdf
lecture-1111111111111111111111111111.pdf
harey68956
 
object oriented programming unit one ppt
object oriented programming unit one pptobject oriented programming unit one ppt
object oriented programming unit one ppt
isiagnel2
 
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.pptJava Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
akashsachu221
 
2. Introduction to Java for engineering stud
2. Introduction to Java for engineering stud2. Introduction to Java for engineering stud
2. Introduction to Java for engineering stud
vyshukodumuri
 
Presentation 1.pptx
Presentation 1.pptxPresentation 1.pptx
Presentation 1.pptx
PranavSoni19
 
JAVA PROGRAMMING- OOP Concept
JAVA PROGRAMMING- OOP ConceptJAVA PROGRAMMING- OOP Concept
JAVA PROGRAMMING- OOP Concept
Trinity Dwarka
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introduction
jyoti_lakhani
 
L1 basics
L1 basicsL1 basics
L1 basics
teach4uin
 
Introduction to oops
Introduction to oopsIntroduction to oops
Introduction to oops
Umamaheshwariv1
 
PPT_Object Oriented Programming (2).pptx
PPT_Object Oriented Programming (2).pptxPPT_Object Oriented Programming (2).pptx
PPT_Object Oriented Programming (2).pptx
faizus786
 
PPT_Object Oriented Programming .pptx
PPT_Object Oriented Programming     .pptxPPT_Object Oriented Programming     .pptx
PPT_Object Oriented Programming .pptx
MDFARHAN3070
 
Java
JavaJava
Java
Ranjitham N
 
Introduction to oop and java fundamentals
Introduction to oop and java fundamentalsIntroduction to oop and java fundamentals
Introduction to oop and java fundamentals
AnsgarMary
 
How to train the jdt dragon
How to train the jdt dragonHow to train the jdt dragon
How to train the jdt dragon
Ayushman Jain
 
Core java lessons
Core java lessonsCore java lessons
Core java lessons
vivek shah
 
Getting Started with Java
Getting Started with JavaGetting Started with Java
Getting Started with Java
Michael Redlich
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Ahmed Abbadi
 
U1 JAVA.pptx
U1 JAVA.pptxU1 JAVA.pptx
U1 JAVA.pptx
madan r
 
lecture-1111111111111111111111111111.pdf
lecture-1111111111111111111111111111.pdflecture-1111111111111111111111111111.pdf
lecture-1111111111111111111111111111.pdf
harey68956
 
object oriented programming unit one ppt
object oriented programming unit one pptobject oriented programming unit one ppt
object oriented programming unit one ppt
isiagnel2
 
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.pptJava Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
akashsachu221
 
2. Introduction to Java for engineering stud
2. Introduction to Java for engineering stud2. Introduction to Java for engineering stud
2. Introduction to Java for engineering stud
vyshukodumuri
 
Presentation 1.pptx
Presentation 1.pptxPresentation 1.pptx
Presentation 1.pptx
PranavSoni19
 
JAVA PROGRAMMING- OOP Concept
JAVA PROGRAMMING- OOP ConceptJAVA PROGRAMMING- OOP Concept
JAVA PROGRAMMING- OOP Concept
Trinity Dwarka
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introduction
jyoti_lakhani
 
PPT_Object Oriented Programming (2).pptx
PPT_Object Oriented Programming (2).pptxPPT_Object Oriented Programming (2).pptx
PPT_Object Oriented Programming (2).pptx
faizus786
 
PPT_Object Oriented Programming .pptx
PPT_Object Oriented Programming     .pptxPPT_Object Oriented Programming     .pptx
PPT_Object Oriented Programming .pptx
MDFARHAN3070
 
Introduction to oop and java fundamentals
Introduction to oop and java fundamentalsIntroduction to oop and java fundamentals
Introduction to oop and java fundamentals
AnsgarMary
 
How to train the jdt dragon
How to train the jdt dragonHow to train the jdt dragon
How to train the jdt dragon
Ayushman Jain
 
Core java lessons
Core java lessonsCore java lessons
Core java lessons
vivek shah
 
Ad

Recently uploaded (20)

Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Connect and Protect: Networks and Network Security
Connect and Protect: Networks and Network SecurityConnect and Protect: Networks and Network Security
Connect and Protect: Networks and Network Security
VICTOR MAESTRE RAMIREZ
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
TrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token ListingTrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token Listing
Trs Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Play It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google CertificatePlay It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Connect and Protect: Networks and Network Security
Connect and Protect: Networks and Network SecurityConnect and Protect: Networks and Network Security
Connect and Protect: Networks and Network Security
VICTOR MAESTRE RAMIREZ
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
TrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token ListingTrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token Listing
Trs Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Play It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google CertificatePlay It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 

Intro to java programming

  • 1. Intro to Java Programming
  • 2. Adgenda • Class Introductions • Brief History of Java • Installations • Java JDK • Eclipse IDE • High Level Overview of Java Language • Object Orientation Introduction
  • 3. Class Introductions • Name • Grade • Programming Experience • Any languages other than java? • Favorite musical artist • What you expect to get from the class.
  • 5. Brief History of Java • Developed at Sun Microsystems by James Gosling • Initial version was, called Oak, was based on C++ • Released in 1995 • Initial vision was to automate consumer devices (TVs, cable boxes,VCRs etc.) • Released with the HotJava browser • Designed with a write once run anywhere concept (Hardware independent)
  • 8. Installations • Copy the JavaClass directory from the USB drive to your C drive • Run the java installer (either 32 or 64 bit depending on your OS) • Extract the eclipse distribution archive into the JavaClass directory on your C drive • Copy JarClassFinder to the eclipse dropins directory • Install ObjectAid from the update site (http://www.objectaid.net/update)
  • 9. Installations • Expand the JAutoDoc plugin into the eclipse directory
  • 11. Java Overview • Object oriented • Two types of java programs • Standalone • Normal program run on a computer • Can have a GUI or be headless • Applet • Run inside a web browser
  • 12. Java Overview • Anatomy of a java class file
  • 14. Object Orientation • What is OO? • An OO solution categorized into 3 phases • Analysis • The analysis of a problem that focuses on the problem domain and the discovery of the domain entities and their interactions and relevant state information. • Design • The process of taking the analysis output and refining and extending it into a collection of cooperating classes that can be implemented to form a solution to a set of user requirements. • Programming • An approach that facilitates creation of modular, reusable components through the use of object oriented concepts.
  • 15. Object Orientation • OO Concepts • Abstraction • The identification of the essential characteristics of an item • Encapsulation • The grouping of related concepts into one item, such as a class or component • Information hiding • The restriction of external access to attributes • Aggregation • Represents “is part of” or “contains” relationships between two classes or components
  • 16. Object Orientation • OO Concepts (Continued) • Class • A template from which objects are • Interface • The definition of a collection of one or more operation signatures that defines a cohesive set of behaviors • Collaboration • Classes work together (collaborate) to fulfill their responsibilities • Message • A message is either a request for information or a request to perform an
  • 17. Object Orientation • OO Concepts (Continued) • Operation • Something a class does (similar to a function in structured programming) • Inheritance (Single and Multiple) • Represents “is a”, “is like”, and “is kind of” relationships. When class “B” inherits from class “A” it automatically has all of the attributes and operations that “A” implements • Polymorphism • Different objects can respond to the same message in different ways, enable objects to interact with one another without knowing their exact type
  • 18. Object Orientation • OO Concepts (Continued) • Subclass • If class “B” inherits from class “A,” we say that “B” is a subclass of “A” • Superclass • If class “B” inherits from class “A,” we say that “A” is a superclass of “B” • Operation • Something a class does (similar to a function in structured programming)
  • 19. Object Orientation • OO Concepts (Continued) • Override • Sometimes you need to override (redefine) attributes and/or methods in subclasses