Lab 3: Interfaces and Polymorphism

Size: px
Start display at page:

Download "Lab 3: Interfaces and Polymorphism"

Transcription

1 Lab 3: Interfaces and Polymorphism We've had four weeks of CS15 and by now, the buzzwords of Object-Oriented Programming (OOP) may be familiar to you. OOP is an extremely powerful and quickly growing modeling paradigm that makes programming large scale applications much easier than before. For the remainder of the course, a good understanding of OOP concepts will be integral to designing and implementing the assignments. This lab is about learning how to make your life as a programmer much easier by writing flexible and reusable code through interfaces and polymorphism. Goal: Learn how to implement polymorphism using interfaces. Life before Polymorphism Let's say you are running a little low on funds, and decided to earn some money and exercise your creative muscles at the same time by opening a car painting business! Since you are a very savvy programmer, you're going to write a program that will do the painting for you. You'll begin by finding cars that need to be painted. Because of the support code for this lab, it is very important to follow the directions in the stencil and in the checkpoints! Name methods exactly as asked and instantiate objects in the given order. Getting Started Run cs015_install lab3 to get the stencil for this lab. Open up the lab3 directory in Atom. You should see five stencil files: App.java, Car.java, Fish.java, Incredibles.java, and PaintShop.java. We'll concentrate on the Car.java file for now. The Car has the following components: roof, body, door, and hood Add a paint(...) method to the Car class. It should take in a javafx.scene.paint.col or as a parameter. It should not return anything. Inside this method you will want to set the color of the Car 's components listed above. Each component has a setcolor(...) method that takes a javafx.scene.paint.color as a parameter. Save the code you added to the Car class. Double-check that there are no errors.

2 Now that we have a car, let's figure out how to paint it! Painting Cars Add an instance variable to the PaintShop.java class to store the current color. Create an accessor method and mutator method for the current color instance variable. This should be very similar to what you did in LiteBrite. Recall that, by convention, accessors are named getvalue() (in this case, getcolor() ) and mutators are named setvalue(...) (in this case, setcolor(...) ) Add a paintcar(...) method to the PaintShop It should take in a Car as a parameter. It should not return anything. It should paint the Car based on the "current color". HINT: use the Car 's paint(...) method Remember to save! To test what you've done by, begin by instantiating a Car object in the managepaintshop method of App.java. In order for the the instance of PaintShop ( paintshop ) in the managepaintshop method s parameters to "know about" the Car (i.e. to set up an association with the Car ), use the PaintShop ' s add(...) method and pass it the Car you've just created. Question: where is this add(...) method defined? (Think inheritance). Save, compile and run the application. You can paint the Car different colors by selecting a color from the ColorPicker and then clicking on it. Your painting business became very successful and you want to expand your business to paint other things like: walls, roads, tables, chairs, beds, ceilings, squares, circles, and everything else in the world that can be painted. Yes, it seems ambitious, but with Java at your side anything is possible! Your new customers request that you paint some superheroes. Painting Incredibles Hint: This is very, very similar to what you did above. Write a paint(...) method in your Incredibles class ( Incredibles.java ) to color in its components. Save! Like the Car components, each of the Incredibles has a setcolor(...) method.

3 Write a paintincredibles(...) method in the PaintShop class ( PaintShop.java ). Save! Instantiate an instance of Incredibles in the managepaintshop method of App.java and add it to the paintshop (just like you did with the Car instance). Save! Run the application. You can control which item you are painting using the radio buttons at the bottom. This design so far has a serious problem. Your PaintShop class is very spiffy, and you want everyone to benefit from your hard work. The only problem is, every time someone wants to paint something new, you are going to have to add a new paintthing(...) method in the PaintShop class to paint the new item. If someone wanted to paint a door, you would need to add a paintdoor(...) method, if someone wanted to paint a house, you would need to add a painthouse(...) method and you get the idea. Wouldn't it be nice to just have one method to paint all paintable objects? The issue is that the PaintShop 's paintthing(...) method takes in a parameter: the object it is supposed to paint. For paintcar(...) it took in a Car, for paintincredibles(...), it took in an instance of the Incredibles. What type should it be for the generic version? Tricky, tricky, tricky... One way to do it would be to have classes inherit from a superclass PaintObject that can be painted. This way, we could write our paint method as paintthing(paintobject paintobject) and the method could accept any subclass of PaintObject as an argument. However, there are a few problems with this design. Firstly, since Java classes can only inherit from a maximum of one class, if a class is the subclass of PaintObject, then it cannot be the subclass of anything else. This is the exact situation we are in. The Car and Incredibles classes already extend from another class (see extends in the class definition!), so they can't be the subclass of anything else. Secondly, the relationship between the different subclasses is a weak one; the only thing they have in common is that they can be painted. Using inheritance here would be limiting and unnecessary. Making a Method Generic Welcome to Interfaces Interfaces are like blank classes with only abstract methods. In essence, an interface is like a "contract" for a class, specifying the methods that a class implementing it must have. However, while a class can only subclass a single normal class, it can implement any number of

