1-MATERIAL JAVA - REVISED FINALCOPY-new

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Course code JAVA Programming L T P J C

CSE 1007 3 0 2 0 4
Pre-requisite Syllabus version
v.1.0
Course Objectives:
To understand the core language features of Java and its Application Programming
Interfaces (API) for implementing threads, exceptions, database connections, file
management and development of dynamic web applications using JavaFX GUI , Servlets
and Java Server Pages.

Expected Course Outcome:


After successfully completing the course the student should be able to
 Implement Java applications to solve real world problems
 Design and build multi-threaded Java applications
 Design, Develop and Deploy dynamic web applications using JavaFX, Servlets and Java
Server Pages
Student Learning Outcomes (SLO): 1,9,14

Module:1 Java Basics 5 hours SLO: 1


Java design goals - Features of Java Language - JVM - Bytecode - Java source file structure –
Lexical issues - data types – variables – Java coding standards - Operators - Control and Looping
constructs - enhanced for loop - Arrays – one dimensional and multi-dimensional –– String,
StringBuffer & StringBuilder, Wrapper classes

Module:2 Object Oriented Programming 7 hours SLO: 9


Class Fundamentals – Declaring objects and assigning object reference variables– array of objects-
methods – constructors –– overloading methods and constructors– “this” keyword – static block -
nested class – inner class – garbage collection – finalize(). Inheritance – types - use of “super” -
Polymorphism – abstract class – interfaces – packages and sub packages.

Module:3 Robustness and Concurrency 8 hours SLO: 9


Exception Handling - Exceptions & Errors - Types of Exception - Control Flow in Exceptions -
Use of try, catch, finally, throw, throws in Exception Handling - user defined exceptions -
Multithreading – Thread creation – Thread life cycle -Thread priorities and Thread scheduling–
methods to prevent Thread execution - synchronization – interthread communication – deadlock.

Module:4 Files, Streams and Collection framework 6 hours SLO: 1,9


Java I/O streams – Working with files – Serialization and deserialization of objects –Collection
framework – List, Map, Set – Generics class and methods.

Module:5 GUI Programming and Database Connectivity 7 hours SLO: 9,14


GUI programming using JavaFX, Exploring events, controls and JavaFX menus – JDBC
connectivity.
Module:6 Servlet 6 hours SLO: 9,14
Introduction to servlet – Lifecycle of Servlet - Developing and Deploying Servlets - Exploring
Deployment Descriptor (web.xml) - Handling HTTP Request and Response –Servlets with
database communication - Session Tracking.

Module:7 JSP 4 hours SLO: 1,14


JSP Tags and Expressions - JSP Expression Language (EL) - Using Custom Tag.

Module:8 Contemporary issues: 2 hours :


Industry expert talk

Total Lecture hours: 45 hours

Text Book(s)
1. Herbert Schildt , The Complete Reference -Java, Tata McGraw-Hill publisher, 10th
Edition, 2017

2. Paul Deitel & Harvey Deitel ,”Java, How to Program”, Pearson publisher; 11th edition ,
2018.

Reference Books
1. Y. Daniel Liang, “Introduction to Java programming” -comprehensive version-11th Edition,
Pearson publisher, 2017
2. Cay Horstmann,”BIG JAVA”, 4th edition, John Wiley & Sons publisher, 5th edition, 2015
3. E.Balagurusamy, “Programming with Java”, Tata McGraw-Hill publishers, 5rd edition, 2014.
4 Paul J. Deitel, Harvey Deitel ,Java SE8 for Programmers (Deitel Developer Series) Prentice
Hall publisher, 3rd Edition, 2014

