Syllabus

CS2305       PROGRAMMING PARADIGMS

 

AIM:

To understand the concepts of object-oriented, event driven, and concurrent programming paradigms and develop skills in using these paradigms using Java.

 

UNIT I         OBJECT-ORIENTED PROGRAMMING – FUNDAMENTALS

Review of OOP - Objects and classes in Java – defining classes – methods – access specifiers – static members – constructors – finalize method – Arrays – Strings - Packages – JavaDoc comments

 

UNIT II        OBJECT-ORIENTED PROGRAMMING – INHERITANCE

Inheritance – class hierarchy – polymorphism – dynamic binding – final keyword – abstract classes – the Object class – Reflection – interfaces – object cloning – inner classes – proxies

 

UNIT III       EVENT-DRIVEN PROGRAMMING

Graphics programming – Frame – Components – working with 2D shapes – Using color, fonts, and images - Basics of event handling – event handlers – adapter classes – actions – mouse events – AWT event hierarchy – introduction to Swing – Model-View- Controller design pattern – buttons – layout management – Swing Components

 

UNIT IV       GENERIC PROGRAMMING

Motivation for generic programming – generic classes – generic methods – generic code and virtual machine – inheritance and generics – reflection and generics – exceptions –

exception hierarchy – throwing and catching exceptions – Stack Trace Elements - assertions – logging

 

UNIT V        CONCURRENT PROGRAMMING

Multi-threaded programming – interrupting threads – thread states – thread properties – thread synchronization – thread-safe Collections – Executors – synchronizers – threads

and event-driven programming

 

TEXT BOOK

1.      Cay S. Horstmann and Gary Cornell, “Core Java: Volume I – Fundamentals”, Eighth Edition, Sun Microsystems Press, 2008.

 

REFERENCES

1.    K. Arnold and J. Gosling, “The JAVA programming language”, Third edition, Pearson Education, 2000.

2.    Timothy Budd, “Understanding Object-oriented programming with Java”, Updated Edition, Pearson Education, 2000.

3.    C. Thomas Wu, “An introduction to Object-oriented programming with Java”, Fourth Edition, Tata McGraw-Hill Publishing company Ltd., 2006.