4 interfaces. Any class that implements an interface must implement all the methods of that interface. Most of the time, Interfaces are named after the capabilities they enforce: amongst the many possibilities are Sizable, Movable, Cookable, and... Paintable. Back to our example, the PaintShop 's paintcar(...) method doesn't really care that it takes in a Car, it only cares that the Car has a paint(...) method. Likewise, the same applies for the paintincredibles(...) method. In fact, the only thing the paintsomething(...) method cares about is that the argument has a paint(...) method. Interfaces are designed to solve this exact problem by specifying the methods a class must have. Your First Interface Write a Paintable interface that has a paint(...) method that takes in a javafx.scene.paint.color as the parameter. Review the lecture slides on Interfaces to help you write your Paintable interface. Note: Interfaces only provide the method signatures. Like classes, they have to be saved as a separate java file (ex: Movable interface has to be saved as Movable.java ). Implement the Paintable interface in your Car and Incredibles classes. Since they both already define the paint(...) method, you don't need to write one. Checkpoint 1: Check your interface with a TA! Now that the Car and Incredibles are Paintable, let's make the appropriate changes inside the PaintShop Class. Painting Generically Comment out the paintcar(...) method and the paintincredibles(...) methods from the PaintShop class. Save! Write a generic paintobject(...) method in the PaintShop class that takes in one parameter. Consider: What should the parameter's type be? How would you write the body of the method? Save and run the app. It should behave the exact same way as last time. Now that we have all this set up, let's really put it to use and see why that entire interface work paid off...

5 Painting Nemo Edit the Fish.java file so that it implements the Paintable interface. Save and compile! Look at your error list. You should get an error that says the Fish class has not defined the paint(...) method. Right! If you implement an interface, you must define all of its methods. Write a paint(...) method in Fish.java. Call setcolor(...) on the Fish 's components. Save! Create an instance of Fish in the managepaintshop method of App.java. and tell the PaintShop about the Fish. Save and compile! Run the application to see the results of your hard work It works! No changes had to be made to the PaintShop ; you don't need a paintfish(...) method. Summary The purpose of this lab was to teach you how to implement polymorphism using interfaces. The idea behind polymorphism is that instances of objects can be different types at the same time. Originally, the parameter passed to the PaintShop 's paintcar(...) method was a Car. By adding the interface, the object was not only of type Car, but also of type Paintable, a much more generic type that can be common for a lot of objects, such as cars, superheros, and marine animals. The Paintable interface factors out painting commonality. This is a widely used design pattern to write more generic code, allowing the programmer to write one method instead of many. Some final remarks about interfaces: Interfaces can also extend from other interfaces. For example, if you had a Singable interface that required a sing() method, you could extend this interface to create a Musical interface. It could look as follows: public interface Musical extends Singable { public void act(); public void bedramatic(); }

6 Anything that implemented the Musical interface would have to define all the methods in Musical as well as all the methods in Singable. Don't forget, a class can implement multiple interfaces. The Car class you wrote could also implement a Transporter interface, as well as any other you deem necessary. You would separate each additional interface with a comma. The syntax to do that would be: public class Car extends cs015.labs.labinterpoly.car implements Paintable, Transporter { /* Code here. */ } Checkpoint 2: Check your PaintShop program with a TA! The Javadocs Javadocs is the documentation of the entire Java API (Application Programming Interface), a vast collection of built-in classes for programmers to use. You re probably familiar with a couple of these classes by now, such as String and javafx.scene.paint.color. Javadocs tell you which classes you can use and how you should use them, as well as providing brief descriptions of what all the methods in each class are and what they do. Javadocs also include information about the inheritance structure of classes and much, much more The Javadocs will be the most thorough resource you have for information about Java libraries. They can also be a little overwhelming because they contain so much information. In this lab you will learn how to look at the Javadocs to answer your questions. You can find a convenient link to them on the CS15 website (Documents» Java Documentation >> Javadocs ), or choose the first result when you Google Java 8 API.

7 A window that looks like this will open: There are three parts to the Javadocs: 1. Package List : Lists all the available packages (for example: java.lang ) that are a part of the API. 2. Class List : Lists all the classes contained within a particular package. For example, if you select java.lang from the package list, you would find the String class listed here among many others. 3. Class Details : When you click on a class from the class list it will display all information specific to that class. Hint: Clicking No Frames at the top will make the Package and Class list disappear. Click Frames to bring it back.

