0% found this document useful (0 votes)
17 views37 pages

Lecture 1

The document outlines a Java Programming course that introduces students to object-oriented programming concepts using Java, covering fundamentals to advanced topics such as inheritance, multithreading, and GUI development. It includes the department's vision and mission, course objectives, outcomes, and a detailed syllabus. Additionally, it highlights the importance of Java in the job market and various career opportunities in web development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views37 pages

Lecture 1

The document outlines a Java Programming course that introduces students to object-oriented programming concepts using Java, covering fundamentals to advanced topics such as inheritance, multithreading, and GUI development. It includes the department's vision and mission, course objectives, outcomes, and a detailed syllabus. Additionally, it highlights the importance of Java in the job market and various career opportunities in web development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 37

UNIVERSITY INSTITUTE COMPUTING

BSc (CS)/ BCA


Subject Name: Java Programming
Code: 22SCT-351/22CAT-351

JAVA PROGRAMMING DISCOVER . LEARN . EMPOWER


1
Java Programming
Java Programming is a comprehensive course designed to introduce
students to object-oriented programming concepts using the Java
language. The course covers the fundamentals of Java, including syntax,
control structures, classes, and objects, and advances to more complex
topics such as inheritance, polymorphism, interfaces, exception handling,
file I/O, multithreading, and Java's API libraries. Students will also learn to
develop GUI-based applications

2
VISION

To be a Centre of Excellence for nurturing computer professionals with strong application expertise through
experiential learning and research for matching the requirements of industry and society instilling in them the spirit
of innovation and entrepreneurship.

3
Mission of the Department

M1. To provide innovative learning centric facilities and quality-oriented teaching learning process for solving
computational problems.
M2. To provide a frame work through Project Based Learning to support society and industry in promoting a
multidisciplinary activity.
M3. To develop crystal clear evaluation system and experiential learning mechanism aligned with futuristic
technologies and industry.
M4. To provide doorway for promoting research, innovation and entrepreneurship skills incollaboration with
industry and academia.
M5. To undertake societal activities for upliftment of rural/deprived sections of the society.

4
Course Objectives

• To enable the students to understand the core principles of the Java Language.
• To produce well-designed, effective applications and applets.
• To understand the concept of database connectivity.

5
Course Outcomes
CO1 Identify the ways to implement the inheritance concept in the Java programming language.

CO2 Understand the core programming constructs of Java technology.

CO3 Implement the concept of multithreading to increase the execution speed of the program.

CO4 Analyze the effect of Wrapper Class, Exceptional handling, and Interface in problem-solving.

CO5 Create GUI based applet using abstract window toolkit and event delegation model.

6
Syllabus
Unit-1 Principles of Object-Oriented Programming Lecture Hours: 15

Principles of Object- Introduction to Java, Basic Features, JVM Concepts, A Simple Java Program, Primitive Data Type and Variables, Java Keywords
Oriented Programming

Data Types Data Types, Declaring and Initialization Variables, Java Operators. Class, Object & Methods, Constructors, Overloading constructors, This Keyword, Using
Objects as Parameters, Argument passing, returning objects,

Method Overloading Method Overloading, Garbage Collection, Final, Finalize and Finally Method, Comparison between Java and C++. Inheritance, Interface, Abstract Class,
Interfaces

Unit II File Handling, Exception Handling and Multithreading Lecture Hours: 15

File Handling Packages, Java I/O Classes, I/O Stream Classes, Input and Output Stream, Input Stream and Output Stream Hierarchy, Text Streams, Stream Tokenizer,
Serialization, Buffered Stream, Print Stream, Random Access File.

Exception Handling Exception, Handling of Exception, Using try-catch, Catching Multiple Exceptions, using finally clause, Types of Exceptions, Throwing Exceptions, Writing
Exception Subclasses.

7
Multithreading An Introduction, The Main Thread, Java Thread Model, Thread Priorities, Synchronization in Java. Inter-thread Communication

Unit III GUI Design and Java Database Connectivity Lecture Hours: 15

GUI Design Applets specific methods & Related HTML references, Applet Lifecycle, creating an Applet, displaying it using Web Browser with appletwiewer.exe, Applet v/s
Applications.

Containers Containers, Frames and Panels, Layout Managers. Border layout, Flow layout, Grid layout, AWT all components, Event delegation Model, Event Listeners, Swing
Components.

Java Database Connectivity Establishing a Connection, Transactions with Database, An Overview of RMI Applications, Remote Classes and Interfaces, RMI Architecture, RMI Object Hierarchy, Security,
Java Servlets, Servlet Life Cycle, Get and Post Methods, Session Handling, Java Beans.

