Introduction to Java CS1316: Representing Structure and Behavior.

Slides:



Advertisements
Similar presentations
Messiaen Quartet for the end of time And another.
Advertisements

The Web Warrior Guide to Web Design Technologies
CS 330 Programming Languages 10 / 14 / 2008 Instructor: Michael Eckmann.
©Sara Duncan 1998 Instructions for the game... Click on the text box that says “your text here. Enter your text in the box. Add pizzazz by using graphics.
Alice Variables Pepper. Set to Java look Edit / preferences restart.
Lecture 2. Review To play with Turtle, we need to download and install followings: 1.JDK 6 2.Dr. Java 3.Sample program (e.g. BookClass)
Chapter 3 - Introduction to Java Applets Outline 3.1Introduction 3.2Thinking About Objects 3.4A Simple Java Applet: Drawing a String 3.5Two More Simple.
Introduction to a Programming Environment
Problem Solving with Data Structures using Java: A Multimedia Approach Chapter 1: Objects for Modeling a World.
Python. What is Python? A programming language we can use to communicate with the computer and solve problems We give the computer instructions that it.
Games and Simulations O-O Programming in Java The Walker School
Problem Solving with Data Structures using Java: A Multimedia Approach Chapter 2: Introduction to Java.
Introduction to Java Tonga Institute of Higher Education.
Introduction To Object-Oriented Programming. Object-Oriented Programming Class: Code that defines the behavior of a Java programming element called an.
Introduction to C++ - How C++ Evolved Most popular languages currently: COBOL, Fortran, C, C++, Java (script) C was developed in 1970s at AT&T (Richie)
Introduction to Programming Writing Java Beginning Java Programs.
11 A First Game Program Session Session Overview  Begin the creation of an arcade game  Learn software design techniques that apply to any form.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Object Oriented Programming … and other things you need to program in java.
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
How to Run a Java Program CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Computer Science II 810:062 Section 01. How is CS I different from CS II? When you teach Java there are a series of decisions that have to be made…
Computer Programming 2 Lab(1) I.Fatimah Alzahrani.
Copyright © 2002, Systems and Computer Engineering, Carleton University a-JavaReview.ppt * Object-Oriented Software Development Unit.
Copyright © Curt Hill Turtles The beginning of media computation.
Collecting Things Together - Lists 1. We’ve seen that Python can store things in memory and retrieve, using names. Sometime we want to store a bunch of.
1 CS161 Introduction to Computer Science Topic #13.
Lecture 8 February 29, Topics Questions about Exercise 4, due Thursday? Object Based Programming (Chapter 8) –Basic Principles –Methods –Fields.
Working With Objects Tonga Institute of Higher Education.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 6: Object-Oriented Programming.
Introduction to Digital Media. What is it? Digital media is what computers use to; Store, transmit, receive and manipulate data Raw data are numbers,
C++ Programming Basic Learning Prepared By The Smartpath Information systems
Introduction to Programming Writing Java Beginning Java Programs.
CS0007: Introduction to Computer Programming Classes: Documentation, Method Overloading, Scope, Packages, and “Finding the Classes”
Working With Objects Tonga Institute of Higher Education.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
C++ LANGUAGE TUTORIAL LESSON 1 –WRITING YOUR FIRST PROGRAM.
Program Organization Sequential Execution: One line done after the other Conditional Execution: If a test is true, one section is done, otherwise another.
Creating a GUI Class An example of class design using inheritance and interfaces.
Session 7 Introduction to Inheritance. Accumulator Example a simple calculator app classes needed: –AdderApp - contains main –AddingFrame - GUI –CloseableFrame.
SourceAnatomy1 Java Source Anatomy Barb Ericson Georgia Institute of Technology July 2008.
1.1: Objects and Classes msklug.weebly.com. Agenda: Attendance Let’s get started What is Java? Work Time.
M1G Introduction to Programming 2 2. Creating Classes: Game and Player.
Announcements Assignment 2 Out Today Quiz today - so I need to shut up at 4:25 1.
Georgia Institute of Technology More on Creating Classes Barb Ericson Georgia Institute of Technology June 2006.
Introduction to Programming (CS 201) Lecture 01 - Introduction.
Chapter 1 Object Orientation: Objects and Classes.
CSC 108H: Introduction to Computer Programming
CS1316: Representing Structure and Behavior
CS1316: Representing Structure and Behavior
Manipulating Pictures, Arrays, and Loops part 2
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Introduction to Programming (CS 201)
Java on the LEGO Mindstorms EV3
Manipulating Pictures, Arrays, and Loops part 3
Declaring Variables – Mod 4
CS1316: Representing Structure and Behavior
Creating and Modifying Text part 2
Lecturer: Mukhtar Mohamed Ali “Hakaale”
Manipulating Pictures, Arrays, and Loops part 2
Introduction to Java part 2
Declaring Variables – Mod 4
Teaching Java using Turtles part 3
Declaring Variables – Mod 4
Workshop for Programming And Systems Management Teachers
Manipulating Pictures, Arrays, and Loops
Manipulating Pictures, Arrays, and Loops
CS1316: Representing Structure and Behavior
Presentation transcript:

Introduction to Java CS1316: Representing Structure and Behavior

Story Getting started with Java Installing it Using DrJava Basics of Java It’s about objects and classes, modeling and simulation, what things know and what they can do. Examples from Pictures, Sounds, and music.

Things to do to get started Download and install JDK (Java Development Kit) Download and install DrJava Download JMusic Download the Java source files for class Then, tell Java where to find the JMusic and Java source files.

Telling DrJava where to find files