8 Class Detail will probably be the most useful part of the Javadocs. Here is a small overview of what you will find using the Color class, which you used in this lab. The header shows the inheritance hierarchy for a given class, as well as any implemented interfaces and known subclasses (if applicable). Constructor Summary describes the different options for a constructor which can be used when an instance of the class is instantiated. (Objects can have multiple constructors that take in different parameters). Method Summary describes all of the methods that the class has, as well as all of the methods that the class has inherited from superclasses.

9 Hint: If you Google a class that you need (for example, JavaFX Color), the relevant JavaFX document will be the first or second result. Learning about Javadocs Open up a blank text file in Atom (type atom & in a shell). Navigate to the Javadocs (you can find it from the CS15 Documents page). In your Atom document, answer the following questions: a. Name four subclasses of the javafx.scene.paint.paint class. (Javadocs for Paint here: ) b. List all the boolean return type methods of the class LinearGradient. c. What method would you call to invert a Color ( javafx.scene.paint.color )? d. What interfaces does String implement? Check Point 3: Grab a TA and get checked off. You are done with lab 3!

Reading and Understanding Java s API Documentation

Reading and Understanding Java s API Documentation Appendix Reading and Understanding Java s API Documentation Before Java was born, people judged programming languages solely by their structural features. Does an if statement do what you expect it to

More information

Java Interview Questions and Answers

Java Interview Questions and Answers 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java

More information

Computer Programming In QBasic

Computer Programming In QBasic Computer Programming In QBasic Name: Class ID. Computer# Introduction You've probably used computers to play games, and to write reports for school. It's a lot more fun to create your own games to play

More information

LAB4 Making Classes and Objects

LAB4 Making Classes and Objects LAB4 Making Classes and Objects Objective The main objective of this lab is class creation, how its constructer creation, object creation and instantiation of objects. We will use the definition pane to

More information

Part 1 Foundations of object orientation

Part 1 Foundations of object orientation OFWJ_C01.QXD 2/3/06 2:14 pm Page 1 Part 1 Foundations of object orientation OFWJ_C01.QXD 2/3/06 2:14 pm Page 2 1 OFWJ_C01.QXD 2/3/06 2:14 pm Page 3 CHAPTER 1 Objects and classes Main concepts discussed

More information

CMPT 183 Foundations of Computer Science I

CMPT 183 Foundations of Computer Science I Computer Science is no more about computers than astronomy is about telescopes. -Dijkstra CMPT 183 Foundations of Computer Science I Angel Gutierrez Fall 2013 A few questions Who has used a computer today?

More information

The first program: Little Crab

The first program: Little Crab CHAPTER 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,

More information

Computing Concepts with Java Essentials

Computing Concepts with Java Essentials 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann

More information

2 The first program: Little Crab

2 The first program: Little Crab 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if statement In the previous chapter, we

More information

So, why should you have a website for your church? Isn't it just another thing to add to the to-do list? Or will it really be useful?

So, why should you have a website for your church? Isn't it just another thing to add to the to-do list? Or will it really be useful? Why Have A Website? So, why should you have a website for your church? Isn't it just another thing to add to the to-do list? Or will it really be useful? Obviously, 'everyone else does' it not a good enough

More information

This assignment explores the following topics related to GUI input:

This assignment explores the following topics related to GUI input: 6.831 User Interface Design & Implementation Fall 2004 PS3: Input Models This assignment explores the following topics related to GUI input: event handling; hit detection; dragging; feedback. In this problem

More information

Android Programming Family Fun Day using AppInventor

Android Programming Family Fun Day using AppInventor Android Programming Family Fun Day using AppInventor Table of Contents A step-by-step guide to making a simple app...2 Getting your app running on the emulator...9 Getting your app onto your phone or tablet...10

More information

Contents. 1 Introduction. CS 15 Collaboration Policy Fall 2015. 1 Introduction 1 1.1 Motivation... 2 1.2 Enforcement... 2

Contents. 1 Introduction. CS 15 Collaboration Policy Fall 2015. 1 Introduction 1 1.1 Motivation... 2 1.2 Enforcement... 2 Contents 1 Introduction 1 1.1 Motivation.................................... 2 1.2 Enforcement................................... 2 2 Discussion of Course Material 2 3 Implementation and Debugging 3 4

More information

Getting Started with WebSite Tonight

Getting Started with WebSite Tonight Getting Started with WebSite Tonight WebSite Tonight Getting Started Guide Version 3.0 (12.2010) Copyright 2010. All rights reserved. Distribution of this work or derivative of this work is prohibited

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Principles of Modeling: Real World - Model World

Principles of Modeling: Real World - Model World MODELING BASICS Principles of Modeling: Real World - Model World Tony Starfield recorded: 2005 Welcome Welcome to Principles of Modeling We all build models on a daily basis. Sometimes we build them deliberately,

