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.