0% found this document useful (0 votes)
13 views5 pages

Advance Prog

Uploaded by

avinash816694
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views5 pages

Advance Prog

Uploaded by

avinash816694
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

2.

4 IT ITC 304 / IN ITC 304: Advance Programming (IT/ITNS)

A. SYLLABUS

Course No Course Structure Pre

Title of the Course requisite

IT ITC 304 / Advance Programming 3L-0T-2P Data Structure


IN ITC 304

COURSE OUTCOMES (COs)

CO 1: Students are able to demonstrate knowledge of the basic principles of the object oriented
development process and apply this understanding to the analysis and design of solutions for
small to medium scale problems.

CO 2: Implement basic event-driven programming, exception handling, and threading.

CO 3: Students are able to analyze the problem in terms of use cases and create object oriented
design for it. Students are able to present the design in UML or other related tools.

CO 4: Students are able to select and use a few key design patterns to solve a given problem in
hand.

CO 5: Students are able to develop multithreaded applications with synchronization.

UNIT CONTENTS

1. Introduction to Object Oriented Paradigm, Examples of OOP, Data


encapsulation, modularity, code reuse, Identifying classes and objects, Working
with objects (constructors, variable reassignment, instance variables), Class
relationship (association, composition, dependency), Interfaces, Polymorphism
using interfaces, Inheritance

2. Polymorphism using inheritance, Method resolution, Interfaces v/s Inheritance,


Constructor invocation in inheritance tree, Abstract classes, Immutable classes,
Object class in Java, Comparing objects (equals method, Comparable and
Comparator interfaces)

3. Object cloning, Generic programming, Introduction to defensive and secure


programming, Exception handling, Assertions, Collection framework, IO
Streams, Object serialization and deserialization, Unit testing using JUnit,
Unified Modelling Language (sequence diagram, class diagram, use case
diagram)

4. Introduction to event driven programming using JavaFX, Introduction to


multithreading, Ahmdals law, speedup, parallel efficiency, Thread creation
(Runnable interface, Thread class), Multithreaded client server application,
Thread pool (ExecutorService, ForkJoinPool), Parallel performance analysis by
controlling task granularity

5. Mutual exclusion (race conditions, monitor locks, deadlocks), Java memory


model, Producer-consumer application, Introduction to design patterns (iterator,
singleton, flyweight, adapter, strategy), Introduction to design patterns
(template, prototype, factory, façade, decorator, composite, proxy, chain of
responsibility, observer, state)

SUGGESTED READINGS:

1. Core Java Volume I - Fundamentals, 12th Edition Pearson by Cay S. Horstmann

2. Core Java Volume II - Advanced Features, 12th Edition – Pearson by Cay S. Horstmann

3. Design Patterns: Elements of Reusable Object-Oriented Software 1st Edition by Erich


Gamma (Author), Richard Helm (Author), Ralph Johnson (Author), John Vlissides (Author)

4. Program Development in Java: Abstraction, Specification and Object - Oriented


Design by Barbara Liskov (Author), John Guttag (Author)

B. CO-PO & CO-PSO MAPPING TABLE

P P P P P
CO\ P O O P O P O P O PO PO PO PS PS PS PS
PO O1 2 3 O4 5 O6 7 O8 9 10 11 12 O1 O2 O3 O4

CO1 3 1 1 1 1 0 1 0 2 0 1 1 3 2 1 1

CO2 1 1 0 1 1 1 0 0 1 1 1 1 2 2 1 1

CO3 1 0 0 1 2 0 0 1 1 1 1 2 3 2 1 1

CO4 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1

CO5 0 0 0 1 1 0 0 0 1 1 1 1 2 2 0 1

C. THEORY LECTURE PLAN

S.No. CONTENT NUMBER Unit

OF

LECTURES

1 Introduction to Object Oriented Paradigm 1 UnitI

2 Examples of OOP 1
3 Data encapsulation, modularity, code reuse 1

4 Identifying classes and objects 1

5 Working with objects (constructors, variable reassignment, instance 1


variables)
(9)
6 Class relationship (association, composition, dependency) 1

