1 CS1110. Lecture 2, 28 Jan 2010. Objects & classes PLive: Activities 3-3.1, 3-3.2, 3-3.4 (not 3-3.3), 3-4.1, 3-4.2. Summary of lectures: On course page,

Slides:



Advertisements
Similar presentations
Introduction to Programming using Matlab Session 2 P DuffourJan 2008.
Advertisements

1 For more info: CS Sep 2008 In 1968, the Defense Department hired Bolt Beranek and Newman (BBN) of Boston to.
The Web Warrior Guide to Web Design Technologies
1 CS100J. Lecture 2, 25 January 2007 Today’s topic: Objects and classes Reading for this lecture: Section 1.3. It’s most important that you study this.
CS100J Today’s topic: Objects and classes Reading for this lecture: Section 1.3 PLive: Activities 3-3.1, 3-3.2, (not 3-3.3), 3-4.1, Summary.
1 CS Sept. Customizing a class & testing Quiz 2 on Tuesday 15 Sept Purpose of a constructor (slide 5) Evaluating a new expression (slide 6) Fields;
Cox Personal Web Space (or AOL space) Free Storage for Image Galleries.
1 Review of classes and subclasses M fast through this material, since by now all have seen it in CS100 or the Java bootcamp First packages Then classes.
CS100J 11 September 2003 Course Management System for CS100J is now populated with students who were pre-registered. Look at course web page to see how.
1 What’s a class People are confused with nested classes and anonymous classes. Experiments in a recitation last week revealed that the problems were probably.
0 CS100J September 2007 CS100J: 12 weeks programming using Java, 2 using Matlab. David Gries. CS100M: 7 weeks of Matlab and 7 of Java. Daisy Fan. CS100H:
CS100J CS100M is in Kimball Bll. Course Management System for CS100J is now populated with students who were pre-registered. Look at course web page to.
1 CS150 Introduction to Computer Science 1 Professor: Chadd Williams
1 CS100J 30 January 2007 The class definition Course Management System (CMS) for CS100J is populated with students who were pre-registered. Look at course.
CSC 160 Computer Programming for Non-Majors Lecture #3a: Stepper, Words, Sentences Prof. Adam M. Wittenstein
1 CS100J 05 February 2005 Today’s topic: Customizing a class (continued) Quiz 1 is today Quiz 2 is next Tuesday Quote for the day: There is no reason anyone.
1 CS1130 Spring 2011: David Gries & Walker White Transition to Object-Oriented Programming Assumes programming knowledge in a language like Matlab, C,
1 CS1110 Fall 2011: David Gries & Steve Marschner CS1112: Matlab No prior programming experience One semester of calculus Math- & engineering- type problems.
Quote for the day: Computational thinking: a fundamental skill for everyone … [It] is … choosing an appropriate representation for a problem or modeling.
Object Oriented Software Development
1 CS1110 Fall 2010 Instructors: David Gries & Lillian Lee CS1112: Matlab No prior programming experience One semester of calculus Math- & engineering-
Data Objects (revisited) Recall that values are stored in data objects, and that each data object holds one value of a particular type. Data objects may.
Quote for the day: Computational thinking: a fundamental skill for everyone … [It] is … choosing an appropriate representation for a problem or modeling.
1 CS Sept 2010 Customizing a class Quote for the day: I have traveled the length and breadth of this country and talked with the best people, and.
CS100J 09 September 2003 Course Management System for CS100J is now populated with students who were pre-registered. Look at course web page to see how.
1 CS1110. Lecture 1, 31 Aug Types, expressions, variables, assignment statements Can’t install DrJava and running a Microsoft operating system? Contact.
CS100J Spring 2006 CS100J: 11 weeks of programming using Java and 2 weeks using Matlab. David Gries is teaching CS100J. Graeme Bailey is teaching a special.
0 Teaching Java —with OO first David Gries Computer Science Cornell University Ithaca, NY
Introduction to programming in the Java programming language.
CS/ENGRD 2110 SPRING 2012 Lecture 2: Objects and classes in Java 1.
1 CS1110. Lecture 1, 31 Aug Types, expressions, variables, assignment statements Summary of lectures : On course webpage, click on “Lecture summaries”.
1 CS1110 lecture 4 9 Sept. Customizing a class & testing Classes: fields; getter & setter methods. Secs (p. 45) & 3.1 (pp. 105–110 only) Constructors.
1 CS1100 Fall Instructor: David Gries CS100M: Matlab No prior programming experience One semester of calculus Math & engineering type problems CS100J:
What is Programming? Computer programming is about telling the computer what it is we want it to do We tell the computer what we want it to do by sending.
1 CS1110 Fall Instructors: David Gries & Lillian Lee CS1112: Matlab No prior programming experience One semester of calculus Math- & engineering-
CIS Intro to JAVA Lecture Notes Set July-05 GUI Programming – Home and reload buttons for the webbrowser, Applets.
Fall 2002CS 150: Intro. to Computing1 Streams and File I/O (That is, Input/Output) OR How you read data from files and write data to files.
A Short Course on How to Manage SLOs with TracDat.
Principled approach to teaching OO first David Gries Computer Science, Cornell 1.
1 CS100J 08 September 2005 Today’s topic: Customizing a class (continued) Quote for the day: There is no reason anyone would want a computer in their home.
1 CS September 2008 Discussion of Methods: Executing method calls.If-statements. The return statement in a function. Local variables. For this and.
CS/ENGRD 2110 SPRING 2016 Lecture 2: Objects and classes in Java 1.
1.1: Objects and Classes msklug.weebly.com. Agenda: Attendance Let’s get started What is Java? Work Time.
1 CS1110 Thursday, 10 Feb 2011 Discussion of Methods: Executing method calls. If-statements. The return statement in a function. Local variables. For this.
1 CS100J Spring Instructor: David Gries CS100M: Matlab No prior programming experience One semester of calculus Math & engineering type problems.
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
1 CS Sep 2011 Miscellaneous points about classes. More on stepwise refinement. Next: wrapper classes. Section 5.1 of class text Need Help? Make.
Quiz 3 Topics Functions – using and writing. Lists: –operators used with lists. –keywords used with lists. –BIF’s used with lists. –list methods. Loops.
1 CS Sept 2010 Customizing a class Quote for the day: I have traveled the length and breadth of this country and talked with the best people, and.
Introduction and Overview Winter 2013 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
IMAT1604 Visual Web Development. About me… Matthew Dean (Or Google mjdean dmu)
1 CS Sept Customizing a class & testing Quote for the day: There is no reason anyone would want a computer in their home. - -Ken Olson, founder.
CS/ENGRD 2110 Fall 2017 Lecture 2: Objects and classes in Java
CS Feb 2010 Customizing a class
CS1110 Spring Instructor: David Gries
CSC 221: Computer Programming I Fall 2005
CS1110 Classes, stepwise refinement 23 Sep 2009
CS100J. Lecture 2, 24 September Objects & classes
CS/ENGRD 2110 Spring 2018 Lecture 2: Objects and classes in Java
GUIS: Graphical User Interfaces
Introduction to Java part 2
CS 1110 Please do this now. Draw three variables on a piece of paper as shown to the right: b 4 c 7 d false Below is a “program” consisting of 3 assignment.
Sit next to someone. Today, we do some work in pairs.
CISC101 Reminders Assn 3 due tomorrow, 7pm.
CS100J 06 September 2005 The class definition
CS/ENGRD 2110 Fall 2018 Lecture 2: Objects and classes in Java
Sit next to someone. Today, we do some work in pairs.
CS/ENGRD 2110 Spring 2019 Lecture 2: Objects and classes in Java
CS/ENGRD 2110 Spring 2019 Lecture 2: Objects and classes in Java
CS Feb 2011 Customizing a class
Presentation transcript:

