w3.ualg.pt/~jvo/poo

Size: px
Start display at page:

Download "w3.ualg.pt/~jvo/poo"

Transcription

1 POO - Programação Orientada por Objetos OOP - Object-oriented programming 2015/2016 José Valente de Oliveira jvo@ualg.pt 1 w3.ualg.pt/~jvo/poo 1

2 What is OOP? 2

3 What s an object? An object represents a concrete entity of the problem domain, that handles a specific task Examples include: Tangible things as cars, bank accounts Roles as employee, boss,... Interactions as contract, sale,... An object is like a black box: Internal details are hidden. OOP Basics Three basic ideas: Identifying objects and assigning responsibilities to these objects. Objects communicate with other objects by sending messages. Build complex objects based on simple ones 3

4 Why should we care about OOP? Modularity - large software projects can be split into independent, self-contained modules. Reuseability - Programs can be assembled from pre-written software components. Extensibility - New software components can be written or developed from existing ones. Procedural vs. Object-Oriented Procedural Object Oriented Focus on procedures: credit, debit, compute interest Focus on entities with a well-defined role in the problem domain: Customer, Account 4

5 Procedural vs. Object-Oriented Course main topics Elementary concepts of OOP Introduction to Object Oriented Modelling and UML (Unified Modelling Language) Principles, concepts and techniques of OOP Object Oriented Programming using Java Elementary data structures Fundamental Design Patterns 5

6 Learning outcomes Understand Object Oriented programming principles and techniques Application modelling using UML Be familiar with fundamental Design Patterns Use Java as a programming language TIOBE Programming Community Index for September 2015 From: 6

7 Long term trends of Tiobe indices as of September 2015 From: Median salary by years of experience From: 7

8 Bibliography [Main textbook] Bruce Eckel, Thinking in Java, 4th edition, Prentice Hall, New Jersey, cf. [Supplementary readings on UML] UML Quick Ref. Bibliography [Supplementary readings on Design patterns] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Pattern Elements of Reusable Object-Oriented Software, Addison- Wesley, 1995 [Supplementary readings on Data Structures] Robert Sedgewick. Algorithms in Java, 3rd edition parts 1-4: Fundamentals, data structures, sorting, searching, Addison-Wesley,

9 Assessment Final grade (any season) = 60% final written exam + 40% Lab assignments Approval if final grade >= 9.5 (round offs are only applicable to the final grade) Admission to final exams: all registered students with i) lab assessment grade >= 7,5 (any season) ii) lab presences >= 2/3 Final written exam is partially open book, i.e., 25 A4 student prepared pages can be used as consulting material Lab assessment Lab assessent equals the weighted sum of lab assignments Lab assignments are made in working groups of 2 or 3 elements. However, the assegment is individual, and depends of the student preformance during the assignment defence. Groups registration (for both assignments and classes) is mandatory and should be made at: 9

10 Labs Some assignments (i.e.,tutorials) consist only in submitting source code to Mooshak Other assignments (i..e., problems) requires both the submission of source code and a report Submissions beyond the deadline will reduce global lab assessment (0.25v per day) Criteria for assessment of the assignments: - Correction features that exceed specifications will not be considered for assessment - Efficiency use of resources: CPU, RAM, etc. - Code reusability - Readability including comments to document the code To take away today What s OOP? Goals for this course Main covered topics Recommend bibliography Assessment OOP web resourses 10

From UML to Java and return (object-oriented modeling II)

From UML to Java and return (object-oriented modeling II) From UML to Java and return (object-oriented modeling II) Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 jvo@ualg.pt José Valente de Oliveira 6-1

More information

An introduction to Java II

An introduction to Java II An introduction to Java II Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 jvo@ualg.pt José Valente de Oliveira 4-1 Java: Generalities A little

More information

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory

More information

Object Oriented Programming. Michał Bereta

Object Oriented Programming. Michał Bereta Object Oriented Programming Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl Time and place Thursday, 18:00 20:15 Classroom 142 Institute of Informatics Warszawska street (Faculty of chemistry building)

More information

Model-View-Controller

Model-View-Controller CNM STEMulus Center Web Development with PHP November 11, 2015 1/8 Outline 1 2 2/8 Definition A design pattern is a reusable and accepted solution to a particular software engineering problem. Design patterns