8
Assessment Pattern - Internal and External
The performance of students is evaluated as follows:
Theory Practical

Internal Assessment Mid Term End Term Assessment Continuous Mid Term End Term Assessment
Components Assessment Assessment Assessment

Marks 20 20 60

Total Marks 100

9
Internal Evaluation Component
Final Weightage in Internal Assessment
S Weightage of actual conduct Frequency of Task (Prorated
No. Type of Assessment Marks) Remarks

1 Assignment* 10 marks of each assignment One per unit 10 marks

2 Time Bound Surprise Test 12 marks for each test One per unit 4 marks

3 Quiz 4 marks of each quiz 2 per Unit 4 marks

4 Mid-Semester Test** 20 marks for one MST 2 per semester 20 marks

5 Presentation*** Non-Graded: Engagement Task Only for Self


Study MNG
Courses.

6 Homework NA One per lecture topic Non-Graded: Engagement Task


(of 2
questions)
7 Discussion Forum NA One per chapter Non-Graded: Engagement Task

8. Attendance and Engagement Score NA NA 2 marks


on BB

10
BASIC INTRODUCTION:

Java is a widely-used, object-oriented, high-level programming language developed by James Gosling at Sun
Microsystems in 1995. Known for its "write once, run anywhere" capability, Java is designed to be platform-independent,
enabling programs to run on any device that has the Java Virtual Machine (JVM).

11
12
IMPORTANCE
1. Economic Opportunities
• Job Market Demand: There is a high demand for skilled web developers across various industries. Web development
skills can lead to lucrative career opportunities.
• Entrepreneurship: Knowledge of web development enables individuals to create their own websites and online
businesses, opening up avenues for entrepreneurship.
2. Digital Presence
• Business Necessity: In the modern business environment, having a professional and functional website is essential for
reaching and engaging with customers.
• Personal Branding: Individuals can establish their personal brand and showcase their portfolio or resume online.
3. Innovation and Creativity
• Creative Expression: Web development combines technical skills with creative design, allowing developers to create
visually appealing and interactive websites.
• Technological Innovation: Developers can experiment with new technologies and frameworks, pushing the boundaries
of what’s possible on the web.

13
4. Communication and Accessibility
• Global Reach: Websites can reach a global audience, breaking down geographical barriers.
• Information Accessibility: Websites make information easily accessible to a wide audience, contributing to
education, awareness, and informed decision-making.
5. Problem-Solving and Logical Thinking
• Analytical Skills: Web development requires problem-solving skills and logical thinking, which are valuable in
various aspects of life and other professions.
• Attention to Detail: Developing a functional and user-friendly website involves meticulous attention to detail,
improving overall precision and accuracy in work.

14
Variety of job opportunities in the tech industry
1. Front-End Developer
• Responsibilities: Develop and design the user interface of websites and applications using HTML, CSS, and
JavaScript. Ensure the site is responsive and provides a great user experience.
• Skills Required: HTML, CSS, JavaScript, frameworks like React or Angular, UX/UI design principles.
2. Back-End Developer
• Responsibilities: Handle server-side logic, database interactions, and application programming interface (API)
integrations. Ensure the site’s functionality and performance.
• Skills Required: Server-side languages like Node.js, Python, Ruby, or PHP, databases (SQL, NoSQL), API
development.
3. Full-Stack Developer
• Responsibilities: Manage both front-end and back-end development tasks. Work on the full scope of web
application projects.
• Skills Required: Combination of front-end and back-end skills, understanding of the full web development process,
problem-solving.
15
Textbooks / Reference Books

TEXT BOOKS
T1. Balaguruswami, Programming with Java- A Primer.
T2. Patrick Noughton&HerbetSchildt, Java 2 - The Complete Reference
REFERENCE BOOKS
R1. Cay S Horstmann, Fary Cornell, Core Java 2 Volume - I.
CO-PO Mapping

16
Syllabus
Unit-I
Principles of Object-Oriented Programming

• Introduction: Introduction to Java, Basic Features, JVM Concepts, A Simple Java


Program, Primitive Data Type and Variables, Java Keywords,.

17
Content
(Unit I)
Principles of Object-Oriented Programming
Chapter 1.1:
Lecture1.1.1-
1. Java History
2. Java Edition
3. Java Features

18
Objectives/Outcomes

CO1: Identify the ways to implement the inheritance concept in


the Java programming language.

19
JAVA HISTORY
• James Gosling, Mike Sheridan and Patrick Naughton initiated the Java language
project in June 1991. The small team of Sun Microsystem engineers called Green
Team.
• Firstly, it was called “Greentalk ” by James Gosling and file extension was .gt
• Java was originally designed for small, embedded system in electronic appliances.
• After that it was called “Oak”