1 CS1110. Lecture 2, 28 Jan Objects & classes PLive: Activities 3-3.1, 3-3.2, (not 3-3.3), 3-4.1, Summary of lectures: On course page, click on “Lecture summaries”. Quote for the day: Computers in the future may weigh no more than 1.5 tons. --Popular Mechanics, forecasting the relentless march of science, 1949 Reading for this lecture: Section 1.3. It’s most important that you study this section over the weekend and practice what is taught using DrJava. Reading for Tuesday, 8 Sep. Sections 1.4, (p. 41); (p. 376).

2 CMS: Developed by the CS Department. Java based. If you have not been receiving s from us, sent out from the CMS, then either: 1. You are not registered in the CMS. Maria Witlox and ask her to register you. Needs your netid. 2. Your is bouncing. Your Cornell system is not set up correctly or the place to which you forward us is having trouble. Best thing to do: yourself, at see what happens, and fix AEWs Sign up for the 1-credit AEW sections for CS1110. Two hrs per week. Nothing else. Not remedial. Mon 7:30-9:25pm: 12 spots Fri 2:30-4:25: 2 spots

3 Two aspects of a programming language Organization – structure Procedural —commands to do something Example: Recipe book Organization: Several options; here is one: Appetizers list of recipes Beverages list of recipes Soups list of recipes … Procedural: Recipe: sequence of instructions to carry out structural objects classes methods inheritance procedural assignment, return, if-statement iteration (loops) recursion miscellaneous GUIs exception handling Testing/debugging Parts to this course