More information

Action Steps for Setting Up a Successful Home Web Design Business

Action Steps for Setting Up a Successful Home Web Design Business Action Steps for Setting Up a Successful Home Web Design Business In this document you'll find all of the action steps included in this course. As you are completing these action steps, please do not hesitate

More information

CS193j, Stanford Handout #10 OOP 3

CS193j, Stanford Handout #10 OOP 3 CS193j, Stanford Handout #10 Summer, 2003 Manu Kumar OOP 3 Abstract Superclass Factor Common Code Up Several related classes with overlapping code Factor common code up into a common superclass Examples

More information

A Comparison of Programming Languages for Graphical User Interface Programming

A Comparison of Programming Languages for Graphical User Interface Programming University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming

More information

CS 111 Classes I 1. Software Organization View to this point:

CS 111 Classes I 1. Software Organization View to this point: CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects

More information

Earn Money Sharing YouTube Videos

Earn Money Sharing YouTube Videos Earn Money Sharing YouTube Videos Get Started FREE! Make money every time you share a video, also make money every time the videos you have shared get watched! Unleash The Viral Power of Social Media To

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance

Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance Introduction to C++ January 19, 2011 Massachusetts Institute of Technology 6.096 Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance We ve already seen how to define composite datatypes

More information

Getting the most from Contracts Finder

Getting the most from Contracts Finder Getting the most from Contracts Finder A guide for businesses and the public May 2012 What s in this guide What s this guide for?...2 What s on Contracts Finder...2 Searching for notices the basics...2

More information

Everyone cringes at the words "Music Theory", but this is mainly banjo related and very important to learning how to play.

Everyone cringes at the words Music Theory, but this is mainly banjo related and very important to learning how to play. BLUEGRASS MUSIC THEORY 101 By Sherry Chapman Texasbanjo The Banjo Hangout Introduction Everyone cringes at the words "Music Theory", but this is mainly banjo related and very important to learning how

More information

Look in the top right of the screen and located the "Create an Account" button.

Look in the top right of the screen and located the Create an Account button. Create an Account Creating a Google Analytics account is a simple but important step in the process of creating your stores. To start the process visit the Google Analytics homepage: http://www.google.com/analytics/

More information

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt core. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Volume I - Fundamentals Seventh Edition CAY S. HORSTMANN GARY

More information

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating

More information

Computer Programming C++ Classes and Objects 15 th Lecture

Computer Programming C++ Classes and Objects 15 th Lecture Computer Programming C++ Classes and Objects 15 th Lecture 엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University Copyrights 2013 Eom, Hyeonsang All Rights Reserved Outline

More information

Visual Basic 6 Error Handling

Visual Basic 6 Error Handling Visual Basic 6 Error Handling Try as hard as you might, it's virtually impossible to make the programs you write foolproof. Sad to say, programs bomb, that is ungracefully come to a grinding halt---and

More information

Quick Tricks for Multiplication

Quick Tricks for Multiplication Quick Tricks for Multiplication Why multiply? A computer can multiply thousands of numbers in less than a second. A human is lucky to multiply two numbers in less than a minute. So we tend to have computers

More information

Previously, you learned the names of the parts of a multiplication problem. 1. a. 6 2 = 12 6 and 2 are the. b. 12 is the

Previously, you learned the names of the parts of a multiplication problem. 1. a. 6 2 = 12 6 and 2 are the. b. 12 is the Tallahassee Community College 13 PRIME NUMBERS AND FACTORING (Use your math book with this lab) I. Divisors and Factors of a Number Previously, you learned the names of the parts of a multiplication problem.

More information

Java Application Developer Certificate Program Competencies

Java Application Developer Certificate Program Competencies Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle

More information

Google SketchUp Design Exercise 3

Google SketchUp Design Exercise 3 Google SketchUp Design Exercise 3 This advanced design project uses many of SketchUp s drawing tools, and involves paying some attention to the exact sizes of what you re drawing. You ll also make good

More information

UOFL SHAREPOINT ADMINISTRATORS GUIDE

UOFL SHAREPOINT ADMINISTRATORS GUIDE UOFL SHAREPOINT ADMINISTRATORS GUIDE WOW What Power! Learn how to administer a SharePoint site. [Type text] SharePoint Administrator Training Table of Contents Basics... 3 Definitions... 3 The Ribbon...

More information

Software Documentation Guidelines

Software Documentation Guidelines Software Documentation Guidelines In addition to a working program and its source code, you must also author the documents discussed below to gain full credit for the programming project. The fundamental

More information

IOIO for Android Beginners Guide Introduction

IOIO for Android Beginners Guide Introduction IOIO for Android Beginners Guide Introduction This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to

More information

