COS 260 DAY 1 Tony Gauvin.

Slides:



Advertisements
Similar presentations
CSCE 210 Data Structures and Algorithms
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
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 1-1 COS 346 Day 1.
Day 1.  Roll Call  Introduction  Blackboard Overview  Contract on Classroom Behavior  Syllabus Review.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
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.
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
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.
Introduction to Object-oriented programming and software development Lecture 1.
Section Introduction Class roll call Instructor Introduction Instructor’s Educational Philosophy General Information about class BlackBoard accounts.
5.0 Objects First with Java A Practical Introduction using BlueJ Introduction to Computer Science I Instructor: Allyson Anderson.
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.
Introduction to Data Structures
Internet Fundamentals and Web Page Design Day 1. Agenda  Roll Call  Introduction  BlackBoard Overview  Syllabus Review  Classroom contract  Class.
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2006 See online syllabus (also available through Blackboard): Course goals:
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.
Copyright 2005 Prentice Hall1 BUS 411 DAY 1. Copyright 2005 Prentice Hall Ch 1 -2 Agenda Class roll call Instructor Introduction Syllabus review Instructor’s.
Course Preliminaries Course Objectives Course Objectives Students’ Learning Outcomes Students’ Learning Outcomes Grading Policy Grading Policy Course Resources.
Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically assess the.
6.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
CSCE 210 Data Structures and Algorithms
CSC 427: Data Structures and Algorithm Analysis
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
Computer Engineering Department Islamic University of Gaza
CSC 222: Computer Programming II
Object-Oriented Programming Concepts
INTERMEDIATE PROGRAMMING WITH JAVA
CSc 020: Programming Concepts and Methodology II
Objects and Classes CITS1001 week 1.
Objects First with Java A Practical Introduction using BlueJ
CSC 221: Computer Programming I Spring 2010
CSC 221: Computer Programming I Fall 2005
CSC 222: Object-Oriented Programming
Reference: COS240 Syllabus
About the Presentations
Object Oriented Programming
Lecture 2 of Computer Science II
Object-Orientated Programming
COS 260 DAY 17 Tony Gauvin.
COS 312 DAY 1 Tony Gauvin.
Object-Oriented Programming
Objects First with Java A Practical Introduction using BlueJ
Introduction to Data Structures
COS 260 DAY 11 Tony Gauvin.
COS 260 DAY 16 Tony Gauvin.
COS 260 DAY 10 Tony Gauvin.
COS 260 DAY 2 Tony Gauvin.
COS 260 DAY 18 Tony Gauvin.
COS 260 DAY 16 Tony Gauvin.
Objects First with Java A Practical Introduction using BlueJ
Review CSE116 2/21/2019 B.Ramamurthy.
COS 260 DAY 11 Tony Gauvin.
COS 260 DAY 23 Tony Gauvin.
COS 260 DAY 4 Tony Gauvin.
Internet Fundamentals and Web Page Design Day 1
COS 260 DAY 23 Tony Gauvin.
Objects First with Java A Practical Introduction using BlueJ
COS 221 Lecture 1.
Computer Engineering Department Islamic University of Gaza
Presentation transcript:

COS 260 DAY 1 Tony Gauvin

Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus review Web Resources General Information about class Objects and classes

Instructor Tony Gauvin Associate Professor of E-Commerce 218 Nadeau Hall (207) 834-7519 or Extension 7519 TonyG@maine.edu Quick Resume

Fall Schedule 5/27/2018

Instructional Philosophy Out-Come based education Would rather discuss than lecture Requires student preparation Hate grading assignments Especially LATE assignments Use class interaction, assignments, mini-quizzes and Capstone Project to determine if outcomes are met.