More information

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015 Course and Contact Information San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015 Instructor: Aikaterini Potika Office Location: MacQuarrie Hall 215

More information

SYLLABUS. Computer Science

SYLLABUS. Computer Science SYLLABUS 1. Information regarding the programme 1.1 Higher education institution Babeş Bolyai University 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Department Department of Computer Science

More information

ITE 205 Software Design and Programming I

ITE 205 Software Design and Programming I Computer Science Department cs.salemstate.edu ITE 205 Software Design and Programming I 4 cr. Catalog description: This course introduces a set of fundamental design principles and problem-solving techniques

More information

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca SYLLABUS 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca institution 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Departament Departament

More information

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout 1 Last update: 15 October 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 1: Issues of software quality Agenda for today 3 Introduction Some statistics

More information

Advanced Object Oriented PHP

Advanced Object Oriented PHP CNM STEMulus Center Web Development with PHP November 11, 2015 1/17 Outline 1 2 Diamond Problem Composing vs Inheriting Case Study: Strategy Design Pattern 2/17 Definition is when a class is based on another

More information

Course Administration

Course Administration CS 246: Software Abstraction and Specification (Software Engineering Section) Lecture 1 Course Administration http://www.student.cs.uwaterloo.ca/~cs247 Calendar Description CS 247 Software Engineering

More information

Object-Oriented Software Development Goal and Scope

Object-Oriented Software Development Goal and Scope Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic

More information

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics csci2600/

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics  csci2600/ Outline Principles of Software (CSCI 600) Spring 018 http://www.cs.rpi.edu/academics/courses/spring18/csci600/ Konstantin Kuzmin, kuzmik@cs.rpi.edu Office hours: Monday and Thursday 4:00 pm - 5:30 pm Mailing

More information

Design Patterns For Object Oriented Software Development Acm Press

Design Patterns For Object Oriented Software Development Acm Press Design Patterns For Object Oriented Software Development Acm Press We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your

More information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021 Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,

More information

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS: College of San Mateo Official Course Outline 1. COURSE ID: CIS 278 TITLE: (CS1) Programming Methods: C++ C-ID: COMP 122 Units: 4.0 units Hours/Semester: 48.0-54.0 Lecture hours; 48.0-54.0 Lab hours; and

More information

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department COURSE: CST1201 Programming Fundamentals (2 class hours, 2 lab hours, 3 credits) Course Description: This course is an intensive

More information

CS 471 Networking and Distributed Operating Systems

CS 471 Networking and Distributed Operating Systems CS 471 Networking and Distributed Operating Systems Course Information MEETING TIMES University of Kentucky Department of Computer Science Spring 2008 MWF 11:00am - 11:50am, Room FPAT 257 INSTRUCTOR Jim

More information

AE Computer Programming for Aerospace Engineers

AE Computer Programming for Aerospace Engineers AE 030 - Computer Programming for Aerospace Engineers Instructor Information: Credit: Professor Long Lu Long.Lu@sjsu.edu 2 units Class Times & Locations: Section 01 (Lecture): M 16:30-17:20 in CL 226 Section

More information

Advanced Database Organization INF613

Advanced Database Organization INF613 Advanced Database Organization INF613 Assiut University Faculty of Computers & Information Quality Assurance Unit Advanced Database Organization Course Specifications 2010-2011 Relevant program Master

More information

Module Syllabus. PHILADELPHIA UNIVERSITY Faculty: Information Technology Department: Applied Computer Science

Module Syllabus. PHILADELPHIA UNIVERSITY Faculty: Information Technology Department: Applied Computer Science Module Syllabus Module Name: Computer Skills (2) for Science Colleges Module Number: 710104 Level: 1 Credit Hours: 3 hours Prerequisite / Co-Requisite: none Lecturer Name: Office Number: Phone: E-mail:

More information

Compulsory course in Computer Science

Compulsory course in Computer Science Compulsory course in Computer Science University of Macau Faculty of Science and Technology Department of Computer and Information Science SFTW241 Programming Languages Architecture I Syllabus 2 nd Semester

More information

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature 2D1358 Object Oriented Program Construction in C++ Exercises & Labs Lecturer: Frank Hoffmann hoffmann@nada.kth.se Assistents: Danica Kragic danik @nada.kth.se Anders Orebäck oreback @nada.kth.se Peter

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design 0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature

