1 cos 260 day 1 tony gauvin. 2 agenda class roll call instructor introduction instructor’s...

29
1 COS 260 DAY 1 Tony Gauvin

Upload: britton-turner

Post on 16-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

1

COS 260 DAY 1

Tony Gauvin

Page 2: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

2

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

Page 3: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

3

Instructor

• Tony Gauvin– Associate Professor of E-Commerce– 218 Nadeau Hall– (207) 834-7519 or Extension 7519– [email protected]

– Quick Resume

Page 4: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

4

Fall Schedule

04/21/23

Tony Gauvin Fall 2015

  Monday Tuesday Wednesday Thursday Friday

8:00 AM    

8:30 AM

9:00 AM

9:30 AM        

10:00 AM Cos 260 Office Cos 260 Office

10:30 AM Intro to Hours Intro to Hours

11:00 AM Programming   Programming  

11:30 AM CYR 111 CYR 111

12:00 PM 9:30-11:50 AM 9:30-11:50 AM

12:30 PM

1:00 PM

1:30 PM    

2:00 PM ELC 200   ELC 200

2:30 PM Intro to eCommerce Office Intro to eCommerce

3:00 PM CYR 111 Hours CYR 111

3:30 PM 2:00-3:20 PM   2:00-3:20 PM

4:00 PM  

4:30 PM  

5:00 PM  5:30 PM  

6:00 PM

6:30 PM

7:00 PM

7:30 PM Office hours are listed

8:00 PM Also available by Appointment

8:30 PM 207 834 7519

9:00 PM [email protected]

9:30 PM

Page 5: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

5

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.

Page 6: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

6

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

04/21/23 6

Page 7: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

7

Class Documents

• Syllabus• Contract on Classroom behavio

r• Class Slides (whenever IT fixes

server) – http://

perleybrook.umfk.maine.edu/slides/fall2015/COS260/

04/21/23 7

Page 8: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

8

Web Resources

• Blackboard – https://www.courses.maine.edu

• Instructor’s Web Site– http://perleybrook.umfk.maine.edu

• Textbook Web Site – http://www.bluej.org/objects-first/

• Java Website (Oracle)– https://www.oracle.com/java/index.html– https://www.java.com/en/

• BlueJ– http://www.bluej.org/

• JGrasp – http://www.jgrasp.org/

• Other Useful Sites– Http://www.javaworld.com

Page 9: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

9

• 1947 HD FLH “knucklehead”• 2014 Audi R8 (V10+)• 1950 Buick RoadMaster • 1955 Buick Special • 1965 Shelby Cobra S/C 427 • 2013 M/B SLS AMG GT• 2006 Dodge Viper SRT • 2015 Harley CVO Limted• 2015 50th Ann. Mustang• Current Collection

Bribe List

(2015)

Ch 1 -9

Page 10: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

5.0

Objects First with JavaA Practical Introduction using

BlueJ

David J. BarnesMichael Kölling

Page 11: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

11

Take control of your own learning

• Lectures (boring!) • Exercises take home and in

class • Book• Web page• Discussion forums • Practice, practice, practice!• The only way to learn how to

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

Page 12: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

12

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

Page 13: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

13

Buzzwords

interface

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

javadoc

encapsulation

couplingcohesion

polymorphic method calls

inheritance

mutator methodscollection classes

overridingiterators

responsibility-driven design

Page 14: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

14

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

Page 15: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

15

Book

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

David J. Barnes & Michael Kölling

Objects First with JavaA Practical Introduction using BlueJ

5th edition, Pearson Education, 2012ISBN 0-13-249266-0978-0-13-249266-9

Page 16: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

16

Course overview (1)

1. Objects and classes2. Understanding class definitions3. Object interaction4. Grouping objects5. More sophisticated behavior - libraries6. Designing classes7. Well-behaved objects - testing,

maintaining, debugging

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

Page 17: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

17

Course overview (2)

8. Structure using Inheritance9. Polymorphism 10.Extendable, flexible class

structures11.Building graphical user interfaces12.Handling errors13.Designing applications

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

Page 18: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

18

Fundamental concepts

• object• class• method• parameter• data type

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

Page 19: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

19

Objects and classes

• objects– 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

Page 20: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

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

Class

Object

Page 21: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

21

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

Page 22: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

22

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

Page 23: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

23

State

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

Page 24: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

24

Two circle objects

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

Page 25: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

25

Java Data Types

• Integers int, byte, short and long

• Real numbers float and double• Logic boolean• Character char

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

Page 26: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

26

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

Page 27: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

27

Java Code

• Person person1 = new person();• person1.makevisible();• person1.moveright();• person1.moveHorizontal(50);

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

Page 28: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

28

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

Page 29: 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s Educational Philosophy Contract on Classroom Behavior Syllabus

29

Terms for Today

• Object• Class• Instance• Method• Signature• parameter

• Type• State• Source code • Return value• Compiler

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