Cos 260 Outcomes This course continues from the preliminary introduction to programming that is a core component of the prerequisite COS 111 Introduction to Computer Science course. Upon completion of this course, participants will have gained knowledge of object-oriented and structured programming paradigm concepts, principles, skills (including data type selection and implementation), and the ability to: effectively program in depth effectively apply problem solving techniques to the design of computer algorithm(s) for a task select the appropriate programming language(s) for a task select and implement data type(s) most appropriate for a task (selected from arrays, records, stacks, queues, lists, simple trees) test and debug programs evaluate the quality and efficiency of a program identify improvements that can be made to the quality and efficiency of a program's source code and/or documentation describe key programming concepts, including: control structures recursion iteration sorting searching explain key social aspects of programming, including: intellectual property liability privacy ethical behavior 5/27/2018

Class Documents Syllabus Contract on Classroom behavior Class Slides http://perleybrook.umfk.maine.edu/slides/fall2017/COS260/ 5/27/2018

Additional Course Documents Contract on Classroom Behavior UMFK Academic Integrity Policy UMFK Faculty Position on Academic Decorum UMS Student Conduct Code

Web Resources Java Website (Oracle) JGrasp Blackboard https://www.courses.maine.edu Textbook Web Site https://www.bluej.org/objects-first/index.html Java Website (Oracle) https://www.oracle.com/java/index.html https://www.java.com/en/ BlueJ https://www.bluej.org/ JGrasp http://www.jgrasp.org/ Other Useful Sites Http://www.javaworld.com

Bribe List (2017) 1947 HD FLH “knucklehead” 2014 Audi R8 (V10+) 1950 Buick RoadMaster 1955 Buick Special 1965 Shelby Cobra S/C 427 2014 M/B SLS AMG GT 2006 Dodge Viper SRT 2017 Corvette Grand Sport 2018 Harley Davidson Ultra Limited Low Current Collection

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. 6.0 © David J. Barnes and 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. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved. © David J. Barnes and Michael Kölling

Objects First with Java Buzzwords responsibility-driven design inheritance encapsulation iterators overriding coupling cohesion javadoc interface collection classes mutator methods polymorphic method calls © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved. © 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 © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Book David J. Barnes & Michael Kölling Objects First with Java A Practical Introduction using BlueJ 6th edition, Pearson Education, 2017 © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

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 © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Course overview (2) Inheritance Polymorphism Extendable, flexible class structures Building graphical user interfaces Handling errors Designing applications © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Advanced material There is advanced material on: Streams; Chap 5 Lambdas; Chap 5 2D arrays. Chap 7 This may be skipped on first reading … ... or read, according to preference! © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Classes and objects Fundamental to much of the early parts of this course. Class: category or type of ‘thing’. Like a template or blueprint. Object: belongs to a particular class and has individual characteristics. Explore through BlueJ … © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Demo of figures project Objects First with Java Demo of figures project 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. figures.zip © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved. © David J. Barnes and Michael Kölling

Objects First with Java Fundamental concepts It is vital to understand these concepts as soon as possible. object class method parameter data type © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved. © David J. Barnes and Michael Kölling

© 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Make this Image © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Classes and Objects A class (abstractions) Objects (concrete) represents all similar objects of a kind (example: “car”) Objects (concrete) represent ‘things’ from the real world, or from some problem domain; example: “that red car in the parking lot”. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

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. Parameters introduce variation into the effect of method calls. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Other observations Many distinct 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). © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

State © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Two circle objects © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Source code Each class has source code associated with it that defines its details (attributes and methods). The source code is written to obey the rules of a particular programming language. We will explore this in detail in the next chapter. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

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. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Review Classes model concepts. Source code realises those concepts. Source code defines: What objects can do (methods). What data they store (attributes). Objects come into existence with pre-defined attribute values. The methods determine what objects do with their data. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Review When a method is called an object: Alters its state, and/or Uses its data to decide what to do. Some methods take parameters that affect their actions. Methods without parameters typically use their state to decide what to do. Some methods return a value. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.

Review Most programs contain multiple classes. At runtime, objects interact with each other to realize the overall effect of the program. © 2017 Pearson Education, Inc. Hoboken, NJ. All rights reserved.