More information

Computer Networks IT321

Computer Networks IT321 Computer Networks IT321 CS Program 3 rd Year (2 nd Semester) Page 1 Assiut University Faculty of Computers & Information Computer Science Department Quality Assurance Unit Computer Networks Course Specifications

More information

COURSE OUTLINE. Faculty of Computing, Universiti Teknologi Malaysia

COURSE OUTLINE. Faculty of Computing, Universiti Teknologi Malaysia Page : 1 of 5 Lecturer : Dr. Norsham binti Idris Room No. : Software Engineering Department, Telephone No. : 07-5532348/013-7261920 E-mail : norsham@utm.my Course Synopsis : This course presents the concepts

More information

CHAPTER 6: CREATIONAL DESIGN PATTERNS

CHAPTER 6: CREATIONAL DESIGN PATTERNS CHAPTER 6: CREATIONAL DESIGN PATTERNS SESSION III: BUILDER, PROTOTYPE, SINGLETON Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E. Otero For non-profit

More information

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Compiler Construction Course Level: 4 Lecture Time: Course

More information

CHAPTER 6: CREATIONAL DESIGN PATTERNS

CHAPTER 6: CREATIONAL DESIGN PATTERNS CHAPTER 6: CREATIONAL DESIGN PATTERNS SESSION I: OVERVIEW OF DESIGN PATTERNS, ABSTRACT FACTORY Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E. Otero

More information

Network Architecture I

Network Architecture I Network Architecture I Degree in: Communications Electronic Engineering Telecommunication Systems Engineering Telecommunication Technologies Engineering Telematics Engineering Universidad de Alcalá 2016/17

More information

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline I. Course Title: CS 280 Computer and Assembler Language 3 credits II. III. IV. Course

More information

Polytechnic University of Puerto Rico Department of Electrical & Computer Engineering and Computer Science (ECECS) Master in Electrical Engineering

Polytechnic University of Puerto Rico Department of Electrical & Computer Engineering and Computer Science (ECECS) Master in Electrical Engineering Polytechnic University of Puerto Rico Department of Electrical & Computer Engineering and Computer Science (ECECS) Master in Electrical Engineering Course Syllabus Note : This is a major revision, the

More information

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:

More information

Module Documentation

Module Documentation Module Documentation COMP08025 Information Systems Development Contents of this document are copyright of Galway Mayo Institute of Technology Page 1 of 5 COMP08025 Information Systems Development Short

More information

An Introduction to Patterns

An Introduction to Patterns An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? Patterns are intended to capture the best available software development experiences in the

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

The University of Aizu School of Computer Science and Engineering Introduction to Programming. Course Syllabus (Special Track for Foreign Students)

The University of Aizu School of Computer Science and Engineering Introduction to Programming. Course Syllabus (Special Track for Foreign Students) The University of Aizu School of Computer Science and Engineering Introduction to Programming Course Syllabus (Special Track for Foreign Students) Evgeny Pyshkin, Senior Associate Professor 27.01.2017

More information

MVC. Model-View-Controller. Design Patterns. Certain programs reuse the same basic structure or set of ideas

MVC. Model-View-Controller. Design Patterns. Certain programs reuse the same basic structure or set of ideas MVC -- Design Patterns Certain programs reuse the same basic structure or set of ideas These regularly occurring structures have been called Design Patterns Design Patterns Design Patterns: Elements of

More information

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT

More information

Software Reliability and Reusability CS614

Software Reliability and Reusability CS614 Software Reliability and Reusability CS614 Assiut University Faculty of Computers & Information Quality Assurance Unit Software Reliability and Reusability Course Specifications2011-2012 Relevant program

More information

Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012

Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012 Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012 I. COURSE DESCRIPTION An introduction to the concepts and techniques encountered in database systems. Topics include data independence,

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre

CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University July 27, 2011 Meeting Time and

More information

Course specification

Course specification The University of Southern Queensland Course specification Description: Object-Oriented Programming in C++ Subject Cat-nbr Class Term Mode Units Campus CSC 2402 30366 1, 2004 ONC 1.00 TWMBA Academic group:

More information

COMP3221: Microprocessors and. Embedded Systems