Google Groups: What is Google Groups? About Google Groups and Google Contacts. Using, joining, creating, and sharing content with groups

Google Groups: What is Google Groups? About Google Groups and Google Contacts. Using, joining, creating, and sharing content with groups DN:GA-GG_101.01 Google Groups: Using, joining, creating, and sharing content with groups What is Google Groups? Google Groups is a feature of Google Apps that makes it easy to communicate and collaborate

More information

MEAP Edition Manning Early Access Program Hello! ios Development version 14

MEAP Edition Manning Early Access Program Hello! ios Development version 14 MEAP Edition Manning Early Access Program Hello! ios Development version 14 Copyright 2013 Manning Publications For more information on this and other Manning titles go to www.manning.com brief contents

More information

ios App Development for Everyone

ios App Development for Everyone ios App Development for Everyone Kevin McNeish Table of Contents Chapter 2 Objective C (Part 6) Referencing Classes Now you re ready to use the Calculator class in the App. Up to this point, each time

More information

Using Karel with Eclipse

Using Karel with Eclipse Mehran Sahami Handout #6 CS 106A September 23, 2015 Using Karel with Eclipse Based on a handout by Eric Roberts Once you have downloaded a copy of Eclipse as described in Handout #5, your next task is

More information

Building Dynamic Websites With the MVC Pattern. ACM Webmonkeys @ UIUC, 2010

Building Dynamic Websites With the MVC Pattern. ACM Webmonkeys @ UIUC, 2010 Building Dynamic Websites With the MVC Pattern ACM Webmonkeys @ UIUC, 2010 Recap A dynamic website is a website which uses some serverside language to generate HTML pages PHP is a common and ubiquitous

More information

How To Insert Hyperlinks In Powerpoint Powerpoint

How To Insert Hyperlinks In Powerpoint Powerpoint Lesson 5 Inserting Hyperlinks & Action Buttons Introduction A hyperlink is a graphic or piece of text that links to another web page, document, or slide. By clicking on the hyperlink will activate it and

More information

Create a New List. Table of Contents

Create a New List. Table of Contents Table of Contents Create a New List...1 Required Fields...1 List Name...1 List short name...1 Password...2 One note about some of the peculiarities of Dada Mail:...2 List Owner...2 Description...3 Privacy

More information

10 Java API, Exceptions, and Collections

10 Java API, Exceptions, and Collections 10 Java API, Exceptions, and Collections Activities 1. Familiarize yourself with the Java Application Programmers Interface (API) documentation. 2. Learn the basics of writing comments in Javadoc style.

More information

Chapter 13 - Inheritance

Chapter 13 - Inheritance Goals Chapter 13 - Inheritance To learn about inheritance To understand how to inherit and override superclass methods To be able to invoke superclass constructors To learn about protected and package

More information

Chapter 28: Expanding Web Studio

Chapter 28: Expanding Web Studio CHAPTER 25 - SAVING WEB SITES TO THE INTERNET Having successfully completed your Web site you are now ready to save (or post, or upload, or ftp) your Web site to the Internet. Web Studio has three ways

More information

2. Setting Up The Charts

2. Setting Up The Charts Just take your time if you find this all a little overwhelming - you ll get used to it as long as you don t rush or feel threatened. Since the UK became members of the European Union, we stopped shooting

More information

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship.

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship. CSCI 253 Object Oriented Design: Java Review OOP George Blankenship George Blankenship 1 Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation Abstract Data Type (ADT) Implementation

More information

CREATING YOUR OWN PROFESSIONAL WEBSITE

CREATING YOUR OWN PROFESSIONAL WEBSITE First go to Google s main page (www.google.com). If you don t already have a Gmail account you will need one to continue. Click on the Gmail link and continue. 1 Go ahead and sign in if you already have

More information

Budget Main Window (Single Bank Account) Budget Main Window (Multiple Bank Accounts)

Budget Main Window (Single Bank Account) Budget Main Window (Multiple Bank Accounts) Budget Main Window (Single Bank Account) Budget Main Window (Multiple Bank Accounts) Page 1 of 136 Using Budget Help Budget has extensive help features. To get help use Budget's Help > Budget Help menu

More information

>> My name is Danielle Anguiano and I am a tutor of the Writing Center which is just outside these doors within the Student Learning Center.

>> My name is Danielle Anguiano and I am a tutor of the Writing Center which is just outside these doors within the Student Learning Center. >> My name is Danielle Anguiano and I am a tutor of the Writing Center which is just outside these doors within the Student Learning Center. Have any of you been to the Writing Center before? A couple

More information

Create a free CRM with Google Apps

Create a free CRM with Google Apps Create a free CRM with Google Apps By Richard Ribuffo Contents Introduction, pg. 2 Part One: Getting Started, pg. 3 Creating Folders, pg. 3 Clients, pg. 4 Part Two: Google Forms, pg. 6 Creating The Form,

