Instructor Notes for 2 Days Java For Testers Training

Size: px
Start display at page:

Download "Instructor Notes for 2 Days Java For Testers Training"

Transcription

1 Contents Instructor Notes for 2 Days Java For Testers Training 1 Rough Timings Day Rough Timings Day Expanded Timings Demo - Create ageallowsservice Method Demo: Create a concatenated reporting String Demo - using replaceall to create our own Demo Create Constructor Rough Timings Day (Demo) For Each and Storing Customers (Demo) Create a PasswordValidator Questions - PasswordValidator good? DEMO - Randomly Create a Customer name Instructor Notes for 2 Days Java For Testers Training Wannaflex : Days start at 09:00 and finish at 16:00 with 1 hour for optional coding and exercise practice Acrobat Full Screen - cmd+l Mac Zoom - alt+cmd++ alt+cmd+- IntelliJ full screen - ctrl+cmd+f Check: webpage updated downloaded exercises downloaded answers downloaded Java Libraries source 1

2 Rough Timings Day 1 09:00 Logistics, Introduction - up to 15 short example test 09:15 Demo of creating some code and 15 classes this is what JavaClasses with JUnit 09:30 Double Check Installation mins (inc ex) 09:50 Basics - to Example Test 15 mins 10:05 ExampleTest Exercises 15 mins 10:20 Basics - to end of this section 15 mins including the fixbrokencode exercise 10:35 Class and Object Basics 20 mins 10:55 break 15 mins 11:10 Objects, Methods, Fields, 15 mins (end demo) Properties 11:25 Objects, Methods, Fields, 15 mins Properties - Exercise 11:40 Primitive Types 30 mins (inc 5+15 ex) 12:10 Conditions If Else 45 mins ( inc 15 mins talk/demo ( ex)) This section has 2 exercise sections Create the ageallowsservice method exercise (10 mins) Continue with Exercises at end (20 mins) 12:30 lunch - interrupts above 1 hour 13:30 Finish Conditions If Else 20 mins 13:50 Strings 1 hour Strings: 10 first exercise 5 rewrite getreport exercise 15 create own template exercise 14:50 Break 15 2

3 15:05 Exceptions Talky Bits 15 15:20 Exceptions exercises 20 15:40 Constructors Chat 15 15:55 Constructors Exercises 30 16:25 Exercises & Case Studies till end Rough Timings Day 2 09:00 Collections 50 mins (20 chat, 30 exercises) 09:50 Junit before after 15 mins chat, 15 minutes exercises 10:20 For Loop + Character 20 mins for chat demo, 30 mins exercise 10:40 break 15 mins 10:55 exercises for for loop 30 mins 11:25 Java Libraries Examples 1 hour 12:25 Lunch 1 hour 13:30 Arrays & Random 15 min demo & 30 mins exercise 14:15 Automation & Abstraction layers 1 hour 15:15 break 15 mins 15:30 My first project 15 mins 15:45 Exercises & Case Studies till end 3

