Quote for the day: Computational thinking: a fundamental skill for everyone … [It] is … choosing an appropriate representation for a problem or modeling.

Slides:



Advertisements
Similar presentations
1 For more info: CS Sep 2008 In 1968, the Defense Department hired Bolt Beranek and Newman (BBN) of Boston to.
Advertisements

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;
1 CS100J 1 February Customizing a class & testing Quote for the day: There is no reason anyone would want a computer in their home. - -Ken Olson,
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.
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 CS100J 30 January 2007 The class definition Course Management System (CMS) for CS100J is populated with students who were pre-registered. Look at course.
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.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
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.
Object Oriented Software Development
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
1 CS1110 Fall 2010 Instructors: David Gries & Lillian Lee CS1112: Matlab No prior programming experience One semester of calculus Math- & engineering-
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
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.
1 CS1110 Lecture Sept Developing (String-processing) programs; class Vector; wrapper classes Prelim: 7:30-9PM Thursday 7 October. Last name A-K:
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.
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
1 CS1110. Lecture 1, 31 Aug Types, expressions, variables, assignment statements Can’t install DrJava and running a Microsoft operating system? Contact.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
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.
By the end of this session you should be able to...
0 Teaching Java —with OO first David Gries Computer Science Cornell University Ithaca, NY
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:
1 CS1110 Fall Instructors: David Gries & Lillian Lee CS1112: Matlab No prior programming experience One semester of calculus Math- & engineering-
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.
1 Printing in Python Every program needs to do some output This is usually to the screen (shell window) Later we’ll see graphics windows and external files.
Principled approach to teaching OO first David Gries Computer Science, Cornell 1.
COSC 2007 Data Structures II Dr Dave Goforth FA 377 (705) x2316
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.
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,
CS/ENGRD 2110 SPRING 2016 Lecture 2: Objects and classes in Java 1.
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 For more info: CS February 2009 In 1968, the Defense Department hired Bolt Beranek and Newman (BBN) of Boston.
1 CS Sep 2011 Miscellaneous points about classes. More on stepwise refinement. Next: wrapper classes. Section 5.1 of class text Need Help? Make.
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.
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
CSC207 Fall 2016.
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 Programming I Jim Williams, PhD.
CS/ENGRD 2110 Spring 2018 Lecture 2: Objects and classes in Java
CS190/295 Programming in Python for Life Sciences: Lecture 1
GUIS: Graphical User Interfaces
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.
CS100J 06 September 2005 The class definition
Coding Concepts (Basics)
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
Data Structures & Algorithms
CS/ENGRD 2110 Spring 2019 Lecture 2: Objects and classes in Java
CS Feb 2011 Customizing a class
Presentation transcript:

Quote for the day: Computational thinking: a fundamental skill for everyone … [It] is … choosing an appropriate representation for a problem or modeling the relevant aspects of a problem to make it tractable. Jeannette Wing 1 CS1110. Lecture 2, 2 Sep Objects & classes PLive: Activities 3-3.1, 3-3.2, 3-3. (not 3-3.3), 3-4.1, Reading for this lecture: Sec Study this section, practice what is taught using DrJava over the weekend. Reading for Tuesday, 7 Sep. Sections 1.4, (p. 41); (p. 376).

2 Not receiving s from us from the CMS? 1. You are not registered in the CMS. Maria Witlox and ask her to register you. Needs your 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 Wed 7:30-9:25pm; Mon 2:30-4:25. Quiz on Tuesday. Everyone should get What is a type? 2. How do you execute (carry out, perform) the assignment statement? 3. Be able to execute an assignment statement. AEWs 1-credit AEW sections for CS1110. Two hrs per week. Not remedial. See course website for link.

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 (here, 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. Assume getName is a function: it returns a value. Assume deposit is a procedure; it does a 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 new Patient() 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

10 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.

11 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

Comments from last semester 12 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.