More information

Introduction. Inserting Hyperlinks. PowerPoint 2010 Hyperlinks and Action Buttons. About Hyperlinks. Page 1

Introduction. Inserting Hyperlinks. PowerPoint 2010 Hyperlinks and Action Buttons. About Hyperlinks. Page 1 PowerPoint 2010 Hyperlinks and Action Buttons Introduction Page 1 Whenever you use the Web, you are using hyperlinks to navigate from one web page to another. If you want to include a web address or email

More information

Outlook 2007 Delegate Access

Outlook 2007 Delegate Access Outlook 2007 Delegate Access Just as an assistant can help you manage your paper mail, your assistant can use Outlook to act on your behalf: receiving and responding to e-mail, meeting requests, and meeting

More information

Goal: Practice writing pseudocode and understand how pseudocode translates to real code.

Goal: Practice writing pseudocode and understand how pseudocode translates to real code. Lab 7: Pseudocode Pseudocode is code written for human understanding not a compiler. You can think of pseudocode as English code that can be understood by anyone (not just a computer scientist). Pseudocode

More information

Chapter 2. Making Shapes

Chapter 2. Making Shapes Chapter 2. Making Shapes Let's play turtle! You can use your Pencil Turtle, you can use yourself, or you can use some of your friends. In fact, why not try all three? Rabbit Trail 4. Body Geometry Can

More information

3 Improving the Crab more sophisticated programming

3 Improving the Crab more sophisticated programming 3 Improving the Crab more sophisticated programming topics: concepts: random behavior, keyboard control, sound dot notation, random numbers, defining methods, comments In the previous chapter, we looked

More information

Writing Thesis Defense Papers

Writing Thesis Defense Papers Writing Thesis Defense Papers The point of these papers is for you to explain and defend a thesis of your own critically analyzing the reasoning offered in support of a claim made by one of the philosophers

More information

Syllabus for CS 134 Java Programming

Syllabus for CS 134 Java Programming - Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.

More information

Article Sep 2003. 7 Essential Online Tools for Non-Webmasters by Jinger Jarrett Copyright 2003

Article Sep 2003. 7 Essential Online Tools for Non-Webmasters by Jinger Jarrett Copyright 2003 Article Sep 2003 7 Essential Online Tools for Non-Webmasters by Jinger Jarrett Copyright 2003 I've built and edited all of the web sites I use to run my business. I wish I could take credit for the look,

More information

A Step By Step Guide On How To Attract Your Dream Life Now

A Step By Step Guide On How To Attract Your Dream Life Now A Step By Step Guide On How To Attract Your Dream Life Now This guide is about doing things in a step by step fashion every day to get the results you truly desire. There are some techniques and methods

More information

With a single download, the ADT Bundle includes everything you need to begin developing apps:

With a single download, the ADT Bundle includes everything you need to begin developing apps: Get the Android SDK The Android SDK provides you the API libraries and developer tools necessary to build, test, and debug apps for Android. The ADT bundle includes the essential Android SDK components

More information

Java Interfaces. Recall: A List Interface. Another Java Interface Example. Interface Notes. Why an interface construct? Interfaces & Java Types

Java Interfaces. Recall: A List Interface. Another Java Interface Example. Interface Notes. Why an interface construct? Interfaces & Java Types Interfaces & Java Types Lecture 10 CS211 Fall 2005 Java Interfaces So far, we have mostly talked about interfaces informally, in the English sense of the word An interface describes how a client interacts

More information

ADT Implementation in Java

ADT Implementation in Java Object-Oriented Design Lecture 3 CS 3500 Fall 2009 (Pucella) Friday, Sep 18, 2009 ADT Implementation in Java As I said in my introductory lecture, we will be programming in Java in this course. In part,

More information

Objective C and iphone App

Objective C and iphone App Objective C and iphone App 6 Months Course Description: Understanding the Objective-C programming language is critical to becoming a successful iphone developer. This class is designed to teach you a solid

More information

GYM PLANNER. User Guide. Copyright Powerzone. All Rights Reserved. Software & User Guide produced by Sharp Horizon. www.sharphorizon.com.

GYM PLANNER. User Guide. Copyright Powerzone. All Rights Reserved. Software & User Guide produced by Sharp Horizon. www.sharphorizon.com. GYM PLANNER User Guide Copyright Powerzone. All Rights Reserved. Software & User Guide produced by Sharp Horizon. www.sharphorizon.com. Installing the Software The Powerzone gym Planner is a piece of software

More information

Personal Financial Manager (PFM) FAQ s