.
Mode of Evaluation:
List of Challenging Experiments (Indicative) SLO: 14
1. Write a program to demonstrate the knowledge of students in
multidimensional arrays and looping constructs.
Eg., If there are 4 batches in BTech - “CSE1007” course, read the
count of the slow learners (who have scored <25) in each batch. Tutors
should be assigned in the ratio of 1:4 (For every 4 slow learners, there
should be one tutor). Determine the number of tutors for each batch.
Create a 2-D jagged array with 4 rows to store the count of slow
learners in the 4 batches. The number of columns in each row should
be equal to the number of groups formed for that particular batch ( Eg.,
If there are 23 slow learners in a batch, then there should be 6 tutors
and in the jagged array, the corresponding row should store 4, 4, 4, 4,
4,3). Use for-each loop to traverse the array and print the details. Also
print the number of batches in which all tutors have exactly 4 students.
2. Write a program to demonstrate the knowledge of students in String
handling.
Eg., Write a program to read a chemical equation and find out the
count of the reactants and the products. Also display the count of the
number of molecules of each reactant and product.
Eg., For the equation, 2NaOH + H2SO4 -> Na2SO4+ 2H2O, the O/P
should be as follows.

Reactants are 2 moles of NaOH, 1 mole of H2SO4.

Products are 1 mole of Na2SO4 and 2 moles of H2O.


3. Write a program to demonstrate the knowledge of students in Inheritance.

Eg: Assume that a bank maintains two kinds of accounts for customers, one
called as savings account and the other as current account. The savings
account provides compound interest and withdrawal facilities but no
cheque book facility. The current account provides cheque book facility but
no interest. Current account holders should maintain a minimum balance
and if the balance falls below this level, a service charge is imposed.

Create a class account that stores customer name, account number and type
of account. From this, derive the classes cur_acct and sav_acct to make
them more specific to their requirements. Include necessary member
functions in order to achieve the following tasks :

a) Accept deposit from a customer and update the balance.


b) Display the balance
c) Compute and deposit interest.
d) Permit withdrawal and update the balance.
e) Check for the minimum balance, impose penalty, necessary, and
update the balance.

4. Write a program to demonstrate the knowledge of students in working with


user-defined packages and sub-packages.

Eg., Within the package named ‘primespackage’, define a class Primes


which includes a method checkForPrime() for checking if the given
number is prime or not. Define another class named TwinPrimes outside of
this package which will display all the pairs of prime numbers whose
difference is 2. (Eg, within the range 1 to 10, all possible twin prime
numbers are (3,5), (5,7)). The TwinPrimes class should make use of the
checkForPrime() method in the Primes class.

5. Write a program to demonstrate the knowledge of students in Java


Exception handling.

Eg., Read the Register Number and Mobile Number of a student. If the
Register Number does not contain exactly 9 characters or if the Mobile
Number does not contain exactly 10 characters, throw an
IllegalArgumentException. If the Mobile Number contains any character
other than a digit, raise a NumberFormatException. If the Register Number
contains any character other than digits and alphabets, throw a
NoSuchElementException. If they are valid, print the message ‘valid’ else
‘invalid’
6 Write a program to demonstrate the knowledge of students in
multithreading.
Eg., Three students A, B and C of B.Tech- II year contest for the PR
election. With the total strength of 240 students in II year, simulate the vote
casting by generating 240 random numbers (1 for student A, 2 for B and 3
for C) and store them in an array. Create four threads to equally share the
task of counting the number of votes cast for all the three candidates. Use
synchronized method or synchronized block to update the three count
variables. The main thread should receive the final vote count for all three
contestants and hence decide the PR based on the values received.
7 Write a program to demonstrate the knowledge of students in File handling.
Eg., Define a class ‘Donor’ to store the below mentioned details of a blood
donor.
Name, age, Address, Contact number, blood group, date of last
donation
Create ‘n’ objects of this class for all the regular donors at Vellore. Write
these objects to a file. Read these objects from the file and display only
those donors’ details whose blood group is ‘A+ve’ and had not donated for
the recent six months.
8 Write a program to demonstrate the knowledge of students in working with
Java collection framework.
Eg., Assume only a maximum of 3 courses can be registered by a student
for week end semester classes. Create a hashmap ‘h1’ with ‘n’ key-value
pairs where keys are the names of students and values are the courses
registered by them. Create another hashmap ‘h2’ with ‘m’key-value pairs
where keys are the names of courses offered for B.Tech and values are the
names of faculty handling the courses. Write appropriate code to

- Add or remove a student from h1


- Iterate over the maps and display the key-value pairs stored in
them
- Given a student name, fetch the names of all those who teach
him/her.
Eg:, if the elements of h1 are
Stud Courses registered
name
A Python, maths, c
B c, c++
C C++, physics,chemistry