Fig 1: Green Team[1]

20
JAVA HISTORY Contd.
• Java was called Oak as it is a symbol of strength and chosen as a national tree of
many countries like USA, France, Germany etc.
• In 1995, Oak was renamed as JAVA (Java is an island in Indonesia where first coffee
was produced ).
• JDK (Java Development Kit) 1.0 released in January 23, 1996.
• Many more versions was released later on.
• Java SE 10 was released in March 20, 2018

Fig 2: Oak Tree[2]

21
JAVA-Editions
Java Editions
• J2SE (Java Standard Edition)
• J2ME(Java Mobile Applications)
• J2EE(Java Enterprise Applications)

Tools you need to learn JAVA


• Linux 7.1 or Windows XP/Vista/7/8/10 operating system.
• Java JDK
• Microsoft Notepad or any other text editor

22
JAVA FEATURES

Fig 3: Features of Java[3]


23
Simple

Java is very simple and easy to learn because :


• Java inherits the C/C++ syntax and many of the object oriented features of C++.
• Java has removed many complicated and rarely-used features, for example, explicit
pointers, operator overloading, etc.
• There is no need to remove unreferenced objects because there is an Automatic
Garbage Collection in Java.

24
Object Oriented
• Java is an object-oriented programming
language. Everything in Java is an
object. Object-oriented means we
organize our software as a combination
of different types of objects that
incorporates both data and behavior.
• Object-oriented programming (OOPs) is
a methodology that simplifies software
development and maintenance by
providing some rules.

Fig 4: OOPS Concept[4]


25
Platform Independent
• Java is platform independent because it is different from other languages like C, C++, etc.
which are compiled into platform specific machines while Java is a write once, run
anywhere language. A platform is the hardware or software environment in which a
program runs.
• Java is platform independent due to Java byte code.

Fig 5: Platform Independent[5]

26
Secured

• Java is best known for its security. With Java, we can develop virus-free systems.
Java is secured because:
• No explicit pointer
• Java Programs run inside a virtual machine sandbox
• Classloader
• Bytecode Verifier
• Security Manager

27
Robust

• Robust simply means strong. Java is robust because:


• It uses strong memory management.
• There is a lack of pointers that avoids security problems.
• There is automatic garbage collection in java.
• There are exception handling and the type checking mechanism in Java. All these
points make Java robust.

28
Architecture-neutral

• Java is architecture neutral because there are no implementation dependent features,


for example, the size of primitive types is fixed.
• In C programming, int data type occupies 2 bytes of memory for 32-bit architecture
and 4 bytes of memory for 64-bit architecture. However, it occupies 4 bytes of
memory for both 32 and 64-bit architectures in Java.

29
Portable
• Java is portable because it facilitates you to carry the Java bytecode to any platform.
It doesn't require any implementation.

Fig 6: Portable[6]

30
High Performance
• Java is faster than other traditional interpreted programming languages because Java
bytecode is "close" to native code. It is still a little bit slower than a compiled
language (e.g., C++). Java is an interpreted language that is why it is slower than
compiled languages, e.g., C, C++, etc.

Fig 7: High Performance[7]

31
Distributed

• Java is distributed because it facilitates users to create distributed applications in


Java.
• It handles TCP/IP protocols.
• Java supports Remote Method Invocation (RMI) which enables a program to invoke
methods across a network.

32
Multi-threaded

• A thread is like a separate program, executing concurrently. We can write Java


programs that deal with many tasks at once by defining multiple threads.
• The main advantage of multi-threading is that it doesn't occupy memory for each
thread. It shares a common memory area. Threads are important for multi-media,
Web applications, etc.

33
Dynamic

• Java is a dynamic language. It supports dynamic loading of classes. It means classes


are loaded on demand. It also supports functions from its native languages, i.e., C
and C++.
• Java supports dynamic compilation and automatic memory management (garbage
collection).

34
References
• Fig 1: https://www.slideshare.net/AndriyRymar/latest-java
• Fig 2: https://www.javatpoint.com/history-of-java
• Fig 3: https://www.javatpoint.com/features-of-java
• Fig 4: https://vishmy1.blogspot.com/2019/09/what-are-concept-of-oops-in-java.html
• Fig 5: http://learnfromexamples.com/how-java-is-platform-independent/
• Fig 6: http://www.freetimestudy.com/Features_of_ava.php
• Fig 7: https://onlinecoursebay.com/high-performance-java-udemy-free-download/

35
References Contd.
• https://www.tutorialspoint.com/What-are-the-major-features-of-Java-programming
• https://www.javatpoint.com/features-of-java

36
THANK YOU

37

You might also like