COMP3221: Microprocessors and. Embedded Systems Embedded Systems Lecture 1: Introduction http://www.cse.unsw.edu.au/~cs3221 Lecturer: Hui Wu Session 1, 2005 1 COMP 3221 Administration (1/2) Lecturer: Hui Wu: huiw@cse.unsw.edu.au Office: K17-501D Consultation:

More information

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL OF OBJECT TECHNOLOGY Online at  Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards

More information

Course Name: Computer Vision Course Code: IT444

Course Name: Computer Vision Course Code: IT444 Course Name: Computer Vision Course Code: IT444 I. Basic Course Information Major or minor element of program: Major Department offering the course:information Technology Department Academic level:400

More information

CSC6290: Data Communication and Computer Networks. Hongwei Zhang

CSC6290: Data Communication and Computer Networks. Hongwei Zhang CSC6290: Data Communication and Computer Networks Hongwei Zhang http://www.cs.wayne.edu/~hzhang Objectives of the course Ultimate goal: To help students become deep thinkers in computer networking! Humble

More information

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene Patterns For Developing Successful Object-Oriented Frameworks Joseph W. Yoder August 27, 1997 1 Overview The work described here extends last years OOPSLA framework workshop paper [Yoder 1996] describing

More information

UNIVERSITY OF NEBRASKA AT OMAHA COURSE SYLLABUS. Department and Course Number CSCI 4900 Internet Systems Development

UNIVERSITY OF NEBRASKA AT OMAHA COURSE SYLLABUS. Department and Course Number CSCI 4900 Internet Systems Development UNIVERSITY OF NEBRASKA AT OMAHA COURSE SYLLABUS Department and Course Number CSCI 4900 Course Title Internet Systems Development Course Coordinator Harvey Siy Total Credits 3 Repeat for Credit? No Date

More information

:11 PM. This course will have a significant project component. Lecture time will be used primarily for:

:11 PM. This course will have a significant project component. Lecture time will be used primarily for: H C 432 Syllabus Edit Mode is: OFF Syllabus CMPT 432/832 Syllabus COURSE GOALS AND REQUIREMENTS Course Goals The purpose of CMPT 432/832 is to provide a deep understanding of operating systems principles:

More information

Chapter 10: Performance Patterns

Chapter 10: Performance Patterns Chapter 10: Performance Patterns Patterns A pattern is a common solution to a problem that occurs in many different contexts Patterns capture expert knowledge about best practices in software design in

More information

Bugsquashing: Command - Pattern. Andreas Fetzer

Bugsquashing: Command - Pattern. Andreas Fetzer Bugsquashing: Command - Pattern Andreas Fetzer Class structure Command: Abstract superclass of all commands. Concrete Command: Specifies a concrete comand. Has the execute method in which the corresponding

More information

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Advanced Databases Course Level: 4 Lecture Time: Course code:

More information

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018 Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018 CSCI 136 Section 00 Instructor: Michael Cassens Office: SS 411 Office Hours: MWF 11:00-11:50 am or by appt Phone: (415) 787-0577 E-mail: michael.cassens@mso.umt.edu

More information

New Undergraduate Course Proposal Form

New Undergraduate Course Proposal Form New Undergraduate Course Proposal Form 1. Department and Contact Information Tracking Number Date & Time Submitted 790 2009-02-13 14:13:42 Department College Budget Account Number Computer Science & Engieering

More information

Design Patterns. Gunnar Gotshalks A4-1

Design Patterns. Gunnar Gotshalks A4-1 Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem

More information

Design Patterns: Part 2

Design Patterns: Part 2 Design Patterns: Part 2 ENGI 5895: Software Design Andrew Vardy with code samples from Dr. Rodrigue Byrne and [Martin(2003)] Faculty of Engineering & Applied Science Memorial University of Newfoundland

More information

TEACHING & ASSESSMENT (T & A) PLAN College of Economics Management and Information Systems Department of Information Systems

TEACHING & ASSESSMENT (T & A) PLAN College of Economics Management and Information Systems Department of Information Systems 1 UoN/AA-003/FORM-QTLMS/V2/2017 TEACHING & ASSESSMENT (T & A) PLAN College of Economics Management and Information Systems Department of Information Systems Semester: Summer 2017 Academic Year 2016-17

More information

Facade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004

