Sunteți pe pagina 1din 1

THE OBJECT – ORIENTED PARADIGM

L T P C
3 1 0 4
Objectives
To understanding the principles of object oriented programming
To introduce the object oriented way of problem solving.
To provide a familiarity with the syntax, class hierarchy, environment and simple application construction
for an object-oriented programming language

Expected Outcome

At the end of the course students should able to


Acquire a full Object Oriented Thinking.
Have a clear understanding of the object-oriented concepts such as objects, classes, inheritance, and
Polymorphism.
Apply the object oriented concepts in application development

Prerequisites/Exposure
Programming Fundamentals

Contents
OVERVIEW OF PROGRAMMING LANGUAGES
History of programming languages; Brief survey of programming paradigms – Procedural languages, Object-
oriented languages, Functional languages, Declarative, non-algorithmic languages, Scripting languages; the effects
of scale on programming methodology.

VIRTUAL MACHINES
The concept of a virtual machine; Hierarchy of virtual machines; Intermediate languages; Security issues arising
from running code on an alien machine.

INTRODUCTION TO LANGUAGE TRANSLATION


Comparison of interpreters and compilers; Language translation phases (lexical analysis, parsing, code generation,
optimization); Machine-dependent and machine-independent aspects of translation.

DECLARATIONS AND ABSTRACTION MECHANISM


The conception of types as a set of values with together with a set of operations; Declaration models (binding,
visibility, scope, and lifetime); Overview of type-checking; Garbage collection. Abstraction Mechanisms:
Procedures, functions, and iterators as abstraction mechanisms; Parameterization mechanisms (reference vs. value);
Activation records and storage management; Type parameters and parameterized types; Modules in programming
languages.

OBJECT-ORIENTED PROGRAMMING
Object-oriented design; Encapsulation and information-hiding; Separation of behavior and implementation; Classes
and subclasses; Inheritance (overriding, dynamic dispatch); Polymorphism (subtype polymorphism vs. inheritance);
Class hierarchies; Collection classes and iteration protocols; Internal representations of objects and method tables.

Text / Reference Books


1. Budd T., An Introduction to Object-oriented Programming, Addison-Wesley 3rd Ed, 2001
2. Shalloway A. and Trott J., Design Patterns Explained: A New Perspective on Object-oriented Design, Addison-
Wesley ,2nd Ed, 2004
3. Eckel B., Thinking in C++, Prentice Hall, 2004
4. Robert W.SEBESTA ,Programming languages ,4th Edition 2001.

Mode of Evaluation

Written examinations, Seminar, Programming assignments, Surprise tests and Quizzes

32

S-ar putea să vă placă și