1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s...
-
Upload
britton-turner -
Category
Documents
-
view
215 -
download
0
Transcript of 1 COS 260 DAY 1 Tony Gauvin. 2 Agenda Class roll call Instructor Introduction Instructor’s...
1
COS 260 DAY 1
Tony Gauvin
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
3
Instructor
• Tony Gauvin– Associate Professor of E-Commerce– 218 Nadeau Hall– (207) 834-7519 or Extension 7519– [email protected]
– Quick Resume
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
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.
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
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
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
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
5.0
Objects First with JavaA Practical Introduction using
BlueJ
David J. BarnesMichael Kölling
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
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
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
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
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
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
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
18
Fundamental concepts
• object• class• method• parameter• data type
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
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
20 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
Class
Object
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
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
23
State
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
24
Two circle objects
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
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
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
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
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
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