Facade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004 Facade and Adapter Comp-303 : Programming Techniques Lecture 19 Alexandre Denault Computer Science McGill University Winter 2004 March 23, 2004 Lecture 19 Comp 303 : Facade and Adapter Page 1 Last lecture...

More information

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz tabbasum.naz@ciitlahore.edu.pk Course Outline Course Title Object Oriented Concepts and Course Code Credit Hours 4(3,1) Programming

More information

CPSC 427a: Object-Oriented Programming

CPSC 427a: Object-Oriented Programming CPSC 427a: Object-Oriented Programming Michael J. Fischer Lecture 1 September 2, 2010 CPSC 427a 1/54 Overview Course information Goals Learning C++ Programming standards Comparison of C and C++ Example

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Course Code: CS 212 Semester: 2 nd Credit Hours: 3+1 Prerequisite Codes: CS-110: Fundamentals of Computer Programming Instructor: Shamyl Bin Mansoor Class: BESE-5 AB Office:

More information

EFFECTIVE JAVA 3RD EDITION PDF

EFFECTIVE JAVA 3RD EDITION PDF EFFECTIVE JAVA 3RD EDITION PDF ==> Download: EFFECTIVE JAVA 3RD EDITION PDF EFFECTIVE JAVA 3RD EDITION PDF - Are you searching for Effective Java 3rd Edition Books? Now, you will be happy that at this

More information

Home Works and Assignments

Home Works and Assignments Course Title: Course Code: Credit Hours Theory: Credit Hours Lab (If Applicable): Instructor Name with Qualification: Course Objectives: Course Learning Outcomes: Contents (Catalog Description): Recommended

More information

Introduction to Programming

Introduction to Programming Introduction to Programming Lecture 1 Object-Oriented Programming Agenda What is Program? Ideal Computing Way Where We Are in Computers? Interaction with the Computer Where are we going? Programming and

More information

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8 Object Oriented Methods with UML Introduction to Design Patterns- Lecture 8 Topics(03/05/16) Design Patterns Design Pattern In software engineering, a design pattern is a general repeatable solution to

More information

State Names. Nik Boyd. Copyright 2004 Nikolas S. Boyd. All rights reserved. Naming Conventions. Intent

State Names. Nik Boyd. Copyright 2004 Nikolas S. Boyd. All rights reserved. Naming Conventions. Intent Copyright 2004 Nikolas S. Boyd. All rights reserved. Nik Boyd State Names Naming Conventions Intent Consistently name the states that form complex finite state machines (FSMs). Motivation The State pattern

More information

Langara College Spring archived

Langara College Spring archived 1 of 7 10/23/07 2:09 PM COMPUTING SCIENCE AND INFORMATION SYSTEMS DEPARTMENT COMPUTING SCIENCE AND INFORMATION SYSTEMS 1300 Systems Analysis & Design (3.0 credits) COURSE OUTLINE Spring 2008 Section 088

More information

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline 1. TITLE OF COURSE AND COURSE NUMBER: Computer and Information Technology; CS201; Credits:

More information

CNT 4004: Computer Networks I. Tentative Syllabus

CNT 4004: Computer Networks I. Tentative Syllabus CNT 4004: Computer Networks I Fall 2016 T/Th 12:30-1:45 ENC 1002 Tentative Syllabus 1. Instructor a. Miguel A. Labrador b. Office: ENB 332 c. Telephone: (813) 974-3260 d. Fax: (813) 974-5456 e. Email:

More information

Langara College Spring archived

Langara College Spring archived 1 of 7 11/23/2006 1:29 PM COMPUTING SCIENCE AND INFORMATION SYSTEMS DEPARTMENT COMPUTING SCIENCE AND INFORMATION SYSTEMS 1300 Systems Analysis & Design (3.0 credits) COURSE OUTLINE Spring 2007 Section

More information

Acyclic Visitor Pattern in Formulation of Mathematical Model

Acyclic Visitor Pattern in Formulation of Mathematical Model Acyclic Visitor Pattern in Formulation of Mathematical Model Ales CEPEK and Jan PYTEL, Czech Republic Key words: acyclic visitor pattern, mathematical model. SUMMARY This paper discusses the use and advantages

More information

ME-635 COMPUTER AIDED DESIGN