7 Interfaces 1

8 Polymorphism using interfaces 1

9 Inheritance 1

CLASS TEST-I

10 Polymorphism using inheritance 1 UnitII

11 Method resolution 1 (7)

12 Interfaces v/s Inheritance 1

13 Constructor invocation in inheritance tree 1

14 Abstract classes 1

15 Immutable classes, Object class in Java 1

16 Comparing objects (equals method, Comparable and Comparator 1


interfaces)

MID SEMESTER EXAMS

21 Object cloning 1 UnitIII

22 Generic programming 1 (8)

23 Introduction to defensive and secure programming 1

24 Exception handling 1

25 Assertions 1

26 Collection framework 1

26 IO Streams, Object serialization and deserialization 1

26 Unit testing using JUnit,Unified Modelling Language (sequence 1


diagram, class diagram, use case diagram)

CLASS TEST-II

27 Introduction to event driven programming using JavaFX 1 UnitIV


28 Introduction to multithreading, Ahmdals law, speedup, parallel 1 (4)
efficiency

29 Thread creation (Runnable interface, Thread class) 1

30 Multithreaded client server application 1

31 Thread pool (ExecutorService, ForkJoinPool) 1

32 Parallel performance analysis by controlling task granularity 1

33 Mutual exclusion (race conditions, monitor locks, deadlocks), Java 1 UnitV


memory model
(5)
34 Producer-consumer application, Introduction to design patterns 1
(iterator, singleton, flyweight, adapter, strategy)

35 Introduction to design patterns (template, prototype, factory, façade, 1


decorator, composite, proxy, chain of responsibility, observer, state)

D. PRACTICAL CLASS PLAN

Lab Class Name of the Experiment


No.

1 Basic Arithmetic Operations: Create a calculator that performs addition, subtraction,


multiplication, and division.

2 Control Structures: Write programs to demonstrate the use of if, else, switch, for,
while, and do-while loops.

3 Classes and Objects: Create a class Car with attributes like model, year, and price.
Instantiate objects of this class.

4 Inheritance: Implement a class hierarchy with a base class Animal and derived classes
Dog and Cat.

5 Polymorphism: Demonstrate method overriding and method overloading with a class


Shape and derived classes Circle, Square, and Triangle.

6 Encapsulation: Create a class Student with private attributes and public getter and
setter methods.

7 Abstraction: Implement abstract classes and interfaces to define a contract for a set of
operations.

8 LinkedList: Create a simple linked list implementation and perform basic operations
like insertion, deletion, and traversal.

9 Stack: Implement a stack using an array or a linked list and demonstrate push, pop,
and peek operations.

MID SEMESTER EVALUATION


10 Try-Catch-Finally: Write a program to demonstrate the use of try-catch-finally blocks
for exception handling.

11 Thread Creation: Create and start multiple threads using Thread class and Runnable
interface.

12 Thread Synchronization: Demonstrate thread synchronization using the synchronized


keyword and wait/notify methods.

13 JDBC: Connect to a database using JDBC, execute SQL queries, and retrieve results.

14 Design Patterns: Implement common design patterns like Singleton, Factory, and
Observer.

15 Producer-Consumer Problem: Implement solution of Producer-Consumer Problem.

16 File Reading and Writing: Write a program to read data from a file and write data to a
file.

END SEMESTER EVALUATION

E. SELF STUDY

Sr. Topic
No.

1 Create an application that educates users about various aspects of Indian Unit I & II &
culture, see example programs/apps as follows: III & IV & V

 Heritage Sites Information: An app providing information about


India's UNESCO World Heritage sites.

 Virtual Tour of Indian Monuments: A virtual reality application


showcasing famous Indian monuments and their history.

 Indian Mythology Quiz: Make a java program for a quiz to test


knowledge about Indian mythology

2 Classical Music Player: An app that plays Indian classical music, with Unit V
options for different ragas and instruments.

3 As suggested by Course instructor/CCC to bridge any gap in the curriculum

4 Any topic as suggested by Course instructor

You might also like