Objects First with Java A Practical Introduction using BlueJ

Slides:



Advertisements
Similar presentations
Introduction To System Analysis and Design
Advertisements

CM10134-CM50147 Programming I Basic Programming in Java Marina De Vos.
Objects and Classes First Programming Concepts. 14/10/2004Lecture 1a: Introduction 2 Fundamental Concepts object class method parameter data type.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
Objects First with Java A Practical Introduction using BlueJ
Understanding class definitions Looking inside classes 3.0.
Aalborg Media Lab 21-Jun-15 Software Design Lecture 1 “ Introduction to Java and OOP”
Understanding class definitions – Part II –. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Main.
Introduction to Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically.
CO320 Introduction to Object- Oriented Programming Michael Kölling 3.0.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
2.5 OOP Principles Part 2 academy.zariba.com 1. Lecture Content 1.Polymorphism 2.Cohesion 3.Coupling 2.
Introduction To System Analysis and design
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
1 Programming James King 12 August Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple.
The Design Discipline.
Introduction to Object-oriented programming and software development Lecture 1.
BCS 2143 Introduction to Object Oriented and Software Development.
An Object-Oriented Approach to Programming Logic and Design
5.0 Objects First with Java A Practical Introduction using BlueJ Introduction to Computer Science I Instructor: Allyson Anderson.
Objects First With Java A Practical Introduction Using BlueJ Designing applications 1.0.
Introduction to Java. 2 Textbook David J. Barnes & Michael Kölling Objects First with Java A Practical Introduction using BlueJ Fourth edition, Pearson.
OBJECTS AND CLASSES CITS1001. Concepts for this lecture class; object; instance method; parameter; signature data type multiple instances; state method.
1 COS 260 DAY 2 Tony Gauvin. 2 Agenda Questions? Class roll call Blackboard Web Resources Objects and classes 1 st Mini quiz on chap1 terms and concepts.
1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus.
Systems Analysis and Design in a Changing World, 3rd Edition
Understanding class definitions
Designing applications Main concepts to be covered Discovering classes CRC cards Designing interfaces Patterns Objects First with Java - A Practical.
CS2110: SW Development Methods Inheritance in OO and in Java Part 2: Topics: Forms of inheritance Interfaces in Java.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
Final Review. From ArrayLists to Arrays The ArrayList : used to organize a list of objects –It is a class in the Java API –the ArrayList class uses an.
Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically assess the.
Comp1004: Inheritance II Polymorphism. Coming up Inheritance Reminder Overriding methods – Overriding and substitution Dynamic Binding Polymorphism –
6.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
CITS1001 Object Oriented Programming and Software Engineering
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
Object-Oriented Design
Object-Oriented Programming Concepts
Objects and Classes CITS1001 week 1.
COS 260 DAY 1 Tony Gauvin.
Objects First with Java A Practical Introduction using BlueJ
CSC 221: Computer Programming I Spring 2010
The Object-Oriented Thought Process Chapter 1
CSC 221: Computer Programming I Fall 2005
CSC 222: Object-Oriented Programming
Reference: COS240 Syllabus
Object Oriented Programming
Lecture 2 of Computer Science II
Object Oriented Concepts
Objects First with Java
Object-Oriented Programming
More sophisticated behavior
Understanding class definitions
Inheritance Basics Programming with Inheritance
Objects First with Java
More about inheritance
Week 6 Object-Oriented Programming (2): Polymorphism
COS 260 DAY 2 Tony Gauvin.
COS 260 DAY 18 Tony Gauvin.
Computer Programming with JAVA
Objects First with Java A Practical Introduction using BlueJ
Understanding class definitions
COS 260 DAY 23 Tony Gauvin.
COS 260 DAY 23 Tony Gauvin.
Objects First with Java A Practical Introduction using BlueJ
Comp1202: Inheritance I Super and Sub-classes.
Further abstraction techniques
Object-Oriented PHP (1)
Presentation transcript:

Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling Replace this with your course title and your name/contact details. 1.0

Course Contents Introduction to object-oriented programming… …with a strong software engineering foundation… …aimed at producing and maintaining large, high-quality software systems. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Buzzwords inheritance responsibility-driven design encapsulation iterators overriding coupling cohesion interface javadoc A few buzzwords - I use that among other things to address students who have prior programming experience (and often think they know everything already). This shows them that they can still learn a lot in this course. mutator methods collection classes polymorphic method calls Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Goals Sound knowledge of programming principles Sound knowledge of object-orientation Able to critically assess the quality of a (small) software system Able to implement a small software system in Java Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Book David J. Barnes & Michael Kölling Objects First with Java A Practical Introduction using BlueJ Pearson Education, 2003 ISBN 0-13-044929-6. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Webpage The course web page is at www.mip.sdu.dk/~mik/teaching/se01 Please check it regularly. It will be used for announcements and distribution of material. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Course overview (1) Objects and classes Understanding class definitions Object interaction Grouping objects More sophisticated behavior - libraries Well-behaved objects - testing, maintaining, debugging Designing classes Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Course overview (2) Inheritance Polymorphism Extendable, flexible class structures Handling errors Designing applications Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Demo Here, I start discussing objects and classes. I talk to the students about it for a while, then I do an extensive demo of the shapes example in BlueJ. All important points of this lecture are encountered and pointed out during this demo. All following slides serve only as summary, or reminder. No new material is introduced after the demo. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Fundamental concepts object class method parameter data type You don’t always need to show all these slides in class. These are intended as summaries. Discuss these topics with a demo, or in a dialog, or in any way you like. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Objects and classes objects classes represent ‘things’ from the real world, or from some problem domain (example: “the red car down there in the car park”) classes represent all objects of a kind (example: “car”) Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Methods and parameters objects have operations which can be invoked (Java calls them methods) methods may have parameters to pass additional information needed to execute Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Other observations many instances can be created from a single class an object has attributes: values stored in fields. the class defines what fields an object has, but each object stores its own set of values (the state of the object) Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

State Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Two circle objects Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Source code Each class has source code (Java code) associated with it that defines its details (fields and methods). Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Return values Methods may return a result via a return value. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling