Introduction Object-Oriented Programming

Slides:



Advertisements
Similar presentations
An Introduction to Visual Basic Terms & Concepts.
Advertisements

Programming Paradigms and languages
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Principles of Object-oriented Programming Programming Language Paradigms August 26, 2002.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
CSCI-383 Object-Oriented Programming & Design Lecture 15.
Optimization Problems Minimum Spanning Tree Behavioral Abstraction.
 Computer Science 1MD3 Introduction to Programming Michael Liut Ming Quan Fu Brandon.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
UFCEUS-20-2 : Web Programming Lecture 5 : Object Oriented PHP (1)
Introduction to Object-oriented programming and software development Lecture 1.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
An Introduction to Visual Basic
Python Mini-Course University of Oklahoma Department of Psychology Day 2 – Lesson 6 Program Design 4/18/09 Python Mini-Course: Day 2 - Lesson 6 1.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Programming Paradigms Lecturer Hamza Azeem. What is PP ? Revision of Programming concepts learned in CPLB Learning how to perform “Object-Oriented Programming”
Introduction to Classes and Objects. Real Life When a design engineer needs an electrical motor he doesn’t need to worry about –How a foundry will cast.
Java Fundamentals Usman Ependi UBD
Industrial Group Project Introduction to Object Oriented Programming Adelina Basholli, February, 2016.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Java Programming, 3e Concepts and Techniques Chapter 1 Section 56 – An Introduction to Java.
Engineered for Tomorrow Unit:8-Idioms Engineered for Tomorrow sharmila V Dept of CSE.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Advanced Higher Computing Science
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Prof. Bhushan Trivedi Director GLS Institute of Computer Technology
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
Programming paradigms
Tips on coding practices
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
Sachin Malhotra Saurabh Choudhary
INTERMEDIATE PROGRAMMING WITH JAVA
The Object-Oriented Thought Process Chapter 15
CHAPTER 5 GENERAL OOP CONCEPTS.
Key Ideas from day 1 slides
Object-Oriented Analysis and Design
Lecture 1: Introduction to JAVA
Programming in Java Sachin Malhotra, Chairperson, PGDM-IT, IMS Ghaziabad Saurabh Chaudhary, Dean, Academics, IMS Ghaziabad.
March 29 – Testing and Priority QUeues
TECHNOLOGY GUIDE TWO Computer Software.
CSC 222: Object-Oriented Programming
OBJECT ORIENTED PROGRAMMING overview
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
The Object-Oriented Thought Process Chapter 08
An Introduction to Visual Basic
An Introduction to Visual Basic .NET and Program Design
Subprograms and Programmer Defined Data Type
Introduction to Components and Specifications Using RESOLVE
Object Oriented Theory I
Object oriented analysis and design
Abstraction in Object-Oriented Programming
CIS601: Object-Oriented Programming in C++
Review CSE116 2/21/2019 B.Ramamurthy.
Introduction Object-Oriented Programming Reprise
CS 2530 Intermediate Computing Dr. Schafer
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Basic OOP Concepts and Terms
Exercise and Anxiety Seminar: Fall 2014
Object-Oriented PHP (1)
Event loops.
Abstraction and Objects
Presentation transcript:

Introduction Object-Oriented Programming

The Journey So Far Procedural Programming using Pseudocode You are here

The Destination Procedural Programming Object Oriented Programming using Pseudocode using Java

Introduction We are going to introduce two concepts at the same time: Object-Oriented Programming Programming in a real language Why? Pseudocode is a good preparation for learning any language. The Object Oriented paradigm is a significant factor in modern programming We feel that an introductory course should at a minimum give students a good taste of real programming Many students have asked for exposure to a real language Excellent preparation for CS 1312

Introduction We will not abandon the principles you have learned so far: modularity abstraction the necessity to visually validate the logic Today we will give some basic ideas about: Object Oriented Programming Working with a real language: Java

Object Oriented Programming A different programming style A different way of thinking Origins Problems with very large systems becoming unmanageable (> 100,000 lines of code) Graphical User Interfaces (e.g. Macintosh, Windows) required a different way of programming due to complex interactions of windows, mouse clicks, etc. Xerox PARC: Smalltalk C++ as an enhancement to C Java as a Web language

To be more specific...

The Scenario Items Recall the concept of a Queue: Defined by a set of behaviors Enqueue to the end Dequeue from the front First in, first out Items

Where is the Queue? The logical idea of the queue consisted of: Data stored in some structure (list, array, etc.) Modules to act on that data But where is the queue? We’d like some way of representing such a structure in our programs.

Why? We would like to have reusable “drop-in” programming components we could use to solve problems. We would like to encapsulate the data and the behaviors in order to “protect” it from misuse. We would like clear interfaces between different parts of programs We would like a programming system that was extensible We would like a programming language that would be excellent for modeling real world objects

Issues As is, there is no way to “protect” against violating the specified behaviors. Procedure Enqueue Procedure Dequeue The Queue Data Sneak into Middle

Issues If our queue could somehow be packaged we could drop in a “queue object” whenever we needed it. Queue Acme Manufacturing

Issues We’d like a way to put a “wrapper” around our structure to protect against intrusion. Queue Acme Manufacturing Enqueue Dequeue Sneak into Middle

Issues Contract The party of the first part hereinafter known as the queue agrees to... The party of the second part hereinafter known as the application agrees to... Clear lines of responsibility

Issues I need a queue that can tell me how many items it contains... Queue Enqueue Dequeue Acme Manufacturing “Magic Process” CountingQueue Acme Manufacturing Enqueue Dequeue Size

$ Issues Signal Elevator Signal Object Elevator Object Student Student Car Object Car $ BankAccount BankAccount Object Real World Objects!