Parts of DrJava Text of your class file (.java) Where you interact with Java List of class files that you have open

Java is object-oriented 95% of everything in Java is an object. In object-oriented programming, you care about more than just specifying the process. You care about who (or what) does the process, And how the overall process emerges from the interaction of different objects.

Object-oriented programming is about modeling and simulation The whole idea of object-oriented programming is to create a model of the part of the world (real or imaginary). Creates constraints: The real world doesn’t have one set of rules/steps. ( You don’t write one big program. In the real world, no one knows everything, no one can do everything. Each object has it’s own things it knows and things it can do.

Variables in Java know their types Variables in Java know the kinds of things (values) they can hold. Objects in Java are organized into classes. A class specifies what all the objects of that class know and can do. All pictures can show themselves, even though each picture is different. Variables in Java are specific to particular classes. We declare a variable to only hold objects of particular classes.

Did you get an error? If you got an error as soon as you typed Picture p; there are several possibilities. All the Java files we provide you are in source form. You need to compile them to use them. Open Picture.java and click Compile All You might not have your Preferences set up correctly. If Java can’t find Picture, you can’t use it.

Explaining what’s going on > Picture p; > p = new Picture("D:/cs1316/ MediaSources/Swa n.jpg"); > p.show(); Every line ends with a semi-colon in Java. (DrJava doesn’t always require it.) Picture is the name of a class in Java. p is the variable that we’re declaring In Java programs, You can only use declared variables! And you can only declare them once!

Explaining what’s going on > Picture p; > p = new Picture("D:/cs1316/ MediaSources/Swa n.jpg"); > p.show(); new Picture() creates a new picture. The pathname provided as an argument tells it which picture. You can always use “/” and it’ll always work (on any platform) p now refers to the new object (instance of class Picture)

Explaining what’s going on > Picture p; > p = new Picture("D:/cs1316/ MediaSources/Swa n.jpg"); > p.show(); Instances of the class Picture (objects created from the class Picture) know how to show themselves. We access what the object knows and can do with the dot operator. p.show() says “Object that p refers to, would you please execute your show() method?”

Semicolons or not in DrJava Interactions Pane No semi-colon says “Evaluate this, and show me the result.” Semi-colon says “Treat this like a line of code, just as if it were in the Code Pane.” > p Picture, filename D:/cs1316/MediaSources/Swan.jpg height 360 width 480 > p; >

Summarizing the terms so-far Just about everything in Java is an object Objects know specific things and can do specific things Things they know are stored in variables (data) Things they can do are grouped into methods Think of methods as “functions known only to instances of that class.” Objects are instances of a given class in Java. All the instances know the same things and can do the same things. Variables are specific to a given class, and can only refer to objects of that type.

Let’s create a sound

Explaining what’s going on > Sound s = new Sound(FileChooser.pickAFile()); > s.play(); We can create an object as we declare the variable. FileChooser is an object that knows how to pickAFile() which puts up a file picker and returns a string. Instances of the class Sound know how to play, thus s.play()

What if we get it wrong?

An example with Music > import jm.util.*; > import jm.music.data.*; > Note n1; > n1 = new Note(60,0.5); > // Create an eighth note at C octave 4 JMusic pieces need to be imported first to use them.

An example with Music > import jm.util.*; > import jm.music.data.*; > Note n1; > n1 = new Note(60,0.5); > // Create an eighth note at C octave 4 Declare a Note variable.

An example with Music > import jm.util.*; > import jm.music.data.*; > Note n1; > n1 = new Note(60,0.5); > // Create an eighth note at C octave 4 Note instances have nothing to do with filenames. To create a note, you need to know which note, and a duration Starting a line with // creates a comment—ignored by Java

MIDI notes

Making more notes > Note n2=new Note(64,0.5); > View.notate(n1); Error: No 'notate' method in 'jm.util.View' with arguments: (jm.music.data.Note) > Phrase phr = new Phrase(); > phr.addNote(n1); > phr.addNote(n2); > View.notate(phr); -- Constructing MIDI file from'Untitled Score'... Playing with JavaSound... Completed MIDI playback

What’s going on here? > Note n2=new Note(64,0.5); > View.notate(n1); Error: No 'notate' method in 'jm.util.View' with arguments: (jm.music.data.Note) We’ll make another Note (at E4, another eighth note) There is an object named View that knows how to notate parts of music, but not an individual note.

What’s going on here? > Phrase phr = new Phrase(); > phr.addNote(n1); > phr.addNote(n2); > View.notate(phr); -- Constructing MIDI file from'Untitled Score'... Playing with JavaSound... Completed MIDI playback We’ll create a new Phrase instance and make a variable phr to refer to it. (phr has to be declared to be a Phrase.) Phrase instances know how to addNote notes to them. These are methods that take an argument—a Note instance. The View object does know how to notate an input Phrase instance. It generates this cool window where you see the notes and can play them (or save them as MIDI.)

Playing a different Phrase > import jm.JMC; > Phrase nuphr = new Phrase(0.0,JMC.FLUTE); > nuphr.addNote(n2); > nuphr.addNote(n1); > View.notate(nuphr); We can specify when a phrase starts and with what instrument. We can add notes (even the same notes!) in different orders

Modeling Music The JMusic package is really modeling music. Notes have tones and durations. Musical Phrases are collections of notes. We can play (and View) a musical phrase. A phrase doesn’t have to start when other phrases do, and a phrase can have its own instrument.

Objects know things and can do things What instances of this class know What instances of this class can do Note A musical note and a duration Phrase The notes in the phrase addNote(aNote)