4 A class is a file-drawer. Contents: manila folders, each containing the same kind of information c1 Patient name L. Lee address New York owes $ manila folder: an object or instance of the class class name Name on tab (c1): anything you want, as long as it is unique name, address, owes: variables, called fields of the folder

5 A class is a file-drawer. Contents: manila folders, each containing the same kind of information c1 Patient name L. Lee address New York owes $ Instructions to be carried out by different people: change the name, get the name, bill the patient, receive money from patient, insert teeth xrays into the folder, …

6 A class is a file-drawer. Contents: manila folders, each containing the same kind of information c1 Patient name L. Lee address New York owes $ Instructions to be carried out by different people: methods. getName is a function; it returns a value. deposit is a procedure; it does some task, doesn’t return value getName() deposit(double d)

7 c1 Patient name L. Lee address New York owes $ getName() deposit(double d) pat c1 variable contains the name of the folder pat.getName() function call. Its value is “L. Lee” pat.deposit(250.0); procedure call. Subtract from field owes.

8 c1 Patient name L. Lee address New York owes $ getName() deposit(double d) pat c1 variable contains the name of the folder new Patient() An expression: create a new folder (put it in file-drawer Patient) and give as the value of the expression the name of the folder. pat= new Patient();A statement: evaluate newPatient() and store its value (the name of the new folder) in variable pat.

9 j a0 variable contains name of folder An object (manila folder) of class Javax.swing.JFrame is associated with a window on your computer monitor. It has (among others) these functions: getHeight() get Width() getX() getY() getTitle() isResizeable() and these procedures: show() hide() setTitle() setSize(int, int) setLocation(int, int) setResizable(boolean) In groups of 2, draw an object (manila folder) of this class, and put the name a0 on its tab. We will demo the use of most of these methods

Comments from last semester 10 I understand classes and objects fairly well, and I thought the file drawer/file folder analogy was very helpful. I think I'm definitely prepared for The folder/file drawer analogy was actually very helpful for a first-time Java programmer in understanding them. I did learn the concept before coming to this class, CS1110 is really what made me understand how objects and classes work. The folder was a great way to learn objects and classes. It simplified a very complex concept. Teaching methods were terrible. … boxes and folders made the subject more confusing than it should be. I'm still a bit dubious about the whole file folders and cabinets thing.

11 j a0 variable contains the name of the folder j= new javax.swing.JFrame(); j.show(); … Expression new JFrame() Create new folder and put in file drawer JFrame. Statement jf= new JFrame(); Create new folder, as above, and place its name in variable jf. Thereafter, use jf. method-name ( arguments, if any ) to call methods of folder (object) jf. Read section 1.3. Practice what we did in class in DrJava. Try the self- review exercises on page 40.

12 package: A collection of classes that are placed in the same directory on your hard drive. Think of it as a room that contains file cabinets with one drawer for each class. package java.io classes having to do with input/output package java.net classes having to do with the internet package java.awt classes having to do with making GUIs package javax.swing newer classes having to do with GUIs ============================================= To reference class JFrame in package javax.swing, use: javax.swing.JFrame Instead: import javax.swing.*; Then use simply JFrame