• A history of Java
• Basic Java Skills
** Java syntax ** Primitive data types ** Assignment
** Variables ** Control structures ** Keywords
• Plagiarism
• OO Introduction
• Basic OO
** Classes and objects ** Data Hiding/Access Modifiers
** Instance variables ** Variable scope
** Methods ** Constructors
Use this as a checklist of topics/concepts that you are expected to learn.
EBU4201 © 2024/25
,Java: short history and basic features
Chapters 1+2 – “Core Java” book
Chapter 1 – “Head First Java” book
Chapter 1 – “Introduction to Java Programming” book
Chapter 1 – “Java in a Nutshell” book
EBU4201 © 2024/25 1
, How it all started …
• History:
– Sun Microsystems began working on a programming language for
“information appliances” – mobile phones, PDAs.
– Requirements safe language, small footprint, efficient development
• However too soon …
– As PDAs failed, emphasis focussed on embedded software systems
such as Set-top boxes; at this point the language was called Oak.
– In 1993, the World Wide Web (WWW) started to take off and Mosaic
(first graphical browser) was released!
• As the WWW started to become more used …
– Oak was renamed to Java
– Sun redevelops Mosaic (“Hot Java”) as a web browser.
– The browser had the ability to dynamically download Java code
these are called applets
PDA = Personal Digital Assistant
EBU4201 © 2024/25 2
, Java is not just a ‘web thing’ …
• Java allows users to • Does almost anything other traditional
interact with a web page, languages (e.g. C++, Pascal) do.
e.g. – But it is cleaner and easier to use.
– play games • Similar to C++, but Java has:
– calculate spreadsheets – no automatic type conversion, i.e. it is
– chat in real time strongly typed
– get continuously updated – no pointer operations
data – no GOTO statement, no global variables, no
– listen to inline sounds header file
that play in real time – no struct and union blocks, no templates
whenever a user loads a
– automatic garbage collection, so no need to
page
“free” memory
– cartoon style animations
– no multiple inheritance (more about this
– real-time video later)
and much, much more … – no backward compatibility with C, like C++
EBU4201 © 2024/25 3