And if the elements of h2 are


Course name Faculty
Python 111
Maths 222
C 333
C++ 444
Physics` 555
Chemistry 666
Digital 777
electronics

For the student “B”, faculty should be displayed as 333 and 444.
9 Write a program to demonstrate the knowledge of students in GUI
programming using JavaFX.
10 Write a program to demonstrate the knowledge of students in JDBC.
Eg: Create a student table with fields roll number, name, percentage. Insert
values in the table. Display all the details of the student table in a tabular
format on the screen.
11 Write a program to demonstrate the knowledge of students in Servlet
programming.
Eg., Write a servlet which counts how many times a user has visited a web
page. If the user is visiting the page for the first time, display a welcome
message. If the user is re-visiting the page, display the number of times
visited. (Use cookies)

12 Write a program to demonstrate the knowledge of students in handling


HTTP Request and Response.
Eg: Write a program to create a shopping mall. User must be allowed to do
purchase from two pages. Each page should have a page total. The third
page should display a bill, which consists of a page total of whatever the
purchase has been done and print the total. (Use HttpSession)
13. Write a program to demonstrate the knowledge of students in JSP.
Eg: Client sends user name and password to JSP on the Server. Server
receives, validates and sends back the validation result to client as
response.

14. Write a program to demonstrate the knowledge of students in JSP.


Eg: Create a JSP page for an online multiple choice test. The questions are
randomly selected from a database and displayed on the screen. The
choices are displayed using radio buttons. When the user clicks on next, the
next question is displayed. When the user clicks on submit, display the total
score on the screen.

Mode of evaluation:
Recommended by Board of Studies DD-MM-YYYY
Approved by Academic Council No. xx Date DD-MM-YYYY
Session-wise Plan

S.No Topics Covered Class Lab Levels of Text/Reference Remarks


Hours Hours mastery Book
1 Java source file 2 2 Familiarity 1 Lab
structure –basic Component
programming
constructs -
comments – data
types – variables -
operators - control
and looping
2 Arrays – one 3 2 Familiarity 1 Lab
dimensional multi- Component
dimensional –
enhanced for loop –
String, StringBuffer
& StringBuilder,
Wrapper classes
3 Class Fundamentals 4 2 Usage 1 Lab
- Object & Object Component
reference – array of
objects –
constructors –
methods –
overloading – “this”
reference – static
block - nested class
– inner class –
garbage collection –
finalize()
4 Inheritance – types - 3 2 Usage 1 Lab
use of “super” - Component
Polymorphism –
abstract class –
interfaces –
packages and sub
packages.
5 Robustness and 4 2 Usage 1 Lab
Concurrency: Component
Exception Handling
- Exceptions &
Errors - Types of
Exception - Control
Flow in Exceptions -
Use of try, catch,
finally, throw,
throws in Exception
Handling - user
defined exceptions
6 Multithreading – 4 2 Usage 1 Lab
Thread creation – Component
Extending the
Thread- Stopping a
Thread- Life cycle
of Thread- Thread
priority-
synchronization –
interthread
communication –
deadlock.
7 Files, Streams and 3 2 Usage 1 Lab
Object serialization, Component
Data structures: Java
I/O streams –
Working with files –
Serialization and
deserialization of
objects
8 Collection 3 2 Assessment 1 Lab
framework – List, Component
Map, Set, Generics
9 GUI programming 2 2 Usage 1
using JavaFX,
10 Exploring events, 4 2 Usage 1 Lab
controls and JavaFX Component
menus
11 JDBC connectivity. 1 2 Usage 1 Lab
Component
12 Introduction to 3 2 Assessment 1
servlet - Servlet life
cycle - Developing
and Deploying
Servlets
13 Exploring 3 2 Usage 1 Lab
Deployment Component
Descriptor
(web.xml) -
Handling Request
and Response –
Accessing Database-
Session Tracking &
Management.
14 JSP Tags and 4 2 Usage 4 Lab
Expressions - JSP Component
Expression
Language (EL) -
Using Custom Tag

You might also like