ME-635 COMPUTER AIDED DESIGN ME-635 COMPUTER AIDED DESIGN Instructor: Dr. Herli Surjanhata Mechanical Engineering Department Office: 328 MEC Phone: (973) 596-3317 e-mail: surjanhata@adm.njit.edu Web Page: web.njit.edu/~surjan Office

More information

VOL. 4, NO. 12, December 2014 ISSN ARPN Journal of Science and Technology All rights reserved.

VOL. 4, NO. 12, December 2014 ISSN ARPN Journal of Science and Technology All rights reserved. Simplifying the Abstract Factory and Factory Design Patterns 1 Egbenimi Beredugo Eskca, 2 Sandeep Bondugula, 3 El Taeib Tarik 1, 2, 3 Department of Computer Science, University of Bridgeport, Bridgeport

More information

Documentation of SAP Student Lifecycle Management (IS-HER- CM) BS 7 (EHP 4)

Documentation of SAP Student Lifecycle Management (IS-HER- CM) BS 7 (EHP 4) Documentation of SAP Student Lifecycle Management (IS-HER- CM) BS 7 (EHP 4) Applies to: Student Lifecycle Management EHP4 For more information, visit the Higher Education & Research homepage. Summary This

More information

Quantitative Finance COURSE NUMBER: 22:839:615 COURSE TITLE: Special Topics Oriented Programming 2

Quantitative Finance COURSE NUMBER: 22:839:615 COURSE TITLE: Special Topics Oriented Programming 2 Quantitative Finance COURSE NUMBER: 22:839:615 COURSE TITLE: Special Topics Oriented Programming 2 COURSE DESCRIPTION This course assumes a student has prior programming language experience with C++. It

More information

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) Course and Contact Information Instructor: Office Location: Vidya Rangasayee MH229

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) IV. (Meta-) Modelling Frameworks 2 1. Motivation & Overview With MOF, we have: Modelling notation (EMOF / CMOF) Java API (JMI, EMF, etc) Instance model /

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

SAP Help for Student Lifecycle Management

SAP Help for Student Lifecycle Management SAP Help for Student Lifecycle Management Applies to: Student Lifecycle Management EHP3 Summary This document describes the features and functions delivered with Student Lifecycle Management EHP3. Author(s):

More information

CS313T ADVANCED PROGRAMMING LANGUAGE

CS313T ADVANCED PROGRAMMING LANGUAGE CS313T ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 1 : Introduction Lecture Contents 2 Course Info. Course objectives Course plan Books and references Assessment methods and grading

More information

ITT Technical Institute. IT217P Programming in C++ II Onsite Course SYLLABUS

ITT Technical Institute. IT217P Programming in C++ II Onsite Course SYLLABUS ITT Technical Institute IT217P Programming in C++ II Onsite Course SYLLABUS Credit hours: 4 Contact/Instructional hours: 66 (46 Theory Hours, 20 Lab Hours) Prerequisite(s) and/or Corequisite(s): Prerequisites:

More information

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND ENGINEERING DEPARTMENT OF CSE COURSE PLAN

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND ENGINEERING DEPARTMENT OF CSE COURSE PLAN COURSE CODE COURSE TITLE SEMESTER SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND ENGINEERING : CS0402 DEPARTMENT OF CSE COURSE PLAN : SCRIPTING LANGUAGES AND WEB TECHNOLOGY

More information

PROPOSAL TO INTRODUCE A NEW COURSE

PROPOSAL TO INTRODUCE A NEW COURSE PROPOSAL TO INTRODUCE A NEW COURSE 1. COURSE DETAILS 1.1 Course ID COMP3021 1.2 Course name -- Long Object-Oriented Programming 1.3 Course name -- Abbreviated OOP 1.4 Course Authority Assoc. Professor

More information

Getting Started with. Contents. Getting Started ! System Requirements... Before You Register # Registering for Your Course...

Getting Started with. Contents. Getting Started ! System Requirements... Before You Register # Registering for Your Course... MySpanishLab_booklet.qxd 6/13/07 5:59 AM Page 1 Getting Started with Contents Getting Started... 2! System Requirements... 3 @ Before You Register... 4 # Registering for Your Course... 4 $ Enrolling in

More information

AN ERD TOOL. Abstract. Ron McFadyen Applied Computer Science University of Winnipeg Winnipeg, Manitoba, Canada R3B 2E9

