Sunteți pe pagina 1din 11

10/6/2009

CS 221: PROGRAMMING-2
COURSE INTRODUCTION
Dr. Mustafa ElNainay
CS 221: Programming -2

Today’s Topics
 Welcome
 Course Information
 Class and Course Policies
 Brief Introduction to Object Oriented Paradigm

1
10/6/2009

Welcome
 Instructor: Dr. Mustafa Y. ElNainay
 Email: y.mustafa@gmail.com
 Alexandria University Mail: TBD!

 Office

 TA: Eng. Asmaa Sallam


 Email: asmaa.m@gmail.com
 TA: Eng. John Diaa
 Email: john.diaa@gmail.com

Course Information
 Object-oriented design; encapsulation and
information hiding; separation of behavior and
implementation: classes, subclasses and inheritance;
polymorphism, UML and requirement analysis.

 The Course Distribution Hours:


Exam
Weekly Hours Marks Duration
(Hours)
Lectures Tut Lab Total Class Lab Oral Final Total
4 1 5 35 90 125 3

2
10/6/2009

Course Breakdown
 Introduction to Object Oriented Paradigm
 Object Oriented Programming Principles
 Object Oriented Modeling and Requirement
Analysis using UML
 Object Oriented Design using UML
 Design Patterns
 Refactoring

Course Materials
 Many Textbooks!
 Objects, Abstraction, Data Structures and Design Using Java Version
5.0 by Elliot B. Koffman and Paul A. T. Wolfgang
 The Essence of Object Oriented Programming with Java and UML by
Bruce E. Wampler
 Object Oriented Programming with Java: Essentials and Applications by
Rajkumar Buyya, Thamarai Selvi Somasundaram, and Xingchen Chu
 Design Patterns in Java by Steven John Mestker and William C. Wake
 And More Online Materials
 So What?!

3
10/6/2009

Not a Java Course


 Java Vs. Object Oriented Programming
 Thinking Objects
 Object Oriented Programming Principles

Not Just About Programming


 Software Development is much more than just
programming.
 Object Oriented Analysis and Design Principles
 Advanced Topics: Design Patterns and Refactoring

4
10/6/2009

Classroom and Course Policies


 50-10 Rule
 Late entrance is not Allowed (until next break time)
 Side Talking is not Allowed
 Food and beverages are not allowed in the
classroom
 No extensions and no make ups
 Most probably midterm exam will be replaced by a
project

Introduction to Object Oriented


Paradigm

5
10/6/2009

Programming Paradigms
 Non-Procedural
 Procedural
 Structured
 Object Oriented
 Aspect Oriented

Non-Procedural

6
10/6/2009

Procedural Programming

Structured Programming

7
10/6/2009

Object Oriented Programming OOP

Aspect Oriented Programming AOP

Global Concerns

Crosscutting Global Concerns

Tactical Concerns

8
10/6/2009

Fundamentals of OOP
 Classes and Objects
 Encapsulation
 Abstraction
 Inheritance
 Multiple Inheritance
 Polymorphism (Overriding and Overloading)

Advantages of OOP
 simplicity: software objects model real world objects, so the
complexity is reduced and the program structure is very clear;
 modularity: each object forms a separate entity whose internal
workings are decoupled from other parts of the system;
 modifiability: it is easy to make minor changes in the data
representation or the procedures in an OO program. Changes inside
a class do not affect any other part of a program, since the only
public interface that the external world has to a class is through the
use of methods;
 extensibility: adding new features or responding to changing
operating environments can be solved by introducing a few new
objects and modifying some existing ones;
 maintainability: objects can be maintained separately, making
locating and fixing problems easier;
 re-usability: objects can be reused in different programs.

9
10/6/2009

Disadvantages and Limitations of OOP

 Not all system concerns can be decomposed into


objects (Ex: security, error handling).
 The benefits of OOP may be realized after a long
period.
 Requires intensive testing procedures.
 Solving a problem using OOP approach consumes
more time than the time taken by structured
programming approach.

Homework 1
 Review Java and Programming Concepts from
Programming-1 Course Materials
 Follow C-Language Sections

10
10/6/2009

Summary
 Course Contents
 More than Java
 More than Programming
 What and Why OOP
 Fundamentals of OOP
 Advantages and Disadvantages of OOP

Questions/Discussions

 Lecture Hours
 Office Hours
 Methods of Communications
 Course Materials
 Your Expectations

11

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