Personal Financial Manager (PFM) FAQ s and Present Personal Financial Manager (PFM) FAQ s Watch a Money Desktop Video at http://www.youtube.com/watch?v=dya5o_6ag7c Q: What is PFM? A: Enhanced Online Banking. PFM is an easy way to track spending,

More information

How To Proofread

How To Proofread GRADE 8 English Language Arts Proofreading: Lesson 6 Read aloud to the students the material that is printed in boldface type inside the boxes. Information in regular type inside the boxes and all information

More information

Email Basics. For more information on the Library and programs, visit www.bcpls.org BCPLS 08/10/2010 PEMA

Email Basics. For more information on the Library and programs, visit www.bcpls.org BCPLS 08/10/2010 PEMA Email Basics Email, short for Electronic Mail, consists of messages which are sent and received using the Internet. There are many different email services available that allow you to create an email account

More information

a. Inheritance b. Abstraction 1. Explain the following OOPS concepts with an example

a. Inheritance b. Abstraction 1. Explain the following OOPS concepts with an example 1. Explain the following OOPS concepts with an example a. Inheritance It is the ability to create new classes that contain all the methods and properties of a parent class and additional methods and properties.

More information

To add a data form to excel - you need to have the insert form table active - to make it active and add it to excel do the following:

To add a data form to excel - you need to have the insert form table active - to make it active and add it to excel do the following: Excel Forms A data form provides a convenient way to enter or display one complete row of information in a range or table without scrolling horizontally. You may find that using a data form can make data

More information

Next Generation Tech-Talk. Cloud Based Business Collaboration with Cisco Spark

Next Generation Tech-Talk. Cloud Based Business Collaboration with Cisco Spark Next Generation Tech-Talk Cloud Based Business Collaboration with Cisco Spark 2 [music] 00:06 Phil Calzadilla: Hello, hello! Welcome. This is Phil Calzadilla founder and CEO of NextNet Partners, and I'd

More information

How to move email to your new @students.ecu.edu account with MAC Mail

How to move email to your new @students.ecu.edu account with MAC Mail How to move email to your new @students.ecu.edu account with MAC Mail 1. Open Mail, and then do one of the following: If you've never set up any e mail accounts using Mail, the Welcome to Mail page appears.

More information

Agenda. What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism

Agenda. What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism Polymorphism 1 Agenda What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism 2 What is & Why Polymorphism? 3 What is Polymorphism? Generally, polymorphism refers

More information

Book of over 45 Spells and magic spells that actually work, include love spells, health spells, wealth spells and learning spells and spells for life

Book of over 45 Spells and magic spells that actually work, include love spells, health spells, wealth spells and learning spells and spells for life Book of over 45 Spells and magic spells that actually work, include love spells, health spells, wealth spells and learning spells and spells for life Stop Chasing Happiness, Make it Find You! Here's how

More information

Problem 1. CS 61b Summer 2005 Homework #2 Due July 5th at the beginning of class

Problem 1. CS 61b Summer 2005 Homework #2 Due July 5th at the beginning of class CS 61b Summer 2005 Homework #2 Due July 5th at the beginning of class This homework is to be done individually. You may, of course, ask your fellow classmates for help if you have trouble editing files,

More information

Hello Purr. What You ll Learn

Hello Purr. What You ll Learn Chapter 1 Hello Purr This chapter gets you started building apps. It presents the key elements of App Inventor the Component Designer and the Blocks Editor and leads you through the basic steps of creating

More information

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk History OOP languages Intro 1 Year Language reported dates vary for some languages... design Vs delievered 1957 Fortran High level programming language 1958 Lisp 1959 Cobol 1960 Algol Structured Programming

More information

The $200 A Day Cash Machine System

The $200 A Day Cash Machine System The $200 A Day Cash Machine System Make Big Profits Selling This Opportunity From Home! This is a free ebook from Frank Jones. You should not have paid for it. COPYRIGHT Frank Jones. All Rights Reserved:

More information

Inheritance, overloading and overriding

Inheritance, overloading and overriding Inheritance, overloading and overriding Recall with inheritance the behavior and data associated with the child classes are always an extension of the behavior and data associated with the parent class

More information

The Interface Concept

The Interface Concept Multiple inheritance Interfaces Four often used Java interfaces Iterator Cloneable Serializable Comparable The Interface Concept OOP: The Interface Concept 1 Multiple Inheritance, Example Person name()

More information

CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions

CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly

More information

EASILY WRITE A CREATIVE PROFILE - QUICK ACTION WORKSHEET

EASILY WRITE A CREATIVE PROFILE - QUICK ACTION WORKSHEET EASILY WRITE A CREATIVE PROFILE - QUICK ACTION WORKSHEET This is where you'll create your profile. Time to get creative. This exercise may seem silly at first but it's extremely powerful. Answer the questions

