OOP Course Outlinex

whooshribbitSoftware and s/w Development

Dec 2, 2013 (3 years and 11 months ago)

79 views

CSE142: Object Oriented Programming


Semester:
Spring 201
2


Instructor:

Asma Sanam Larik

Credit Hours:

4 (3 credit hours for theory + 1 credit hour for lab)


Prerequisite(s):

CSE141, CSE145

Course Description:

This course describes another paradigm as a
better replacement for
structured/procedural programming paradigm (CSE141) for managing large
programs to segregate code into reusable chunks called classes. Principles of
Abstraction, Encapsulation, Inheritance and Polymorphism are explored as well as
dev
eloping an understanding of code structuring and design philosophies. It
requires a thorough understanding of fundamentals of programming. Topics
include class definition, constructors, destructors, access control, method
overloading and overriding, inheri
tance, static and dynamic binding, exception
handling, object life cycle and garbage collection, and namespaces. Java is used as
a tool for implementation of concepts learnt in this course.


Books:

Java: How to Program,

by Harvey M. Deitel, Paul J. Deitel

ISBN
-
10:

0136053068

| ISBN
-
13:

978
-
0136053064

| Publication Date:

March 27,
2009


Thinking in Java (eBook)

by Bruce Eckel (
http://mindview.net/
)

Course
Outline:

Introduction

What

is object? What is Object Oriented Programming? UML introduction,
Programming Techniques, Characteristics of OOPs, Constructor, Grade book case
study.


Introduction to Classes and Objects


Class, Objects, Methods and Instance Variables, Declaring a Class
with a Method
and Instantiating an Object of a Class, declaring a Method with a Parameter, set
and get Methods, Access control: public and private.


Method overloading & Recursive Method


Method overloading, static Methods, static Fields and Class Math, re
cursion,
examples using recursion, Factorial, Fibonacci.


A deeper look to Classes and Objects


Controlling access to member, Referring to the Current Object’s Members with the
this Reference, Overloaded Constructors, default and no argument constructor,
C
omposition,

has
-
a
-
relationship

Enumerations, Garbage Collection, static Class
Members, static Import, final instance variable,


Data abstraction and Encapsulation


Data abstraction and encapsulation, Package access, Creating Packages


Inheritance


Superclasses and Subclasses, protected Members, Constructors in Subclasses,
Object Class.


Polymorphism


Demonstrating Polymorphic Behavior, Abstract Classes and Methods, Case study:
Payroll system using Polymorphism, final Methods and Classes, Downcasting
.


Interfaces


Creating and Using Interfaces, Case study: Payroll System using Interfaces,
Declaring Constants with Interfaces, common Interfaces of the Java API.


GUI Components


Simple GUI
-
Based Input/Output with JOptionPane, Swing Components,
TextFields

and Event Handling with Nested Classes, Common GUI Event Types
and Listener Interfaces, JButton, JComboBox, JList, JPanel, JTextArea, Key
-
Event
Handling.


Generics


Generic Methods, Implementation and compile
-
Time Translation, Overloading
Generic Methods
Generic Classes.


Exception Handling


Overview, try catch, finally block, predefine exception handler, Chained
Exceptions, declaring new exception types, Preconditions and Postconditions, java
exception hierarchy.


Collections


Class arrays, Interface Coll
ection and Class Collections, Lists, Array List, Iterator,
Linked Lists, Stack, Queue, Sets, Maps,


Files and Streams (Optional)


Files and Streams using Class, Class File, sequential access text files, object
serialization

Tools



Java Standard Edition (SE)

and JDK 6



Eclipse Classic 3.4.2



Processing



NetBeans



Rational Rose

Grading Policy:


Theory = 70%

Mid Term = 15% + 15%

Final = 40%


Lab = 30%

Assignments = 15%

Project Report = 15%


Web
Sources

http://www.aonaware.com/OOP2.htm


http://java.sun.com/j2se/

(Standard Edition)


http://www.eclipse.org


http://j
ava.sun.com/docs/books/tutorial/java/


http://www.javaworld.com


http://jcp.org


http://eclipsetutorial.sour
ceforge.net/totalbeginner.html