CSE121 Object Oriented Programming
Course Objectives
The objective of this course is to:
1. Explain importance of modeling, principles of modeling and object oriented modeling.
2. Evaluate variable scopes, memory management, and reference versus value types in relation to parameters and arguments in function calls.
3. Understand key merits of object oriented programming in comparison with alternative orientations and class design principles.
4. Undestand principles of combining sub-classing and interfaces in designing class hierarchies.
5. Understand motivations for literate programming, self documentation, good coding style practices in program design and testing.
Course Outcomes
At the end of the course student will be able to:
1. Explain the principles of the object oriented programming paradigm specifically including abstraction, encapsulation, inheritance and polymorphism .
2. Demonstrate best practices in designing classes and class hierarchies from problem statements using sub-classing, abstract classes, and interfaces to achieve polymorphism in object oriented software. Describe non-sequences of the lack or presence of multiple inheritances for their design.
3. Demonstrate informed use of encapsulation within and across software components and packages.
4. Apply exception handling, generation and escalation mechanisms and practices in writing Java programs.
5. Apply self, mutual, or circular references to satisfy data representation in problems and construct mutable data structures.
6. Describe and explain the factors that contribute to a good object oriented solution, reflecting on your own experiences and drawing upon accepted good practices.
7. Practice self documentation and consistent coding style in writing programs
Catalog Description
This course introduces computer programming using the JAVA programming language with object-oriented programming principles. It emphasis on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger. Along with this, it also includes the features of advanced java programming language such as AWT, Applet, JDBC, Servlets etc.
Text Books
1. James Rumbaugh et. al, “Object Oriented Modeling and Design”, PHI
2. Naughton, Schildt, “The Complete Reference JAVA2”, TMH
Reference Books
1. Grady Booch, James Rumbaugh, Ivar Jacobson, “The Unified Modeling Language UserGuide”, Pearson Education
2. Mark Priestley “Practical Object-Oriented Design with UML”, TMH
3. Booch, Maksimchuk, Engle, Young, Conallen and Houstan, “Object Oriented Analysisand Design with Applicile ations”, Pearson Education
4. Pandey, Tiwari, “ Object Oriented Programming with JAVA” , Acme Learning