November 2011CSC7302: Testing & MetricsL1-HangmanProblem:1 Hangman: apps, webpages,adverts,scams, …but usually just a fun game Variations: Clues/Themes.

Slides:



Advertisements
Similar presentations
Welcome to RMS Library! Mrs. Corey Librarian and Tech Geek.
Advertisements

OO Programming in Java Objectives for today: Constructors Method Overriding & Overloading Encapsulation.
OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
P u t y o u r h e a d o n m y s h o u l d e r.
Idaho National Engineering and Environmental Laboratory What is a Framework? Web Service? Why do you need them? Wayne Simpson November.
Transition from C to C++ …and a Review of Basic Problem Solving.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 63 – Manipulating Data Using Methods – Day 2.
1 Carleton RtI training session April 30, 2013 Diane Torbenson RtI Greenvale Park Elementary School
Unified Modeling Language
The Bridge Pattern.. Intent Decouple an abstraction from its implementation so that the two can vary independently Also known as: Handle/Body.
1 CS1001 Lecture Overview Homework 3 Homework 3 Project/Paper Project/Paper Object Oriented Design Object Oriented Design.
Aalborg Media Lab 21-Jun-15 Software Design Lecture 1 “ Introduction to Java and OOP”
The Waterfall Model A Case Study
1 CS1001 Lecture Overview Object Oriented Design Object Oriented Design.
CS 2511 Fall  Abstraction Abstract class Interfaces  Encapsulation Access Specifiers Data Hiding  Inheritance  Polymorphism.
UML class diagrams (1) UML = Unified Modeling Language We use only class diagrams, not other UML diagrams Purpose: –keep OO concepts separate from implementation.
Concept of Computer Programming November 2, 2011.
Multiples 1 X 2 = 22 X 2 = 43 X 2 = 6 4 X 2 = 8 What do you call 2,4,6,8 ?Multiples of 2 Why?
1 Programming James King 12 August Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple.
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:1 Integration Testing The software testing process where individual units are combined and.
Invitation to Computer Science, Java Version, Second Edition.
CSC 213 – Large Scale Programming Lecture 3: Object-Oriented Analysis.
Object-Oriented Modeling and Design
CARLETON READS & COUNTS (TUTOR SESSION) April 30, 2013 Diane Torbenson RtI Greenvale Park Elementary School
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
Computer Concepts 2014 Chapter 12 Computer Programming.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Inheritance Extending Class Functionality. Polymorphism Review Earlier in the course, we examined the topic of polymorphism. Many times in coding, we.
Rossella Lau Lecture 1, DCO10105, Semester B, DCO10105 Object-Oriented Programming and Design  Lecture 1: Introduction What this course is about:
 Please choose a smart seat for yourself and begin working on your Student Information handouts.  Put your schedule and transcript on the corner of your.
Contracts for Concurrency - Contracts & Inheritance Aryabrata Basu University of Georgia.
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
Chapter 3 Inheritance and Polymorphism Goals: 1.Superclasses and subclasses 2.Inheritance Hierarchy 3.Polymorphism 4.Type Compatibility 5.Abstract Classes.
November 2011CSC7302: Testing & MetricsHangMan-Refactoring.1 HangMan PBL - Refactoring Use your updated (best) version of Hangman (with a dictionary of.
CprE 458/558: Real-Time Systems
Object Oriented Software Development
Supervisor Ebtsam AbdelHakam Department of Computer Science Najran University 24/2/2014 Ebtsam Abdelhakam 1.
Inheritance Revisited Other Issues. Multiple Inheritance Also called combination--not permitted in Java, but is used in C++ Also called combination--not.
Design Patterns David Talby. This Lecture Re-routing method calls Chain of Responsibility Coding partial algorithms Template Method The Singleton Pattern.
Java Software Solutions Lewis and Loftus Chapter 9 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Enhanced Class Design -- Introduction.
Inspired by the Oulipu. The 3 Tenets of OO Encapsulation Polymorphism Inheritance.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Computer Science Reaching Wider Summer School 2012.
1 AP Computer Science Workshop Joe Kmoch Washington HS, Milwaukee, WI July 18, 2003.
Object-Oriented Design Concepts University of Sunderland.
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
LECTURE 8: EXCEPTIONS CSC 212 – Data Structures. Error Handling Goals  What should we do when an error occurs?  Should alert system to the error  May.
M1G Introduction to Programming 2 2. Creating Classes: Game and Player.
Which list of numbers is ordered from least to greatest? 10 –3, , 1, 10, , 1, 10, 10 2, 10 – , 10 –3, 1, 10, , 10 –3,
Validation. What is Validation? Removing errors improves the consistency of how our pages look to a wide variety of browsers and devices. Ensuring that.
Prime Numbers. Name me a prime number. Name me the first five prime numbers.
1 Welcome Alireza Humber College Lecture 1 Game 540 Alireza
6.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Programming in Java: lecture 7
Validation.
Attendance! 28 November 2013.
CSC 321: Data Structures Fall 2015
CSE 116/504 – Intro. To Computer Science for Majors II
About the Presentations
Types of Programming Languages
Validation.
Engineering Computation with MATLAB
BEAT-THE-TEACH CONTEST!
Advanced Inheritance Concepts
Respecting Others.
Inheritance Lakshmish Ramaswamy.
This session is being recorded
SPL – PS4 C++ Advanced OOP.
Presentation transcript:

November 2011CSC7302: Testing & MetricsL1-HangmanProblem:1 Hangman: apps, webpages,adverts,scams, …but usually just a fun game Variations: Clues/Themes Number of errors Types of error Real-time Arcade style/Interactive Multiplayer

November 2011CSC7302: Testing & MetricsL1-HangmanProblem:2 Hangman PBL: Learning Objectives Understanding the structural relationships between: Code Test (code) Problem/Requirements Can we have objective measurements that correlate with the quality of code: Correctness Understandibility/Maintainability/Testability Understand the impact of OO on the quality of the code and tests Composition Inheritance Polymorphism

November 2011CSC7302: Testing & MetricsL1-HangmanProblem:3 Hangman Problem You are to produce multiple versions of the hangman game (all in Java): 1.Unstructured (non OO): 1 class and 1 method You can use standard library classes but are allowed to define only one class and one method of your own 2.Overlystructured (too OO): over-use of high-level OO programming concepts Too much inheritance and/or composition and/or … 3.Well-designed (perfectly OO): a solution that is as high-quality as you can manage You must produce at least one example from each of these three types of solution (but may have multiple versions of each type) Development Rules: All versions must pass exactly the same set of tests. The tests should be developed before the solutions are coded. The test code can be structured in whatever way you wish but it must not contain any code upon which the correct functioning of the game depends

November 2011CSC7302: Testing & MetricsL1-HangmanProblem:4 Hangman Problem All remaining sessions (from me) are built on top of this problem so you must have solutions ASAP (individually or collectively): Today – great Before next class – fine End of next class – the practical limit We cannot proceed unless your different versions all pass the same test code, and the test code is both complete and consistent with respect to the game rules. Note: please document the order in which you develop your solutions. This will be important in our later analysis.