AN ERD TOOL. Abstract. Ron McFadyen Applied Computer Science University of Winnipeg Winnipeg, Manitoba, Canada R3B 2E9 AN ERD TOOL Ron McFadyen Applied Computer Science University of Winnipeg Winnipeg, Manitoba, Canada R3B 2E9 r.mcfadyen@uwinnipeg.ca Abstract This paper discusses a graphical ERD editor that was developed

More information

WS01/02 - Design Pattern and Software Architecture

WS01/02 - Design Pattern and Software Architecture Design Pattern and Software Architecture: VIII. Conclusion AG Softwaretechnik Raum E 3.165 Tele. 60-3321 hg@upb.de VIII. Conclusion VIII.1 Classifications VIII.2 Common Misconceptions VIII.3 Open Questions

More information

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018 CSCE 20/220 Data Structures and Algorithms Prof. Amr Goneid Fall 208 CSCE 20/220 DATA STRUCTURES AND ALGORITHMS Dr. Amr Goneid Course Goals To introduce concepts of Data Models, Data Abstraction and ADTs

More information

De La Salle University College of Computer Studies. Course Syllabus

De La Salle University College of Computer Studies. Course Syllabus De La Salle University College of Computer Studies Course Syllabus COMPRO1 / Introduction Computer Programming (3 units) Prerequisite : None Prerequisite : COMPRO2 Type of Course : Basic ITE course / Lecture

More information

ITNW 1425 Fundamentals of Networking Technologies Course Syllabus fall 2012

ITNW 1425 Fundamentals of Networking Technologies Course Syllabus fall 2012 ITNW 1425 Fundamentals of Networking Technologies Course Syllabus fall 2012 Instructor Course Reference Number (CRN) Course Description: Course Prerequisite(s) Course Semester Credit Hours (SCH) (Lecture,

More information

AN OPC DATA ACCESS SERVER DESIGNED FOR LARGE NUMBER OF ITEMS

AN OPC DATA ACCESS SERVER DESIGNED FOR LARGE NUMBER OF ITEMS 1 2 AN OPC DATA ACCESS SERVER DESIGNED FOR LARGE NUMBER OF ITEMS Aleksandar ERDELJAN, Nebojša TRNINIĆ, Darko ČAPKO FACULTY OF ENGINEERING, NOVI SAD Abstract - Servers that support OPC specifications are

More information

INF 315E Introduction to Databases School of Information Fall 2015

INF 315E Introduction to Databases School of Information Fall 2015 INF 315E Introduction to Databases School of Information Fall 2015 Class Hours: Tuesday & Thursday10:30 am-12:00 pm Instructor: Eunyoung Moon Email: eymoon@utexas.edu Course Description Almost every website

More information

As a programmer, you know how easy it can be to get lost in the details

As a programmer, you know how easy it can be to get lost in the details Chapter 1 Congratulations, Your Problem Has Already Been Solved In This Chapter Introducing design patterns Knowing how design patterns can help Extending object-oriented programming Taking a look at some

More information

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus BCS Higher Education Qualifications Diploma in IT Object Oriented Programming Syllabus Version 3.0 December 2016 This is a United Kingdom government regulated qualification which is administered and approved

More information

CSCE 441 Computer Graphics Fall 2018

CSCE 441 Computer Graphics Fall 2018 CSCE 441 Computer Graphics Fall 2018 Meetings: Monday, Wednesday, Friday 9:10-10:00 a.m. Location: HRBB 113 Instructor: Dr. John Keyser Office: 527C, H.R. Bright Building Phone: 458-0167 Email: keyser@cse.tamu.edu

More information

CSC 111 Introduction to Computer Science (Section C)

CSC 111 Introduction to Computer Science (Section C) CSC 111 Introduction to Computer Science (Section C) Course Description: (4h) Lecture and laboratory. Rigorous introduction to the process of algorithmic problem solving and programming in a modern programming

More information

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.

More information

CS 3230 Object Oriented UI Development With Java Syllabus

CS 3230 Object Oriented UI Development With Java Syllabus General Information Semester: Summer 2016 Textbook: Core Java Volume I, 10th Edition, by Horstmann & Cornell, 2012, Prentice Hall, ISBN 978 0 1341 7730 4 Core Java Volume II, 9th Edition, by Horstmann

More information