4 Expanded Timings 09:00 Logistics, Introduction - up to short example test 15 09:15 Demo of creating some code and classes 15 Show: packages imports creating a Test class creating a class Domain Object instantiating a domain object properties setters, getters methods variables using a test library to do stuff WebPage, track visits in src\test\java in package com.javafortesters.course.examples.demo use IDE to create a class WebPageTrackTest explain package and public class explain { add the todo.txt as comments to guide the demo create method called cancreatewebpageobject explain methods are code that we can run demo right click and run method CountableWebPage webpage; Alt+Enter to create the CountableWebPage class create a method on CountableWebPage called numberofvisits() by Assert.assertEquals(0, webpage.numberofvisits()); Alt+Enter to import import org.junit.assert; initialize/instantiate webpage with new CountableWebPage Alt+Enter to create numberofvisits method create a method on CountableWebPage called visit() webpage.visit(); implement visit by creating a countofvisits field variable public void visit() { // TODO visit the page countofvisits = countofvisits+1; amend the test to assert on visits 4

5 assert that visits increases when we call it Assert.assertEquals(1, webpage.numberofvisits()); create a URL property drive with Assert.assertEquals(" webpage.geturl()); call with webpage.seturl(" create as a URL Property public void seturl(string url) { this.url = url; public String geturl() { return url; Final WebPageTrackTest package com.javafortesters.course.examples.demo; import org.junit.assert; import org.junit.test; public class WebPageTrackTest public void cancreatewebpageobject(){ CountableWebPage webpage = new CountableWebPage(); webpage.seturl(" Assert.assertEquals(" webpage.geturl()); Assert.assertEquals(0, webpage.numberofvisits()); webpage.visit(); Assert.assertEquals(1, webpage.numberofvisits()); And Final CountabelWebPage.java package com.javafortesters.course.examples.demo; import java.io.ioexception; import java.net.httpurlconnection; import java.net.url; 5

6 public class CountableWebPage { private int countofvisits=0; private String url; public int numberofvisits() { return countofvisits; public void visit() { try { HttpURLConnection connection = (HttpURLConnection) new URL(this.url).openConnection(); int statuscode = connection.getresponsecode(); connection.getinputstream(); if(statuscode==200){ countofvisits = countofvisits+1; else{ System.out.println("Could not get " + url); catch (IOException e) { e.printstacktrace(); public String geturl() { return url; public void seturl(string url) { this.url = url; Depending on time could - explain basic principles of abstraction - i.e. visit could change to use Selenium or... in built HttpMessageSender class from case study import com.javafortesters.course.casestudy.http.httpmessagesender; HttpResponse response = new HttpMessageSender(this.url).get(""); if(response.statuscode==200){ 6

7 System.out.println(response.raw()) countofvisits = countofvisits+1; else{ System.out.println("Could not get " + url + " received " + response.statuscode); To use WebDriver I would have to add selenium as a dependency: <dependency> <groupid>org.seleniumhq.selenium</groupid> <artifactid>selenium-java</artifactid> <version> </version> </dependency> WebDriver driver = new SafariDriver(); driver.get(this.url); driver.quit(); To better replicate functionality: try { driver.get(this.url); countofvisits = countofvisits+1; catch(exception e){ System.out.println("Could not get " + url + " received " + e.getmessage(); e.printstacktrace(); 7

8 09:30 Double Check Installation mins (inc ex) 09:50 Basics - to Example Test 15 mins 10:05 ExampleTest Exercises 15 mins 10:20 Basics - to end of this section including the fixbrokencode exercise 15 mins 10:35 Class and Object Basics 20 mins 10:55 break 15 mins 11:10 Objects, Methods, Fields, Properties 15 mins (end demo) 11:25 Objects, Methods, Fields, Properties - Exercise 15 mins 11:40 Primitive Types 30 mins (inc 5+15 ex) 8

9 12:10 Conditions If Else 45 mins ( inc 15 mins talk/demo ( ex)) This section has 2 exercise sections Create the ageallowsservice method exercise (10 mins) Continue with Exercises at end (20 mins) Demo - Create ageallowsservice Method we want to demo the removing of unnecessary code later so we create it with unnecessary code public boolean ageallowsservice() { boolean isofagethatallowsservice; if(age>16){ isofagethatallowsservice = true; else{ isofagethatallowsservice = false; return isofagethatallowsservice; 12:30 lunch - interrupts above 1 hour 13:30 Finish Conditions If Else 20 mins 13:50 Strings 1 hour Strings: 10 first exercise 5 rewrite getreport exercise 15 create own template exercise Demo: Create a concatenated reporting String make sure and put the string output in the wrong order so that we pass the contains assert but fail the actual output requirement 9

10 public String getreport() { return "Customer: " + name + " and is " + age + " years old" + " lives at " + address ; Demo - using replaceall to create our own template public String fromtemplate(string template) { String from=template; if(from.contains("!name!")){ from = from.replaceall("!name!", name); if(from.contains("!balance!")){ from = from.replaceall("!balance!", String.valueOf(balance)); return from; Also explain using String.format from = from.replaceall("!balance!", String.format("%.1f",balance)); And different formats "%08.1f" - zero padding "%8.1f" - space padding 14:50 Break 15 15:05 Exceptions Talky Bits 15 15:20 Exceptions exercises 20 15:40 Constructors Chat 15 Demo Create Constructor Constructor that will be created is: public Customer(String name, int age, String address) { this.name = name; 10

11 this.age= age; this.address=address; gradually add the this.name etc. as we add assertions in the test 15:55 Constructors Exercises 30 16:25 Exercises & Case Studies till end 11

12 Rough Timings Day 2 09:00 Collections 50 mins (20 chat, 30 exercises) (Demo) For Each and Storing Customers End result of the exercise - it is basically the customers.add that we are public void fillacollectionofcustomers(){ Collection<Customer> customers = new ArrayList<>(); // Exercise: add five customers where two // of the customers are over 30 years old customers.add(new Customer("bob32", 32, "Bob Town")); customers.add(new Customer("bob33", 33, "Bob Town")); customers.add(new Customer("bob16", 16, "Bob Town")); customers.add(new Customer("bob17", 17, "Bob Town")); customers.add(new Customer("bob18", 18, "Bob Town")); // Exercise: Uncomment the following line and the test should pass Assert.assertEquals(5, customers.size()); // Uncomment out the following lines of code // and the test should still pass int customersover30 = 0; for(customer acustomer : customers){ if(acustomer.getage() > 30){ customersover30++; Assert.assertEquals(2, customersover30); remember to show different ways of creating the customer Customer customertoadd = new Customer(); customertoadd.setage(32); customers.add(customertoadd); Take the opportunity to show return this; from setage to allow customers.add(new Customer().setAge(32)); requires amending setage 12

13 public Customer setage(int age) { this.age = age; return this; Explain fluent programming a little. 13

14 09:50 Junit before after 15 mins chat, 15 minutes exercises 10:20 For Loop + Character 20 mins for chat demo, 30 mins exercise (Demo) Create a PasswordValidator The final PasswordValidator class created from demo will look like: public class PasswordValidator { private final String password; public PasswordValidator(String password) { this.password = password; public int countuppercase() { int countofchars = 0; for (int position = 0; position < password.length(); position++) { if (Character.isUpperCase(password.charAt(position))) { countofchars++; return countofchars; If I create a private no argument constructor private PasswordValidator(){ this.password=null; Then it prevents any code instantiating a PasswordValidator object without setting a password i.e. the following will not compile PasswordValidator validator = new PasswordValidator(); Questions - PasswordValidator good? we could have a Password object that throws an exception if not valid in constructor? we could have a PasswordCreator object 14

15 setpassword should probably throw an exception if not valid 15

16 10:40 break 15 mins 10:55 exercises for for loop 30 mins 11:25 Java Libraries Examples 1 hour 12:25 Lunch 1 hour 13:30 Arrays & Random 15 min demo & 30 mins exercise DEMO - Randomly Create a Customer name Don t do the full exercise: just fill the arrays randomly pick items from the array System.out.println the name so we can see the generation String []firstnames = {"bob", "eris"; String []lastnames = {"dobbs", "discord", "Campbell"; Collection<Customer> customers = new ArrayList<>(); Random rnd = new Random(); for(int nameid=0; nameid<100; nameid++) { String firstname=firstnames[rnd.nextint(firstnames.length)]; String lastname=lastnames[rnd.nextint(lastnames.length)];; String name = String.format("%s %s", firstname, lastname); System.out.println(name); 14:15 Automation & Abstraction layers 1 hour 15:15 break 15 mins 15:30 My first project 15 mins 15:45 Exercises & Case Studies till end 16

Java For Testers Training

Java For Testers Training Java For Testers Training http://compendiumdev.co.uk/page/atjavafortesters Alan Richardson Compendium Developments uk.linkedin.com/in/eviltester Contact Alan http://compendiumdev.co.uk/contact JavaForTesters.com

More information

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Week 3 Classes and Objects

Week 3 Classes and Objects Week 3 Classes and Objects written by Alexandros Evangelidis, adapted from J. Gardiner et al. 13 October 2015 1 Last Week Last week, we looked at some of the different types available in Java, and the

More information

Recitation 3 Class and Objects

Recitation 3 Class and Objects 1.00/1.001 Introduction to Computers and Engineering Problem Solving Recitation 3 Class and Objects Spring 2012 1 Scope One method cannot see variables in another; Variables created inside a block: { exist

More information

Assignment: TwoMethods Submitted to WebCat

Assignment: TwoMethods Submitted to WebCat Assignment: TwoMethods Submitted to WebCat For this assignment, you are asked to Implement one class with two unrelated methods and a unit test for those two methods On your personal machine only: Set

More information

APCS Semester #1 Final Exam Practice Problems

APCS Semester #1 Final Exam Practice Problems Name: Date: Per: AP Computer Science, Mr. Ferraro APCS Semester #1 Final Exam Practice Problems The problems here are to get you thinking about topics we ve visited thus far in preparation for the semester

More information

SSE3052: Embedded Systems Practice

SSE3052: Embedded Systems Practice SSE3052: Embedded Systems Practice Minwoo Ahn minwoo.ahn@csl.skku.edu Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong

More information

Ch 7 Designing Java Classes & Class structure. Fields have data values define/describe an instance

Ch 7 Designing Java Classes & Class structure. Fields have data values define/describe an instance Ch 7 Designing Java Classes & Class structure Classes comprise fields and methods Fields have data values define/describe an instance Constructors values are assigned to fields when an instance/object

More information

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. CMSC 131: Chapter 28 Final Review: What you learned this semester The Big Picture Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. Java

More information

CSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2017 Instructors: Bill & Bill

CSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2017 Instructors: Bill & Bill CSCI 136 Data Structures & Advanced Programming Lecture 3 Fall 2017 Instructors: Bill & Bill Administrative Details Lab today in TCL 216 (217a is available, too) Lab is due by 11pm Sunday Copy your folder

More information

Advanced Java Concepts Unit 2: Linked Lists.

Advanced Java Concepts Unit 2: Linked Lists. Advanced Java Concepts Unit 2: Linked Lists. The List interface defines the structure of a linear collection. Here are some of its methods. boolean add( E element ) Appends the element to the end of the

More information

ASSIGNMENT 4. COMP-202, Fall 2013, All Sections. Due: December 6 th,2013(23:59)

ASSIGNMENT 4. COMP-202, Fall 2013, All Sections. Due: December 6 th,2013(23:59) ASSIGNMENT 4 COMP-202, Fall 2013, All Sections Due: December 6 th,2013(23:59) Please read the entire PDF before starting. You must do this assignment individually and, unless otherwise specified, you must

More information

University of British Columbia CPSC 111, Intro to Computation Jan-Apr 2006 Tamara Munzner

University of British Columbia CPSC 111, Intro to Computation Jan-Apr 2006 Tamara Munzner University of British Columbia CPSC 111, Intro to Computation Jan-Apr 2006 Tamara Munzner Conditionals II Lecture 11, Thu Feb 9 2006 based on slides by Kurt Eiselt http://www.cs.ubc.ca/~tmm/courses/cpsc111-06-spr

More information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC Java Programming, Fall Java Data Types and Control Constructs CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference

More information

Principles of Object Oriented Programming. Lecture 4

Principles of Object Oriented Programming. Lecture 4 Principles of Object Oriented Programming Lecture 4 Object-Oriented Programming There are several concepts underlying OOP: Abstract Types (Classes) Encapsulation (or Information Hiding) Polymorphism Inheritance

More information

G51PGP Programming Paradigms. Lecture OO-4 Aggregation

G51PGP Programming Paradigms. Lecture OO-4 Aggregation G51PGP Programming Paradigms Lecture OO-4 Aggregation 1 The story so far We saw that C code can be converted into Java code Note real object oriented code though Hopefully shows you how much you already

More information

Appium mobile test automation

Appium mobile test automation Appium mobile test automation for Google Android and Apple ios Last updated: 10 July 2017 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About this document...

More information

Object Class. EX: LightSwitch Class. Basic Class Concepts: Parts. CS257 Computer Science II Kevin Sahr, PhD. Lecture 5: Writing Object Classes

Object Class. EX: LightSwitch Class. Basic Class Concepts: Parts. CS257 Computer Science II Kevin Sahr, PhD. Lecture 5: Writing Object Classes 1 CS257 Computer Science II Kevin Sahr, PhD Lecture 5: Writing Object Classes Object Class 2 objects are the basic building blocks of programs in Object Oriented Programming (OOP) languages objects consist

More information

Discover how to get up and running with the Java Development Environment and with the Eclipse IDE to create Java programs.

Discover how to get up and running with the Java Development Environment and with the Eclipse IDE to create Java programs. Java SE11 Development Java is the most widely-used development language in the world today. It allows programmers to create objects that can interact with other objects to solve a problem. Explore Java

More information

Provided Files that Are Fine

Provided Files that Are Fine Fixing How to Play 2048 - Consists of a 4x4 grid of tiles with numbers on them - Use arrow keys to move tiles in a direction - Tiles will keep moving until they hit a wall or another tile - Every movement

More information

Review. these are the instance variables. these are parameters to the methods

Review. these are the instance variables. these are parameters to the methods Review Design a class to simulate a bank account Implement the class Write a demo program that creates bank accounts Write junit tests for the bank account class Review What data items are associated with

More information

1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8

1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8 Epic Test Review 1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4 Write a line of code that outputs the phase Hello World to the console without creating a new line character. System.out.print(

More information

Video 2.1. Arvind Bhusnurmath. Property of Penn Engineering, Arvind Bhusnurmath. SD1x-2 1

Video 2.1. Arvind Bhusnurmath. Property of Penn Engineering, Arvind Bhusnurmath. SD1x-2 1 Video 2.1 Arvind Bhusnurmath SD1x-2 1 Topics Why is testing important? Different types of testing Unit testing SD1x-2 2 Software testing Integral part of development. If you ship a software with bugs,

More information

Announcements. Lab tomorrow. Quiz Thursday P3 due Friday. Exceptions and unit testing

Announcements. Lab tomorrow. Quiz Thursday P3 due Friday. Exceptions and unit testing Announcements Lab tomorrow Exceptions and unit testing Quiz Thursday P3 due Friday Follow-ups Exceptions and Try-catch Using try-catch with loops Comparison to switch vs. if-else if Realistic examples

More information

Java Foundations Certified Junior Associate

Java Foundations Certified Junior Associate Java Foundations Certified Junior Associate 习题 1. When the program runs normally (when not in debug mode), which statement is true about breakpoints? Breakpoints will stop program execution at the last

More information

Unit 5: More on Classes/Objects Notes

Unit 5: More on Classes/Objects Notes Unit 5: More on Classes/Objects Notes AP CS A The Difference between Primitive and Object/Reference Data Types First, remember the definition of a variable. A variable is a. So, an obvious question is:

More information

Classes and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?

Classes and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable? Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable

More information

Object Oriented Programming and Design in Java. Session 2 Instructor: Bert Huang

Object Oriented Programming and Design in Java. Session 2 Instructor: Bert Huang Object Oriented Programming and Design in Java Session 2 Instructor: Bert Huang Announcements TA: Yipeng Huang, yh2315, Mon 4-6 OH on MICE clarification Next Monday's class canceled for Distinguished Lecture:

More information

Name:... ID:... class A { public A() { System.out.println( "The default constructor of A is invoked"); } }

Name:... ID:... class A { public A() { System.out.println( The default constructor of A is invoked); } } KSU/CCIS/CS CSC 113 Final exam - Fall 12-13 Time allowed: 3:00 Name:... ID:... EXECRICE 1 (15 marks) 1.1 Write the output of the following program. Output (6 Marks): class A public A() System.out.println(

More information

CS 201, Fall 2016 Sep 28th Exam 1

CS 201, Fall 2016 Sep 28th Exam 1 CS 201, Fall 2016 Sep 28th Exam 1 Name: Question 1. [5 points] Write code to prompt the user to enter her age, and then based on the age entered, print one of the following messages. If the age is greater

More information

CS 251 Intermediate Programming Methods and Classes

CS 251 Intermediate Programming Methods and Classes CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

CS 251 Intermediate Programming Methods and More

CS 251 Intermediate Programming Methods and More CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

All code must follow best practices. Part (but not all) of this is adhering to the following guidelines:

All code must follow best practices. Part (but not all) of this is adhering to the following guidelines: Java Coding Guidelines Version 1.3.2 All code must follow best practices. Part (but not all) of this is adhering to the following guidelines: Development For code development, I recommend the following

More information

WES-CS GROUP MEETING #9

WES-CS GROUP MEETING #9 WES-CS GROUP MEETING #9 Exercise 1: Practice Multiple-Choice Questions 1. What is output when the following code executes? String S1 = new String("hello"); String S2 = S1 +! ; S1 = S1 + S1; System.out.println(S1);

More information

Ch 7 Designing Java Classes & Class structure. Methods: constructors, getters, setters, other e.g. getfirstname(), setfirstname(), equals()

Ch 7 Designing Java Classes & Class structure. Methods: constructors, getters, setters, other e.g. getfirstname(), setfirstname(), equals() Ch 7 Designing Java Classes & Class structure Classes comprise fields and methods Fields: Things that describe the class or describe instances (i.e. objects) e.g. last student number assigned, first name,

More information

Java Review Outline. basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for

Java Review Outline. basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for Java Review Outline basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for Java basics write a simple program, e.g. hello world http://www2.hawaii.edu/~esb/2017fall.ics211/helloworl

More information

TaxiBot New attributes Variables Math! TaxiBot

TaxiBot New attributes Variables Math! TaxiBot TaxiBot New attributes Variables Math! TaxiBot TaxiBot operates in the city BUT it charges you for its actions TaxiBot extends RobotSE TaxiBot displays how much is owed 1 TaxiBot charges Moving 1 space

More information

CMP-326 Total 120 Points Final Fall 2012

CMP-326 Total 120 Points Final Fall 2012 1. (20 Points) Given the following binary tree containing int s: a. (10 Points) What is the output of the following recursive method if it is initially called with the root node as a parameter: public

More information

Getting started with Java

Getting started with Java Getting started with Java by Vlad Costel Ungureanu for Learn Stuff Programming Languages A programming language is a formal constructed language designed to communicate instructions to a machine, particularly

More information

Exercises Software Development I. 08 Objects II. Generating and Releasing Objects (Constructors/Destructors, this, Object cloning) December 3rd, 2014

Exercises Software Development I. 08 Objects II. Generating and Releasing Objects (Constructors/Destructors, this, Object cloning) December 3rd, 2014 Exercises Software Development I 08 Objects II Generating and Releasing Objects (Constructors/Destructors, this, Object cloning) December 3rd, 2014 Software Development I Winter term 2014/2015 Priv.-Doz.

More information

Manual for Advanced Java

Manual for Advanced Java Java Boot Camp Boot Camp Manual for Advanced Java By The contents of this document are the sole and exclusive property of AgileTestingAlliance.org. They may not be disclosed to any third party, copied

More information

CmSc 150 Fundamentals of Computing I. Lesson 28: Introduction to Classes and Objects in Java. 1. Classes and Objects

CmSc 150 Fundamentals of Computing I. Lesson 28: Introduction to Classes and Objects in Java. 1. Classes and Objects CmSc 150 Fundamentals of Computing I Lesson 28: Introduction to Classes and Objects in Java 1. Classes and Objects True object-oriented programming is based on defining classes that represent objects with

More information

1.00/ Introduction to Computers and Engineering Problem Solving. Final Exam / December 21, 2005

1.00/ Introduction to Computers and Engineering Problem Solving. Final Exam / December 21, 2005 1.00/1.001 Introduction to Computers and Engineering Problem Solving Final Exam / December 21, 2005 Name: Email Address: TA: Section: You have 180 minutes to complete this exam. For coding questions, you

More information

CSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017

CSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017 This week the main activity was a quiz activity, with a structure similar to our Friday lecture activities. The retrospective for the quiz is in Quiz-07- retrospective.pdf This retrospective explores the

More information

Introduction to Computer Science I

Introduction to Computer Science I Introduction to Computer Science I Classes Janyl Jumadinova 5-7 March, 2018 Classes Most of our previous programs all just had a main() method in one file. 2/13 Classes Most of our previous programs all

More information

CS 1331 Exam 1. Fall Failure to properly fill in the information on this page will result in a deduction of up to 5 points from your exam score.

CS 1331 Exam 1. Fall Failure to properly fill in the information on this page will result in a deduction of up to 5 points from your exam score. CS 1331 Exam 1 Fall 2016 Name (print clearly): GT account (gpburdell1, msmith3, etc): Section (e.g., B1): Signature: Failure to properly fill in the information on this page will result in a deduction

More information

Please note that if you write the mid term in pencil, you will not be allowed to submit a remark request.

Please note that if you write the mid term in pencil, you will not be allowed to submit a remark request. University of Toronto CSC148 Introduction to Computer Science Fall 2001 Mid Term Test Section L5101 Duration: 50 minutes Aids allowed: none Make sure that your examination booklet has 8 pages (including

More information

CSCI 1103: Object-Oriented Objects

CSCI 1103: Object-Oriented Objects CSCI 1103: Object-Oriented Objects Chris Kauffman Last Updated: Fri Nov 10 10:41:24 CST 2017 1 Logistics Reading from Eck Ch 5 on Objects/Classes Goals Finish arrays of objects Static fields Non-static

More information

IT 313 Advanced Application Development

IT 313 Advanced Application Development Page 1 of 7 IT 313 Advanced Application Development Practice Midterm Exam Part A. Multiple Choice Questions. Answer all questions. Optional: supply a reason or show work for partial credit in case you

More information

Lecture Notes CPSC 224 (Spring 2012) Today... Java basics. S. Bowers 1 of 8

Lecture Notes CPSC 224 (Spring 2012) Today... Java basics. S. Bowers 1 of 8 Today... Java basics S. Bowers 1 of 8 Java main method (cont.) In Java, main looks like this: public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); Q: How

More information

Chapter 9. Exception Handling. Copyright 2016 Pearson Inc. All rights reserved.

Chapter 9. Exception Handling. Copyright 2016 Pearson Inc. All rights reserved. Chapter 9 Exception Handling Copyright 2016 Pearson Inc. All rights reserved. Last modified 2015-10-02 by C Hoang 9-2 Introduction to Exception Handling Sometimes the best outcome can be when nothing unusual

More information

Ch 7 Designing Java Classes & Class structure

Ch 7 Designing Java Classes & Class structure Ch 7 Designing Java Classes & Class structure Classes comprise fields and methods Fields: Things that describe the class or describe instances (i.e. objects) e.g. student number, first name, last name,

More information

public static boolean isoutside(int min, int max, int value)

public static boolean isoutside(int min, int max, int value) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

CS 1331 Exam 1 ANSWER KEY

CS 1331 Exam 1 ANSWER KEY CS 1331 Exam 1 Fall 2016 ANSWER KEY Failure to properly fill in the information on this page will result in a deduction of up to 5 points from your exam score. Signing signifies you are aware of and in

More information

1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003

1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003 1.00 Introduction to Computers and Engineering Problem Solving Quiz 1 March 7, 2003 Name: Email Address: TA: Section: You have 90 minutes to complete this exam. For coding questions, you do not need to

More information

Introductory Android Development

Introductory Android Development Introductory Android Development 152-163 Quick Links & Text References Overview Pages Declaring ArrayList Pages Fill with Test Data Pages Add Elements Pages Number of Elements Pages Retrieve Element Pages

More information

Java For Testers Training Day

Java For Testers Training Day Java For Testers Training Day Alan Richardson Compendium Developments uk.linkedin.com/in/eviltester Contact Alan http://compendiumdev.co.uk/contact Blogs and Websites CompendiumDev.co.uk SeleniumSimplified.com

More information

CS1083 Week 2: Arrays, ArrayList

CS1083 Week 2: Arrays, ArrayList CS1083 Week 2: Arrays, ArrayList mostly review David Bremner 2018-01-08 Arrays (1D) Declaring and using 2D Arrays 2D Array Example ArrayList and Generics Multiple references to an array d o u b l e prices

More information

MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output

MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output Manfred Kerber www.cs.bham.ac.uk/~mmk 21 October 2015 1 / 18 Manfred Kerber Classes and Objects The information

More information

CIS 110: Introduction to Computer Programming

CIS 110: Introduction to Computer Programming CIS 110: Introduction to Computer Programming Lecture 22 and 23 Objects, objects, objects ( 8.1-8.4) 11/28/2011 CIS 110 (11fa) - University of Pennsylvania 1 Outline Object-oriented programming. What is

More information

Outline. CIS 110: Introduction to Computer Programming. Any questions? My life story. A horrible incident. The awful truth

Outline. CIS 110: Introduction to Computer Programming. Any questions? My life story. A horrible incident. The awful truth Outline CIS 110: Introduction to Computer Programming Lecture 22 and 23 Objects, objects, objects ( 8.1-8.4) Object-oriented programming. What is an object? Classes as blueprints for objects. Encapsulation

More information

CS 302 Week 9. Jim Williams

CS 302 Week 9. Jim Williams CS 302 Week 9 Jim Williams This Week P2 Milestone 3 Lab: Instantiating Classes Lecture: Wrapper Classes More Objects (Instances) and Classes Next Week: Spring Break Will this work? Double d = new Double(10);

More information

Thinking Functionally

Thinking Functionally Thinking Functionally Dan S. Wallach and Mack Joyner, Rice University Copyright 2016 Dan S. Wallach, All Rights Reserved Reminder: Fill out our web form! Fill this out ASAP if you haven t already. http://goo.gl/forms/arykwbc0zy

More information

Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection

Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Agenda 2 Bottlenecks Mutable vs. Immutable Caching/Pooling Strings Primitives Final Classloaders Exception Handling Concurrency

More information

More Java Basics. class Vector { Object[] myarray;... //insert x in the array void insert(object x) {...} Then we can use Vector to hold any objects.

More Java Basics. class Vector { Object[] myarray;... //insert x in the array void insert(object x) {...} Then we can use Vector to hold any objects. More Java Basics 1. INHERITANCE AND DYNAMIC TYPE-CASTING Java performs automatic type conversion from a sub-type to a super-type. That is, if a method requires a parameter of type A, we can call the method

More information

CSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2018 Instructors: Bill & Bill

CSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2018 Instructors: Bill & Bill CSCI 136 Data Structures & Advanced Programming Lecture 3 Fall 2018 Instructors: Bill & Bill Administrative Details Lab today in TCL 217a (and 216) Lab is due by 11pm Sunday Lab 1 design doc is due at

More information

Review questions. Review questions, cont d. Class Definition. Methods. Class definition: methods. April 1,

Review questions. Review questions, cont d. Class Definition. Methods. Class definition: methods. April 1, April 1, 2003 1 Previous Lecture: Intro to OOP Class definition: instance variables & methods Today s Lecture: Instance methods Constructors Methods with input parameters Review questions Where do you

More information

Inf1-OP. Inf1-OP Exam Review. Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein. March 20, School of Informatics

Inf1-OP. Inf1-OP Exam Review. Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein. March 20, School of Informatics Inf1-OP Inf1-OP Exam Review Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein School of Informatics March 20, 2017 Overview Overview of examinable material: Lectures Week 1

More information

Key Concept: all programs can be broken down to a combination of one of the six instructions Assignment Statements can create variables to represent

Key Concept: all programs can be broken down to a combination of one of the six instructions Assignment Statements can create variables to represent Programming 2 Key Concept: all programs can be broken down to a combination of one of the six instructions Assignment Statements can create variables to represent information Input can receive information

More information

Programs as Models. Procedural Paradigm. Class Methods. CS256 Computer Science I Kevin Sahr, PhD. Lecture 11: Objects

Programs as Models. Procedural Paradigm. Class Methods. CS256 Computer Science I Kevin Sahr, PhD. Lecture 11: Objects CS256 Computer Science I Kevin Sahr, PhD Lecture 11: Objects 1 Programs as Models remember: we write programs to solve realworld problems programs act as models of the real-world problem to be solved one

More information

Test-Driven Development (a.k.a. Design to Test) CSE260, Computer Science B: Honors Stony Brook University

Test-Driven Development (a.k.a. Design to Test) CSE260, Computer Science B: Honors Stony Brook University Test-Driven Development (a.k.a. Design to Test) CSE260, Computer Science B: Honors Stony Brook University http://www.cs.stonybrook.edu/~cse260 Person-hours Labor is sometimes measured in person-hours,

More information

Algorithmic Thinking and Structured Programming (in Greenfoot) Teachers: Renske Smetsers-Weeda Sjaak Smetsers Ana Tanase

Algorithmic Thinking and Structured Programming (in Greenfoot) Teachers: Renske Smetsers-Weeda Sjaak Smetsers Ana Tanase Algorithmic Thinking and Structured Programming (in Greenfoot) Teachers: Renske Smetsers-Weeda Sjaak Smetsers Ana Tanase Today s Lesson plan (10) Retrospective Previous lesson Theory: Nested if.. then..

More information

CSCE 145 Midterm 2 Review Answers. This exam totals to 100 points. Follow the instructions. Good luck!

CSCE 145 Midterm 2 Review Answers. This exam totals to 100 points. Follow the instructions. Good luck! CSCE 145 Midterm 2 Review Answers This exam totals to 100 points. Follow the instructions. Good luck! Chapter 5 This chapter was mostly dealt with objects expect questions similar to these. 1. Create accessors

More information

Topics covered. Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session. JUnit & Mockito 2

Topics covered. Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session. JUnit & Mockito 2 JUnit & Mockito 1 Topics covered Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session JUnit & Mockito 2 Introduction to JUnit JUnit & Mockito 3 What is JUnit?

More information

6.092: Java for 6.170

6.092: Java for 6.170 6.092: Java for 6.170 Lucy Mendel MIT EECS MIT 6.092 IAP 2006 1 Course Staff Lucy Mendel Corey McCaffrey Rob Toscano Justin Mazzola Paluska Scott Osler Ray He Ask us for help! MIT 6.092 IAP 2006 2 Class

More information

Lecture 06: Classes and Objects

Lecture 06: Classes and Objects Accelerating Information Technology Innovation http://aiti.mit.edu Lecture 06: Classes and Objects AITI Nigeria Summer 2012 University of Lagos. What do we know so far? Primitives: int, float, double,

More information

Java Review. Fundamentals of Computer Science

Java Review. Fundamentals of Computer Science Java Review Fundamentals of Computer Science Link to Head First pdf File https://zimslifeintcs.files.wordpress.com/2011/12/h ead-first-java-2nd-edition.pdf Outline Data Types Arrays Boolean Expressions

More information

CS Week 13. Jim Williams, PhD

CS Week 13. Jim Williams, PhD CS 200 - Week 13 Jim Williams, PhD This Week 1. Team Lab: Instantiable Class 2. BP2 Strategy 3. Lecture: Classes as templates BP2 Strategy 1. M1: 2 of 3 milestone tests didn't require reading a file. 2.

More information

Advanced Java Concept Unit 1. Mostly Review

Advanced Java Concept Unit 1. Mostly Review Advanced Java Concept Unit 1. Mostly Review Program 1. Create a class that has only a main method. In the main method create an ArrayList of Integers (remember the import statement). Add 10 random integers

More information

Software and Programming 1

Software and Programming 1 Software and Programming 1 Lab 8: Use of classes, static class variables and methods 1st March 2018 SP1-Lab8-2018.pdf Tobi Brodie (Tobi@dcs.bbk.ac.uk) 1 Lab 8 Objectives Understanding the encapsulation

More information

Assertions, pre/postconditions

Assertions, pre/postconditions Programming as a contract Assertions, pre/postconditions Assertions: Section 4.2 in Savitch (p. 239) Specifying what each method does q Specify it in a comment before method's header Precondition q What

More information

SeU Certified Selenium Engineer (CSE) Syllabus

SeU Certified Selenium Engineer (CSE) Syllabus SeU Certified Selenium Engineer (CSE) Syllabus Released Version 2018 Selenium United Version 2018, released 23.08.2018 Page 1 of 16 Copyright Notice This document may be copied in its entirety, or extracts

More information

JAVA REVIEW cs2420 Introduction to Algorithms and Data Structures Spring 2015

JAVA REVIEW cs2420 Introduction to Algorithms and Data Structures Spring 2015 JAVA REVIEW cs2420 Introduction to Algorithms and Data Structures Spring 2015 1 administrivia 2 -Lab 0 posted -getting started with Eclipse -Java refresher -this will not count towards your grade -TA office

More information

Distributed Systems Recitation 1. Tamim Jabban

Distributed Systems Recitation 1. Tamim Jabban 15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Sunday, Tuesday: 9:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming A programming

More information

Object Oriented Programming. Week 1 Part 3 Writing Java with Eclipse and JUnit

Object Oriented Programming. Week 1 Part 3 Writing Java with Eclipse and JUnit Object Oriented Programming Part 3 Writing Java with Eclipse and JUnit Today's Lecture Test Driven Development Review (TDD) Building up a class using TDD Adding a Class using Test Driven Development in

More information

Inf1-OOP. OOP Exam Review. Perdita Stevens, adapting earlier version by Ewan Klein. March 16, School of Informatics

Inf1-OOP. OOP Exam Review. Perdita Stevens, adapting earlier version by Ewan Klein. March 16, School of Informatics Inf1-OOP OOP Exam Review Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics March 16, 2015 Overview Overview of examinable material: Lectures Topics S&W sections Week 1 Compilation,

More information

LAB 13: ARRAYS (ONE DIMINSION)

LAB 13: ARRAYS (ONE DIMINSION) Statement Purpose: The purpose of this Lab. is to practically familiarize student with the concept of array and related operations performed on array. Activity Outcomes: As a second Lab on Chapter 7, this

More information

SeU Certified Selenium Engineer (CSE) Syllabus

SeU Certified Selenium Engineer (CSE) Syllabus SeU Certified Selenium Engineer (CSE) Syllabus Released Version 2018 Selenium United Version 2018, released 23.08.2018 Page 1 of 16 Copyright Notice This document may be copied in its entirety, or extracts

More information

University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ Test 2. Question Max Mark Internal External

University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ Test 2. Question Max Mark Internal External Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2009 Test 2 Question Max Mark Internal

More information

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

The Sun s Java Certification and its Possible Role in the Joint Teaching Material The Sun s Java Certification and its Possible Role in the Joint Teaching Material Nataša Ibrajter Faculty of Science Department of Mathematics and Informatics Novi Sad 1 Contents Kinds of Sun Certified

More information

RAIK 183H Examination 2 Solution. November 10, 2014

RAIK 183H Examination 2 Solution. November 10, 2014 RAIK 183H Examination 2 Solution November 10, 2014 Name: NUID: This examination consists of 5 questions and you have 110 minutes to complete the test. Show all steps (including any computations/explanations)

More information

CIS 162 Project 4 Farkle (a dice game)

CIS 162 Project 4 Farkle (a dice game) CIS 162 Project 4 Farkle (a dice game) Due Date at the start of class on Monday, 3 December (be prepared for quick demo and zybook test) Before Starting the Project Read chapter 10 (ArrayList) and 13 (arrays)

More information

CMSC131. Library Classes

CMSC131. Library Classes CMSC131 Designing Classes Library Classes Due to Java being 100% object-oriented, all code must live inside a class but there is some functionality/information that might be best kept in a more central

More information

Groovy. Extending Java with scripting capabilities. Last updated: 10 July 2017

Groovy. Extending Java with scripting capabilities. Last updated: 10 July 2017 Groovy Extending Java with scripting capabilities Last updated: 10 July 2017 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About Groovy... 3 Install Groovy...

More information

COMP 250 Winter 2011 Reading: Java background January 5, 2011

COMP 250 Winter 2011 Reading: Java background January 5, 2011 Almost all of you have taken COMP 202 or equivalent, so I am assuming that you are familiar with the basic techniques and definitions of Java covered in that course. Those of you who have not taken a COMP

More information

CSCI 1103: File I/O, Scanner, PrintWriter

CSCI 1103: File I/O, Scanner, PrintWriter CSCI 1103: File I/O, Scanner, PrintWriter Chris Kauffman Last Updated: Wed Nov 29 13:22:24 CST 2017 1 Logistics Reading from Eck Ch 2.1 on Input, File I/O Ch 11.1-2 on File I/O Goals Scanner for input

More information

Unit Tes2ng Ac2vity. SWEN-261 Introduc2on to So3ware Engineering. Department of So3ware Engineering Rochester Ins2tute of Technology

Unit Tes2ng Ac2vity. SWEN-261 Introduc2on to So3ware Engineering. Department of So3ware Engineering Rochester Ins2tute of Technology Unit Tes2ng Ac2vity SWEN-261 Introduc2on to So3ware Engineering Department of So3ware Engineering Rochester Ins2tute of Technology Your activity for the Unit Testing lesson is to build tests for existing

More information

public class Q1 { public int x; public static void main(string[] args) { Q1 a = new Q1(17); Q1 b = new Q1(39); public Q1(int x) { this.

public class Q1 { public int x; public static void main(string[] args) { Q1 a = new Q1(17); Q1 b = new Q1(39); public Q1(int x) { this. CS 201, Fall 2013 Oct 2nd Exam 1 Name: Question 1. [5 points] What output is printed by the following program (which begins on the left and continues on the right)? public class Q1 { public int x; public

More information

Informatik II. Tutorial 6. Mihai Bâce Mihai Bâce. April 5,

Informatik II. Tutorial 6. Mihai Bâce Mihai Bâce. April 5, Informatik II Tutorial 6 Mihai Bâce mihai.bace@inf.ethz.ch 05.04.2017 Mihai Bâce April 5, 2017 1 Overview Debriefing Exercise 5 Briefing Exercise 6 Mihai Bâce April 5, 2017 2 U05 Some Hints Variables &

More information