More information

Android Application Development: Hands- On. Dr. Jogesh K. Muppala muppala@cse.ust.hk

Android Application Development: Hands- On. Dr. Jogesh K. Muppala muppala@cse.ust.hk Android Application Development: Hands- On Dr. Jogesh K. Muppala muppala@cse.ust.hk Wi-Fi Access Wi-Fi Access Account Name: aadc201312 2 The Android Wave! 3 Hello, Android! Configure the Android SDK SDK

More information

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program Free Java textbook available online "Thinking in Java" by Bruce Eckel, 4th edition, 2006, ISBN 0131872486, Pearson Education Introduction to the Java programming language CS 4354 Summer II 2015 The third

More information

Google Apps Migration

Google Apps Migration Academic Technology Services Google Apps Migration Getting Started 1 Table of Contents How to Use This Guide... 4 How to Get Help... 4 Login to Google Apps:... 5 Import Data from Microsoft Outlook:...

More information

Section 1: Ribbon Customization

Section 1: Ribbon Customization WHAT S NEW, COMMON FEATURES IN OFFICE 2010 2 Contents Section 1: Ribbon Customization... 4 Customizable Ribbon... 4 Section 2: File is back... 5 Info Tab... 5 Recent Documents Tab... 7 New Documents Tab...

More information

Visual Basic Programming. An Introduction

Visual Basic Programming. An Introduction Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides

More information

GUITAR THEORY REVOLUTION. Part 1: How To Learn All The Notes On The Guitar Fretboard

GUITAR THEORY REVOLUTION. Part 1: How To Learn All The Notes On The Guitar Fretboard GUITAR THEORY REVOLUTION Part 1: How To Learn All The Notes On The Guitar Fretboard Contents Introduction Lesson 1: Numbering The Guitar Strings Lesson 2: The Notes Lesson 3: The Universal Pattern For

More information

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program Free Java textbook available online "Thinking in Java" by Bruce Eckel, 4th edition, 2006, ISBN 0131872486, Pearson Education Introduction to the Java programming language CS 4354 Summer II 2014 Jill Seaman

More information

Single Property Website Quickstart Guide

Single Property Website Quickstart Guide Single Property Website Quickstart Guide Win More Listings. Attract More Buyers. Sell More Homes. TABLE OF CONTENTS Getting Started... 3 First Time Registration...3 Existing Account...6 Administration

More information

MICROSOFT POWERPOINT STEP BY STEP GUIDE

MICROSOFT POWERPOINT STEP BY STEP GUIDE IGCSE ICT SECTION 16 PRESENTATION AUTHORING MICROSOFT POWERPOINT STEP BY STEP GUIDE Mark Nicholls ICT Lounge Page 1 Contents Importing text to create slides Page 4 Manually creating slides.. Page 5 Removing

More information

Java Programming Language

Java Programming Language Lecture 1 Part II Java Programming Language Additional Features and Constructs Topics in Quantitative Finance: Numerical Solutions of Partial Differential Equations Instructor: Iraj Kani Subclasses and

More information

Understanding class definitions

Understanding class definitions OFWJ_C02.QXD 2/3/06 2:28 pm Page 17 CHAPTER 2 Understanding class definitions Main concepts discussed in this chapter: fields methods (accessor, mutator) constructors assignment and conditional statement

More information

GOD S BIG STORY Week 1: Creation God Saw That It Was Good 1. LEADER PREPARATION

GOD S BIG STORY Week 1: Creation God Saw That It Was Good 1. LEADER PREPARATION This includes: 1. Leader Preparation 2. Lesson Guide GOD S BIG STORY Week 1: Creation God Saw That It Was Good 1. LEADER PREPARATION LESSON OVERVIEW Exploring the first two chapters of Genesis provides

More information

Online Meeting Instructions for Join.me

Online Meeting Instructions for Join.me Online Meeting Instructions for Join.me JOINING A MEETING 2 IS THERE A WAY TO JOIN WITHOUT USING THE WEBSITE? 2 CHATTING WITH OTHER PARTICIPANTS 3 HOW DO I CHAT WITH ONE PERSON AT A TIME? 3 CAN I CHANGE

More information

Creating and Managing Shared Folders

Creating and Managing Shared Folders Creating and Managing Shared Folders Microsoft threw all sorts of new services, features, and functions into Windows 2000 Server, but at the heart of it all was still the requirement to be a good file

More information

FOREIGN MATTER MANAGEMENT 36 QUESTION ASSESSMENT

FOREIGN MATTER MANAGEMENT 36 QUESTION ASSESSMENT Name: Employee I.D. or Personal I.D. Number: Company Name: Department: Head of Department: I understand that this 36 question test proves that I know what I am doing and therefore gives me no reason whatsoever

More information