Objects First with Java A Practical Introduction using BlueJ

Slides:



Advertisements
Similar presentations
CM10134-CM50147 Programming I Basic Programming in Java Marina De Vos.
Advertisements

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”
Aalborg Media Lab 23-Jun-15 Inheritance Lecture 10 Chapter 8.
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.
Object Oriented Design: Identifying Objects
Objects First With Java A Practical Introduction Using BlueJ Designing applications 1.0.
Introduction To System Analysis and Design
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
Well-behaved objects Main concepts to be covered Testing Debugging Test automation Writing for maintainability Objects First with Java - A Practical.
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.
Comp1004: Inheritance I Super and Sub-classes. Coming up Inheritance and Code Duplication – Super and sub-classes – Inheritance hierarchies Inheritance.
1 COS 260 DAY 14 Tony Gauvin. 2 Agenda Questions? 6 th Mini quiz graded  Oct 29 –Chapter 6 Assignment 4 will be posted later Today –First two problems.
1 COS 260 DAY 12 Tony Gauvin. 2 Agenda Questions? 5 th Mini quiz –Chapter 5 40 min Assignment 3 Due Assignment 4 will be posted later (next week) –If.
Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically assess the.
1 COS 260 DAY 22 Tony Gauvin. 2 Agenda Questions? 9 th Mini Quiz corrected –Good results Assignment 5 Not corrected yet Assignment 6 Posted (one more)
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
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
Reference: COS240 Syllabus
Object Oriented Programming
Lecture 2 of Computer Science II
Object-Oriented Programming
Objects First with Java A Practical Introduction using BlueJ
More sophisticated behavior
Understanding class definitions
Inheritance Basics Programming with Inheritance
Week 6 Object-Oriented Programming (2): Polymorphism
COS 260 DAY 16 Tony Gauvin.
COS 260 DAY 2 Tony Gauvin.
Computer Programming with JAVA
Software Design Lecture : 12.
Understanding class definitions
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
CS 1054: Lecture 2, Chapter 1 Objects and Classes.
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. 5.0 © David J. Barnes and Michael Kölling

Take control of your own learning Lecture Classes Exercises Book Web page Discussion forum Study groups Practice, practice, practice! Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Objects First with Java 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 © David J. Barnes and Michael Kölling

Objects First with Java Buzzwords responsibility-driven design inheritance encapsulation iterators overriding coupling cohesion javadoc interface 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. collection classes mutator methods polymorphic method calls Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling © David J. Barnes and 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 5th edition, Pearson Education, 2012 ISBN 0-13-249266-0 978-0-13-249266-9 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 Designing classes Well-behaved objects - testing, maintaining, debugging Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

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

Objects First with Java 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 © David J. Barnes and Michael Kölling

Objects First with Java 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 © David J. Barnes and 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 All the methods in the figures project have void return types; but … … methods may return a result via a return value. Such methods have a non-void return type. More on this in the next chapter. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling