0% found this document useful (0 votes)
10 views3 pages

PPPP

The document outlines the course structure for ITC 304: Advanced Programming, detailing course outcomes that focus on object-oriented development, event-driven programming, and multithreading. It includes a comprehensive unit breakdown covering topics such as design patterns, exception handling, and JavaFX, along with suggested readings and a practical class plan with various programming experiments. The course emphasizes hands-on learning through lab exercises that reinforce theoretical concepts.

Uploaded by

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

PPPP

The document outlines the course structure for ITC 304: Advanced Programming, detailing course outcomes that focus on object-oriented development, event-driven programming, and multithreading. It includes a comprehensive unit breakdown covering topics such as design patterns, exception handling, and JavaFX, along with suggested readings and a practical class plan with various programming experiments. The course emphasizes hands-on learning through lab exercises that reinforce theoretical concepts.

Uploaded by

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

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)

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

You might also like