PROGRAMMING IN JAVA
Semester IV
Course code
Category Professional Core Courses
Course title Programming in Java
Scheme and Credits L T P Credits
3 0 0 3
Classwork 30 Marks
Exam 70 Marks
Total 100 Marks
Duration of Exam 03 Hours
Note: The examiner will set nine questions in total. Question one will be compulsory. Question
one will have seven parts of 2 marks each from all units, and the remaining eight questions of 14
marks each to be set by taking two questions from each unit. The students have to attempt five
questions in total, the first being compulsory and selecting one from each unit.
COURSE OBJECTIVES:
1. Gain knowledge about basic Java language syntax and semantics to write Java programs and
use concepts such as variables, conditional and iterative execution methos etc.
2. Be able to use the Java SDK environment to create, debug and run simple Java programs.
3. To analyze the object-oriented paradigm using java programming language.
4. To implement small/medium scale java programs to resolve small business problems.
UNIT - I
Introduction to Java: Evolution of Java, Object Oriented Programming Structure, Overview and
characteristics of Java, Java program Compilation and Execution Process, Organization of the
Java Virtual Machine, Client side Programming, Platform Independency & Portability, Security,
Relation b/w JVM, JRE and JDK, Introduction to JAR format, Naming Conventions, Data types
& Type casting, operators, Security Promises of the JVM, Security Architecture and Security
Policy, security aspects, sandbox model.
UNIT - II
OOPS Implementation: Classes, Objects, attributes, methods, data encapsulation, reference
variables, Constructors, Anonymous block, Method Overloading, Static Data members, Block &
methods; Memory Structure: Stack, Heap, Class & Method area
Class loading & Execution flow: Static vs Dynamic Class loading, implicit vs explicit class
loading, class loading operations;
Argument Passing Mechanism: Passing primitive arguments, passing objects, Wrapper Classes;
This keyword: Referencing instance members, Intra class constructor chaining, Method chaining;
Inheritance & code reusability: Extending classes for code reusability, Usage of super keyword,
Method Overriding, Object class
Inheritance & Runtime Polymorphism: Static & Dynamic binding, Inheritance and Is-A
relation, Runtime Polymorphism and Generalization, Abstract classes & methods, Final Keyword;
Interfaces and Role based Inheritance: Feature & Role based Inheritance, Static & Dynamic
classing Environment, classes & interfaces, interface applications in real scenarios; Has-A relation:
Aggregation & Composition, Nested classes, Inner classes, Anonymous Inner classes, String
Buffer Class, tokenizer, applets, Life cycle of applet and Security concern
UNIT - III
Threads: Creating Threads, Thread Priority, Blocked States, Extending Thread Class, Runnable
Interface, Starting Threads, Thread Synchronization, Synchronize Threads, Sync Code Block,
Overriding Synced Methods, Thread Communication, wait, notify and notify all.
Swing & AWT:
Swing class hierarchy, containers, user interface components, graphics context, AWT
Components, Component Class, Container Class, Layout Manager Interface Default Layouts,
Insets and Dimensions, Border Layout, Flow Layout, Grid Layout, Card Layout Grid Bag Layout
AWT Events, Event Models, Listeners, Class Listener, Adapters, Action Event Methods Focus
Event Key Event, Mouse Events, Window Event
Package & Scopes: Need of Packages, associating classes to Packages, Class path environment
variable, Import Keyword and Feature of static import, Public, protected, private & default scope,
Private Inheritance;
Exception Handling: exception and error, Exception Handling & Robustness, Common
Exceptions and Errors, Try and catch block, Exception handlers, throw keyword, Checked and
Unchecked Exceptions, Role of finally, User defined Exceptions.
UNIT - IV
Collection Framework: Role and Importance of Collection Framework, List & Set based
collection, Iterator & List Iterator, Maps, Searching elements in List, Hash and Tree based
collections, Role of equals and hashCode() methods, Comparable and Comparator Interfaces,
Thread Safety and Vector, Difference b/w Enumeration and Iterator, Type safety and Generics,
Common algorithms and Collections class, Using Properties class for managing properties files;
Database Connectivity Using JDBC: Overview of native and ODBC Drives, Introduction to JDBC,
Type of JDBC drivers, Usage of drivers, defining properties-based Connection Factory; Basic
database operations: Insert, Delete, Update, and Select;
Prepared Statement: Statement, Prepared Statement, Setting Query parameters, Executing Queries;
Callable Statement: Creating PL/SQL Stored procedures and functions, Creating Callable
statements, executing procedures & functions, Batch Updation, Transacting Queries,
Programmatic initialization of database, ResultSetMetaData, DatabaseMetaData; Input/Output
Stream, Stream Filters, Buffered Streams, Data input and Output Stream, Print Stream Random
Access File,
Reflection: reflection API, newInstance()method, javap tool, creating javap tool, creating applet
viewer, call private method, java 9 features.
COURSE OUTCOMES:
At the end of this course, students will demonstrate the ability to
CO1: Identify classes, objects, members of a class and relationships among them for a specific
problem.
CO2: Understand and demonstrate the concepts of garbage collection, polymorphism, inheritance
etc.
CO3: Do numeric (algebraic) and string-based computation.
CO4: Understand and implement modularity as well as basic error-handling techniques.
CO5: Develop, design and implement small multithreaded programs using Java language.
CO6: Apply appropriate problem-solving strategies for the implementation of small/medium
scale Java applications.
TEXT AND REFERENCE BOOKS:
1. E. Balaguruswamy, ―Programming with Java‖, TMH
2. Horstmann, ―Computing Concepts with Java 2 Essentials‖, John Wiley.
3. Decker &Hirshfield, ―[Link]‖, Vikas Publication.
4. Patrick Naughton and HerbertzSchidt, ―Java-2 the complete Reference‖, TMH
5. Sierra & bates, ―Head First Java‖, O’Reilly.