System Modelling. Lecture

Size: px
Start display at page:

Download "System Modelling. Lecture"

Transcription

1 System Modelling Lecture

2 Lecture Objectives GUI design with Story-Driven Modelling Class Diagram to Code (revistited) Automatic Code Generation Intro to project Mancala game: 35pts

3 Wireframes or Mockups 3/31

4 Wireframes or Mockups Often created manually on paper For customer it is difficult to differentiate GUI elements of editor from the designed application Often GUI is refined together with customer who is often missing design app. skills Designers vs Developers Usability vs code complexity 4/31

5 1. Karli, Bobby, and Olga agree to have a pot luck barbeque, but want to share the cost evenly. On the day of the barbeque, Karli brings his notebook running the Group Register application. He assumes that Bobby and Olga will bring enough for them all, so he does not bring any food items. After starting the application it shows the initial screen of the application with no entries. This step mentions that we have an application with an initial screen

6 2. Karli adds himself, Bobby, and Olga to the list of participants This step mentions a list of participants. Therefore we need a list showing the names of the participants. But how we will actually get the participants into the list? 6/31

7 A B C

8 a) Just editing the table *This requires complex handling of a single dummy line in the end of the table and might pose some diculties in programming b) Having some fields and an add button underneath to enter one person at a time c) An add button on top which creates an empty line, which is editable * Combined idea from a) and b) but still needs more programming than b) Lets say that customer agreed decision b) 8/31

9 3. Bobby shows up and brings some beer for 12 EUR. Karli enters that Bobby brought beer for 12 EUR into the system. Olga brings bread for 4.50 EUR and salad for 3.00 EUR. Karli enters the items for Bobby and Karli to the system. From this step, we can derive that we need something to store bought items, the person who bought it, and the price of each. This also suggests to use some kind of table with the columns person name, item description, and price. Also here, we could discuss different options to fill in the values like in the last step, but also here we will settle on the option of adding some entry fields and an add button. This could be done in a different window, but we will put it in the same to make all information visible at all 9/31

10 10/31

11 4. The food items sum up to EUR. Therefore, the share of each participants equals to 6.50 EUR. As Karli has not spent any money for food items, he has to pay the full share of 6.50 EUR. As Bobby has already spent 12 EUR, he has to receive back 5.50 EUR. Olga has spent 7.50, so she has to receive 1 EUR back. So far we have not taken into account that we want to also see the amounts of the balance each participant has to pay to the register. We could now either add a button to compute the balance and show a different window with the results or we could also show the balance all the time in the participant's list. Let us assume that our potential customer prefers the version seeing the balance all the time. We therefore add a column Amounts.

12 12/31

13 Refining the Storyboard Further playing with these wireframes might lead to some further requirements and ideas Will it be possible to remove items from the list? How exactly? Will it be possible to edit the names of the participants? Client might discover that he needs to be able to adjust the price of the food items /31

14 Revisited: Class Diagram to Code class class Student Student 14/31

15 Revisited: Class Diagram to Code class class Student Student private private String String name name ;; void void setname setname (String (String name) name) this.name this.name = = name; name; String String getname getname (()) return return name name ;; 15/31

16 Revisited: Class Diagram to Code class class Student Student private private String String name name ; ; void void setname setname (String (String name) name) if if (name (name == == null) null) throw throw new new IllegalArgumentException("Student.name IllegalArgumentException("Student.name must must not not be be null!"); null!"); this.name this.name = = name; name; /31

17 class class Student Student private private University University university; university; void void setuniversity setuniversity (University (University university) university) this.university this.university = = university; university; University University getuniversity() getuniversity() return return university; university; /31

18 import import java.util.hashset; java.util.hashset; class class Course Course private private HashSet<Student> HashSet<Student> students students = = new new HashSet<Student>( HashSet<Student>( ); ); void void addstudent addstudent (Student (Student student) student) students.add students.add (student) (student) ; ; void void removestudent removestudent (Student (Student student) student) students.remove students.remove (student) (student) ; ; HashSet<Student> HashSet<Student> getstudents getstudents ( ( ) ) return return students; students; 18/31

19 Courses Courses course course =....; ; course.getstudents course.getstudents (().clear ).clear( () ); ; course.getstudents course.getstudents (().add ).add(new EvilStudent EvilStudent (() )); ; // // now now all all student student references references are are gone gone // // possible possible parameter parameter check check of of addstudent addstudent ( ( ) ) is is skipped! skipped! 19/31

20 import import java.util.collections; java.util.collections; import import java.util.hashset; java.util.hashset; import import java.util.set; java.util.set; class class Course Course private private Set<Student> Set<Student> students students = = new new HashSet<Student> HashSet<Student> ( ( ); ); boolean boolean addstudent addstudent (Student (Student student) student) return return students.add students.add (student); (student); boolean boolean removestudent removestudent (Student (Student student) student) return return students.remove students.remove (student) (student) ; ; Set<Student> Set<Student> getstudents getstudents ( ( ) ) // don't expose the concrete container class // don't expose the concrete container class return return Collections.unmodifiableSet Collections.unmodifiableSet (students) (students) ; ; int int sizeofstudents sizeofstudents ( ( ) ) return return students.size students.size ( ( ); ); 20/31

21 class class LectureHall LectureHall private private Course Course course; course; void void setcourse setcourse (Course (Course course) course) if if (this.course (this.course!=!= course course ) ) Course Course oldvalue oldvalue = = this.course; this.course; this.course this.course = = course; course; if if (oldvalue (oldvalue!=!= null) null) oldvalue.setlecturehall(null); oldvalue.setlecturehall(null); if if (course (course!=!= null) null) course.setlecturehall(this); course.setlecturehall(this); /31

22 Same for the Course class class class Course Course private private LectureHall LectureHall lecturehall; lecturehall; void void setlecturehall setlecturehall (LectureHall (LectureHall lecturehall) lecturehall) if if (this.lecturehall (this.lecturehall!=!= lecturehall lecturehall ) ) LectureHall LectureHall oldvalue oldvalue = = this.lecturehall; this.lecturehall; this.lecturehall this.lecturehall = = lecturehall; lecturehall; if if (oldvalue (oldvalue!=!= null) null) oldvalue.setcourse(null); oldvalue.setcourse(null); if if (lecturehall (lecturehall!=!= null) null) course.setcourse(this); course.setcourse(this); /31

23 UML Lab Demo

24 Choosing the Right Container Class java.util.set java.util.hashset java.util.treeset 24/31

25 Choosing the Right Container Class java.util.set java.util.hashset java.util.treeset java.util.list java.util.arraylist java.util.linkedlist java.util.vector 25/31

26 Choosing the Right Container Class java.util.set java.util.hashset java.util.treeset java.util.list java.util.arraylist java.util.linkedlist java.util.vector java.util.map 26/31

27 SDM Method Discussion

28 Course Project Develop a multiplayer version of the game Mancala in this course as course project using Story-Driven Modelling method You can see an example implementation Wikipedia has a compact description 28/31

29 Taken from:

30 Project Documentation The project report you will have to hand in has to consist of: A guide through your project (and repository) Your project plan (scheduler, requirements, aims..) Project log (progress) User manual Storyboard(as detailed as possible and reasonable) Also simulate customer discussion, try to find 3-5 features you missed before Video of discussion will be considered as a bonus 30/31

31 Project Presentation The deadline for the assignment is (23:59) Separate session on course project presentations is on Talk about solved/not solved problems How you organized the work Some notes about the SDM method Application demo 31/31

System Modelling. Lecture

System Modelling. Lecture System Modelling Lecture 02.10.2012 Lecture Objectives Storyboards as a base Objects to Classes GUI design with Story-Driven Modelling Intro to the project: 25pts Story-Driven Modeling 1. Concrete behavior

More information

Technical basis. Interfaces. Framework and tool overview

Technical basis. Interfaces. Framework and tool overview Introduction - INF 5750 INF 5750 Technical basis Interfaces Three-layer architecture Framework and tool overview Interfaces What is it? Defines a contract with implementing classes Defines which h methods

More information

Introduction INF 5750

Introduction INF 5750 Introduction - INF 5750 INF 5750 Technical basis Interfaces Three-layer architecture Framework and tool overview Interfaces What is it? Defines a contract with implementing classes Defines which methods

More information

SELECTION. (Chapter 2)

SELECTION. (Chapter 2) SELECTION (Chapter 2) Selection Very often you will want your programs to make choices among different groups of instructions For example, a program processing requests for airline tickets could have the

More information

Problem and Solution Overview: An elegant task management solution, that saves busy people time.

Problem and Solution Overview: An elegant task management solution, that saves busy people time. An elegant task management solution, that saves busy people time. Team: Anne Aoki: Storyboarding, design, user studies, writing Alex Anderson: User studies, design Matt Willden: Ideation, writing, user

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;

More information

CS1004: Intro to CS in Java, Spring 2005

CS1004: Intro to CS in Java, Spring 2005 CS1004: Intro to CS in Java, Spring 2005 Lecture #23: OO Design, cont d. Janak J Parekh janak@cs.columbia.edu Administrivia HW#5 due Tuesday And if you re cheating on (or letting others see your) HW#5

More information

Comp Assignment 4: Extendible and Multi-Platform Object (De)Serialization

Comp Assignment 4: Extendible and Multi-Platform Object (De)Serialization Comp 734 - Assignment 4: Extendible and Multi-Platform Object (De)Serialization Date Assigned: October 24, 2013 Part 1 Completion Date: Tue Oct 29, 2013 Part 2 Target Date: Thu Oct 31, 2013 Part 2 and

More information

Department of Civil and Environmental Engineering, Spring Semester, ENCE 688R: Final Exam: 2 Hours, Open Book and Open Notes

Department of Civil and Environmental Engineering, Spring Semester, ENCE 688R: Final Exam: 2 Hours, Open Book and Open Notes Department of Civil and Environmental Engineering, Spring Semester, 2017 ENCE 688R: Final Exam: 2 Hours, Open Book and Open Notes Name : Question Points Score 1 50 2 30 3 20 Total 100 1 Question 1: 50

More information

Abstract Data Types (ADTs) Example ADTs. Using an Abstract Data Type. Class #08: Linear Data Structures

Abstract Data Types (ADTs) Example ADTs. Using an Abstract Data Type. Class #08: Linear Data Structures Abstract Data Types (ADTs) Class #08: Linear Data Structures Software Design III (CS 340): M. Allen, 08 Feb. 16 An ADT defines a kind of computational entity: A set of objects, with possible values A set

More information

Dynamic Design Patterns

Dynamic Design Patterns Dynamic Design Patterns Adaptive Design in Uncertain Diverse Environment Stephen Wang This book is for sale at http://leanpub.com/dynamic_design_patterns This version was published on 2013-08-22 This is

More information

PASS4TEST IT 인증시험덤프전문사이트

PASS4TEST IT 인증시험덤프전문사이트 PASS4TEST IT 인증시험덤프전문사이트 http://www.pass4test.net 일년동안무료업데이트 Exam : 1z0-809 Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z0-809 Exam's Question and Answers 1 from

More information

Tiers (or layers) Separation of concerns

Tiers (or layers) Separation of concerns Tiers (or layers) Separation of concerns Hiding the type of storage from the client class Let s say we have a program that needs to fetch objects from a storage. Should the program have to be concerned

More information

Comp Assignment 3: Extendible and Multi-Platform Object (De)Serialization in GIPC Date Assigned: October 8, 2015

Comp Assignment 3: Extendible and Multi-Platform Object (De)Serialization in GIPC Date Assigned: October 8, 2015 Comp 734 - Assignment 3: Extendible and Multi-Platform Object (De)Serialization in GIPC Date Assigned: October 8, 2015 Part 1 Completion Date: Oct 8, 2015 Part 2 Target Date: Tue Oct 27, 2015 Part 2 and

More information

ITCertMaster. Safe, simple and fast. 100% Pass guarantee! IT Certification Guaranteed, The Easy Way!

ITCertMaster.  Safe, simple and fast. 100% Pass guarantee! IT Certification Guaranteed, The Easy Way! ITCertMaster Safe, simple and fast. 100% Pass guarantee! Exam : 1z0-853 Title : Java Standard Edition 5 Programmer Certified Professional Exam Vendor : Oracle Version : DEMO Get Latest & Valid 1Z0-853

More information

CS 2102 Exam 2 D-Term 2017

CS 2102 Exam 2 D-Term 2017 NAME: CS 2102 Exam 2 D-Term 2017 Question 1: (25) Question 2: (10) Question 3: (25) Question 4: (10) Question 5: (30) TOTAL: (100) 1 1. (25 points) You re writing software to monitor a healthy lifestyle.

More information

Ryerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013

Ryerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013 Ryerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013 Name: Student # : Time: 90 minutes Instructions This exam contains 6 questions. Please check

More information

Informatik II. Andreas Bärtschi, Andreea Ciuprina, Felix Friedrich, Patrick Gruntz, Hermann Lehner, Max Rossmannek, Chris Wendler FS 2018

Informatik II. Andreas Bärtschi, Andreea Ciuprina, Felix Friedrich, Patrick Gruntz, Hermann Lehner, Max Rossmannek, Chris Wendler FS 2018 1 Informatik II Übung 4 Andreas Bärtschi, Andreea Ciuprina, Felix Friedrich, Patrick Gruntz, Hermann Lehner, Max Rossmannek, Chris Wendler FS 2018 Program Today 2 1 Feedback of last exercise 2 Repetition

More information

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Contents Course Introduction Introduction to Software Engineering Practical

More information

Basic Object-Oriented Concepts. 5-Oct-17

Basic Object-Oriented Concepts. 5-Oct-17 Basic Object-Oriented Concepts 5-Oct-17 Concept: An object has behaviors In old style programming, you had: data, which was completely passive functions, which could manipulate any data An object contains

More information

Need to access each element of a list. Use index to access an element of the list. It s quadratic, while:

Need to access each element of a list. Use index to access an element of the list. It s quadratic, while: ! " # $ $ % & ' () * + (, -. /* 0 * / (1 2 3-4 1 5 6 5 ' 7 8 * / 9 : ; < 8 * /' 8 - /4 J K L M N O PQ M R S After studying this chapter you should understand the following: the role of iterators in container

More information

Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity

Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity Omar Badreddin, Andrew Forward, Timothy C. Lethbridge Abstract. UML classes involve three

More information

Introduction to Software Engineering in Java. Exceptions, I/O, and you++

Introduction to Software Engineering in Java. Exceptions, I/O, and you++ 6.092 - Introduction to Software Engineering in Java Lecture 8: Exceptions, I/O, and you++ Thursday, January 31 IAP 2008 Cite as: Evan Jones, Olivier Koch, and Usman Akeju, course materials for 6.092 Introduction

More information

CS 206 Introduction to Computer Science II

CS 206 Introduction to Computer Science II CS 206 Introduction to Computer Science II 10 / 10 / 2016 Instructor: Michael Eckmann Today s Topics Questions? Comments? A few comments about Doubly Linked Lists w/ dummy head/tail Trees Binary trees

More information

Appendix A: Interfaces and Classes in the AP Java Subset (AB)

Appendix A: Interfaces and Classes in the AP Java Subset (AB) Appendix A: Interfaces and Classes in the AP Java Subset (AB) class java.lang.object int hashcode() java.lang: interface java.lang.comparable ; class java.lang.integer Integer(int value) int intvalue()

More information

Survey #2. Programming Assignment 3. Final Exam. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu.

Survey #2. Programming Assignment 3. Final Exam. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Accessing the Superclass Object Hierarchies is-a, has-a Readings This Week: Ch 9.4-9.5 and into Ch 10.1-10.8 (Ch 11.4-11.5 and into

More information

CSE 70 Final Exam Fall 2009

CSE 70 Final Exam Fall 2009 Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15

More information

COE318 Lecture Notes Week 8 (Oct 24, 2011)

COE318 Lecture Notes Week 8 (Oct 24, 2011) COE318 Software Systems Lecture Notes: Week 8 1 of 17 COE318 Lecture Notes Week 8 (Oct 24, 2011) Topics == vs..equals(...): A first look Casting Inheritance, interfaces, etc Introduction to Juni (unit

More information

Java 1996 AP Computer Science Question 3

Java 1996 AP Computer Science Question 3 Java 1996 AP Computer Science Question 3 http://www.cs.duke.edu/csed/ap/exams/1996/ab3.html 1 of 2 7/8/2003 5:07 PM Java 1996 AP Computer Science Question 3 Assume that binary trees are implemented using

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

Collections. Collections. Collections - Arrays. Collections - Arrays

Collections. Collections. Collections - Arrays. Collections - Arrays References: Beginning Java Objects, Jacquie Barker; The Java Programming Language, Ken Arnold and James Gosling; IT350 Internet lectures Collections Collection types Collection wrappers Composite classes

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Debapriyo Majumdar Programming and Data Structure Lab M Tech CS I Semester I Indian Statistical Institute Kolkata August 7 and 14, 2014 Objects Real world objects, or even people!

More information

Dealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009

Dealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 Dealing with Bugs Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 University of Colorado, 2009 1 Goals 2 Review material from Chapter 11 of Pilone & Miles Dealing with

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 6 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Contents Sequence Diagrams II Object-orientation: Centralized vs Decentralized

More information

Composite Pattern - Shapes Example - Java Sourcecode

Composite Pattern - Shapes Example - Java Sourcecode Composite Pattern - Shapes Example - Java Sourcecode In graphics editors a shape can be basic or complex. An example of a simple shape is a line, where a complex shape is a rectangle which is made of four

More information

CSCU9T4: Managing Information

CSCU9T4: Managing Information CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)

More information

Collections. Collections Collection types Collection wrappers Composite classes revisited Collection classes Hashtables Enumerations

Collections. Collections Collection types Collection wrappers Composite classes revisited Collection classes Hashtables Enumerations References: Beginning Java Objects, Jacquie Barker; The Java Programming Language, Ken Arnold and James Gosling; IT350 Internet lectures 9/16/2003 1 Collections Collection types Collection wrappers Composite

More information

CS112 Lecture: Defining Instantiable Classes

CS112 Lecture: Defining Instantiable Classes CS112 Lecture: Defining Instantiable Classes Last revised 2/3/05 Objectives: 1. To describe the process of defining an instantiable class 2. To discuss public and private visibility modifiers. Materials:

More information

COE318 Lecture Notes Week 9 (Week of Oct 29, 2012)

COE318 Lecture Notes Week 9 (Week of Oct 29, 2012) COE318 Lecture Notes: Week 9 1 of 14 COE318 Lecture Notes Week 9 (Week of Oct 29, 2012) Topics The final keyword Inheritance and Polymorphism The final keyword Zoo: Version 1 This simple version models

More information

Lab 5 Random numbers!

Lab 5 Random numbers! Lab 5 Random numbers! ADT:s as Programming Tools! D0010E! Lecture 13! Iterators! MasterMind Reminder: Groups must have their designs approved before any actual programming is allowed to start. Some review

More information

Object-oriented programming in C++

Object-oriented programming in C++ Object-oriented programming in C++ ELEC-A7151 Kick-off Pasi Sarolahti 11.9.2018 Agenda Course arrangements Introduction to materials and exercises Tools used in the course 11.9.2018 2 Your expectations

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Contents Course Introduction Introduction to Software Engineering Practical

More information

6.092 Introduction to Software Engineering in Java January (IAP) 2009

6.092 Introduction to Software Engineering in Java January (IAP) 2009 MIT OpenCourseWare http://ocw.mit.edu 6.092 Introduction to Software Engineering in Java January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Stacks and Queues. David Greenstein Monta Vista

Stacks and Queues. David Greenstein Monta Vista Stacks and Queues David Greenstein Monta Vista Stack vs Queue Stacks and queues are used for temporary storage, but in different situations Stacks are Used for handling nested structures: processing directories

More information

CPSC 427: Object-Oriented Programming

CPSC 427: Object-Oriented Programming CPSC 427: Object-Oriented Programming Michael J. Fischer Lecture 18 November 7, 2016 CPSC 427, Lecture 18 1/19 Demo: Craps Game Polymorphic Derivation (continued) Name Visibility CPSC 427, Lecture 18 2/19

More information

Practice problem on defining and using Class types. Part 4.

Practice problem on defining and using Class types. Part 4. CS180 Programming Fundamentals Practice problem on defining and using Class types. Part 4. Implementing object associations: Applications typically consist of collections of objects of different related

More information

CIS 110 Introduction to Computer Programming Summer 2017 Final. Recitation # (e.g., 201):

CIS 110 Introduction to Computer Programming Summer 2017 Final. Recitation # (e.g., 201): CIS 110 Introduction to Computer Programming Summer 2017 Final Name: Recitation # (e.g., 201): Pennkey (e.g., paulmcb): My signature below certifies that I have complied with the University of Pennsylvania

More information

Highlights of Previous Lecture

Highlights of Previous Lecture Highlights of Previous Lecture Final Project Goals 1. Set up collections of Flights 2. Maintain information about reservation availability on flights 3. Respond to reservation requests 4. Set up collections

More information

MSO Lecture 1. Wouter Swierstra (adapted by HP) September 11, 2017

MSO Lecture 1. Wouter Swierstra (adapted by HP) September 11, 2017 1 MSO Lecture 1 Wouter Swierstra (adapted by HP) September 11, 2017 So you think you can program... 2 From nrc.nl 3 Question: why do ICT-projects fail so often? 4 5 Question: why do ICT-projects fail so

More information

Spring 2016 Programming Languages Qualifying Exam

Spring 2016 Programming Languages Qualifying Exam This is a closed book test. Clear, correct and concise responses will receive the best mark. Correct, clear and precise answers receive full marks Please start a new page for each question. 1 P a g e 1.

More information

EVALUATION COPY. Unauthorized Reproduction or Distribution Prohibited SHAREPOINT 2016 POWER USER

EVALUATION COPY. Unauthorized Reproduction or Distribution Prohibited SHAREPOINT 2016 POWER USER SHAREPOINT 2016 POWER USER SharePoint 2016 Power User (SHP2016.2 version 1.0.0) Copyright Information Copyright 2016 Webucator. All rights reserved. Accompanying Class Files This manual comes with accompanying

More information

Lab Exercise 6: Abstract Classes and Interfaces CS 2334

Lab Exercise 6: Abstract Classes and Interfaces CS 2334 Lab Exercise 6: Abstract Classes and Interfaces CS 2334 September 29, 2016 Introduction In this lab, you will experiment with using inheritance in Java through the use of abstract classes and interfaces.

More information

Utilities (Part 2) Implementing static features

Utilities (Part 2) Implementing static features Utilities (Part 2) Implementing static features 1 Goals for Today learn about preventing class instantiation learn about methods static methods method header method signature method return type method

More information

CSSE 220. Coupling and Cohesion Scoping. Please checkout VideoStore from your SVN

CSSE 220. Coupling and Cohesion Scoping. Please checkout VideoStore from your SVN CSSE 220 Coupling and Cohesion Scoping Please checkout VideoStore from your SVN The plan Learn 3 essential object oriented design terms: Encapsulation (done) Coupling Cohesion Scope (if we have time) Coupling

More information

PA3: Violet's Vending Venture (Version 3.0)

PA3: Violet's Vending Venture (Version 3.0) CS 159: Programming Fundamentals James Madison University, Spring 2017 Semester PA3: Violet's Vending Venture (Version 3.0) Due Dates PA3-A: Wednesday, Feb. 22 at 11:00 pm PA3-A is a Canvas online readiness

More information

Final Assignment for CS-0401

Final Assignment for CS-0401 Final Assignment for CS-0401 1 Introduction In this assignment you will create a program with an Graphical User Interface that will help customers to decide what car and car features that they want. In

More information

1.Which four options describe the correct default values for array elements of the types indicated?

1.Which four options describe the correct default values for array elements of the types indicated? 1.Which four options describe the correct default values for array elements of the types indicated? 1. int -> 0 2. String -> "null" 3. Dog -> null 4. char -> '\u0000' 5. float -> 0.0f 6. boolean -> true

More information

Object Oriented Relationships

Object Oriented Relationships Lecture 3 Object Oriented Relationships Group home page: http://groups.yahoo.com/group/java CS244/ 2 Object Oriented Relationships Object oriented programs usually consisted of a number of classes Only

More information

User Centered Design for Mobile Applications BOB MORSE DA VINCI USABILITY

User Centered Design for Mobile Applications BOB MORSE DA VINCI USABILITY User Centered Design for Mobile Applications BOB MORSE DA VINCI USABILITY My Background UI/UX Consulting I do: usability, user centered design, user experience design, information architecture, human factors,

More information

University of Massachusetts Amherst, Electrical and Computer Engineering

University of Massachusetts Amherst, Electrical and Computer Engineering University of Massachusetts Amherst, Electrical and Computer Engineering ECE 122 Midterm Exam 1 Makeup Answer key March 2, 2018 Instructions: Closed book, Calculators allowed; Duration:120 minutes; Write

More information

Solution register itself

Solution register itself Observer Pattern Context: One object (the Subject) is the source of events. Other objects (Observers) want to know when an event occurs. Or: several objects should be immediately updated when the state

More information

Alg. 1 Unit 3 Notes Unit 3 Day 1: Represent Relations and Functions (O.C. 1-5)

Alg. 1 Unit 3 Notes Unit 3 Day 1: Represent Relations and Functions (O.C. 1-5) Alg. 1 Unit 3 Notes Unit 3 Day 1: Represent Relations and Functions (O.C. 1-5) A. Vocabulary Objectives: SWBAT represent functions Function Function Notation Coordinate Domain Range State the domain, the

More information

TREES. Tree Overview 9/28/16. Prelim 1 tonight! Important Announcements. Tree terminology. Binary trees were in A1!

TREES. Tree Overview 9/28/16. Prelim 1 tonight! Important Announcements. Tree terminology. Binary trees were in A1! //16 Prelim 1 tonight! :3 prelim is very crowded. You HAVE to follow these directions: 1. Students taking the normal :3 prelim (not the quiet room) and whose last names begin with A through Da MUST go

More information

IML 300: Reading and Writing the Web

IML 300: Reading and Writing the Web IML 300: Reading and Writing the Web University of Southern California Media Arts and Practice Fall 2017 2 units Professor: Lee Tusman Email: tusman {at} usc {dot} edu Office Hours: TBD Student Assistant:

More information

CAT.woa/wa/assignments/eclipse

CAT.woa/wa/assignments/eclipse King Saud University College of Computer & Information Science CSC111 Lab10 Arrays II All Sections ------------------------------------------------------------------- Instructions Web-CAT submission URL:

More information

UNDERSTANDING CLASS DEFINITIONS CITS1001

UNDERSTANDING CLASS DEFINITIONS CITS1001 UNDERSTANDING CLASS DEFINITIONS CITS1001 Main concepts to be covered Fields / Attributes Constructors Methods Parameters Source ppts: Objects First with Java - A Practical Introduction using BlueJ, David

More information

Quality Assurance User Interface Modeling

Quality Assurance User Interface Modeling Quality Assurance User Interface Modeling Part II - Lecture 4 1 The University of Auckland New Zealand 254 18/09/ /2012 Interviewing Methods of the FBI 254 18/09/ /2012 Cognitive interview: method to enhance

More information

Microsoft Office Publisher Teaching Manual READ ONLINE

Microsoft Office Publisher Teaching Manual READ ONLINE Microsoft Office Publisher Teaching Manual READ ONLINE are familiar to use because they work like the effects in other Office applications Microsoft Publisher 2013 is the latest training; Office for New

More information

Tips for Effective Online Office Hours

Tips for Effective Online Office Hours Tips for Effective Online Office Hours The following is a series of tips for conducting effective online office hours using Adobe Connect. When done right, it is an exciting and dynamic way to involve

More information

MechEng SE3 Lecture 7 Domain Modelling

MechEng SE3 Lecture 7 Domain Modelling MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html

More information

Course "UML and Design Patterns" of module "Software Engineering and Design", version February 2011 (X)

Course UML and Design Patterns of module Software Engineering and Design, version February 2011 (X) UML Class Diagrams Prof. Dr. Eric Dubuis, @ Biel Course "UML and Design Patterns" of module "Software Engineering and Design", version February 2011 (X) BFH/TI/Software Engineering and Design/UML and Design

More information

CS Week 14. Jim Williams, PhD

CS Week 14. Jim Williams, PhD CS 200 - Week 14 Jim Williams, PhD This Week 1. Final Exam: Conflict Alternatives Emailed 2. Team Lab: Object Oriented Space Game 3. BP2 Milestone 3: Strategy 4. Lecture: More Classes and Additional Topics

More information

Midterms Save the Dates!

Midterms Save the Dates! University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Creating Your Own Class Lecture 7 Readings This Week s Reading: Ch 3.1-3.8 (Major conceptual jump) Next Week: Review Ch 1-4 (that

More information

SYSC Come to the PASS workshop with your mock exam complete. During the workshop you can work with other students to review your work.

SYSC Come to the PASS workshop with your mock exam complete. During the workshop you can work with other students to review your work. It is most beneficial to you to write this mock midterm UNDER EXAM CONDITIONS. This means: Complete the Exam in 3 hour(s). Work on your own. Keep your notes and textbook closed. Attempt every question.

More information

Object-oriented Programming Project

Object-oriented Programming Project Object-oriented Programming Project Design and implementation Dr. Alex Gerdes TDA367/DIT212 - HT 2018 Summary previous lecture Define the Idea so clear as possible Sketch the GUI Define Epics -> User Stories

More information

CS32 Discussion Sec.on 1B Week 2. TA: Zhou Ren

CS32 Discussion Sec.on 1B Week 2. TA: Zhou Ren CS32 Discussion Sec.on 1B Week 2 TA: Zhou Ren Agenda Copy Constructor Assignment Operator Overloading Linked Lists Copy Constructors - Motivation class School { public: }; School(const string &name); string

More information

COMP 388/441 HCI: Introduction. Human-Computer Interface Design

COMP 388/441 HCI: Introduction. Human-Computer Interface Design Human-Computer Interface Design About Me Name: Sebastian Herr Born and raised in Germany 5-year ( BS and MS combined) degree in Business & Engineering from the University of Bamberg Germany Work experience

More information

Utilities (Part 3) Implementing static features

Utilities (Part 3) Implementing static features Utilities (Part 3) Implementing static features 1 Goals for Today learn about preconditions versus validation introduction to documentation introduction to testing 2 Yahtzee class so far recall our implementation

More information

Survey #2. Variable Scope. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings. Scope Static.

Survey #2. Variable Scope. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings. Scope Static. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Scope Static Readings This Week: Ch 8.3-8.8 and into Ch 9.1-9.3 (Ch 9.3-9.8 and Ch 11.1-11.3 in old 2 nd ed) (Reminder: Readings

More information

public class Account { private int id; private static int nextaccountid = 0; private String name; private double balance;

public class Account { private int id; private static int nextaccountid = 0; private String name; private double balance; public class Account { private int id; private static int nextaccountid = 0; private String name; private double balance; public double deposit(double amount) { public double withdraw(double amount) {

More information

Lecture 9: Lists. MIT-AITI Kenya 2005

Lecture 9: Lists. MIT-AITI Kenya 2005 Lecture 9: Lists MIT-AITI Kenya 2005 1 In this lecture we will learn. ArrayList These are re-sizeable arrays LinkedList brief overview Differences between Arrays and ArrayLists Casting Iterator method

More information

BM214E Object Oriented Programming Lecture 7

BM214E Object Oriented Programming Lecture 7 BM214E Object Oriented Programming Lecture 7 References References Revisited What happens when we say: int x; double y; char c;??? We create variables x y c Variable: Symbol plus a value Assume that we

More information

Quiz Determine the output of the following program:

Quiz Determine the output of the following program: Quiz Determine the output of the following program: 1 Structured Programming Using C++ Lecture 4 : Loops & Iterations Dr. Amal Khalifa Dr. Amal Khalifa - Spring 2012 1 Lecture Contents: Loops While do-while

More information

TREES Lecture 12 CS2110 Fall 2016

TREES Lecture 12 CS2110 Fall 2016 TREES Lecture 12 CS2110 Fall 2016 Prelim 1 tonight! 2 5:30 prelim is very crowded. You HAVE to follow these directions: 1. Students taking the normal 5:30 prelim (not the quiet room) and whose last names

More information

CMSC 132: Object-Oriented Programming II

CMSC 132: Object-Oriented Programming II CMSC 132: Object-Oriented Programming II Object-Oriented Programming Intro Department of Computer Science University of Maryland, College Park Object-Oriented Programming (OOP) Approach to improving software

More information

Mail. Having your mail stored in the cloud means you can access it just about anywhere on just about any device with an internet connection.

Mail. Having your mail stored in the cloud means you can access it just about anywhere on just about any device with an internet connection. Microsoft Office 365 is a set of cloud services available free to education entities from Microsoft. With your Microsoft Office 365 account, you receive access to the following services: For now, we are

More information

Implementing classes

Implementing classes Implementing classes From last time: fixing TestReadLine.java Example: Student class instance variables method definitions scope and lifetime of variables public vs. private constructors Implementing classes

More information

Life Walkthrough

Life Walkthrough Life 0.05.03 Walkthrough Fasder 2018-04-07 Index 1. Intro 3 2. Post intro 3 3. Pizzeria event 3 4. Post-pizzeria 3 5. Work out with Sarah 4 6. Jenna and Jenny s visit 4 7. Repeatable scenes 4 7.1 Sarah

More information

P2: Exercise 2 Discussion. Pooja Rani

P2: Exercise 2 Discussion. Pooja Rani P2: Exercise 2 Discussion Pooja Rani March 9, 2018 1 Exercise 2 SkipPlayer: Skip the next player s turn? Main problem: Find the next player Approaches Use boolean flag Use an ArrayList to get random index

More information

BBM 102 Introduction to Programming II Spring 2017

BBM 102 Introduction to Programming II Spring 2017 BBM 102 Introduction to Programming II Spring 2017 Collections Framework Instructors: Ayça Tarhan, Fuat Akal, Gönenç Ercan, Vahid Garousi 1 Today The java.util.arrays class Java Collection Framework java.util.collection

More information

BBM 102 Introduction to Programming II Spring 2017

BBM 102 Introduction to Programming II Spring 2017 BBM 102 Introduction to Programming II Spring 2017 Collections Framework Today The java.util.arrays class Java Collection Framework java.util.collection interface java.util.list interface java.util.arraylist

More information

EJB 3 Entity Relationships

EJB 3 Entity Relationships Berner Fachhochschule Technik und Informatik EJB 3 Entity Relationships Course Multi Tier Business Applications with Java EE Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Content What are relationships?

More information

CS 455 Midterm Exam 1 Spring 2011 [Bono] Feb. 17, 2011

CS 455 Midterm Exam 1 Spring 2011 [Bono] Feb. 17, 2011 Name: USC loginid (e.g., ttrojan): CS 455 Midterm Exam 1 Spring 2011 [Bono] Feb. 17, 2011 There are 4 problems on the exam, with 50 points total available. There are 7 pages to the exam, including this

More information

Bags. Chapter 1. Copyright 2012 by Pearson Education, Inc. All rights reserved

Bags. Chapter 1. Copyright 2012 by Pearson Education, Inc. All rights reserved Bags Chapter 1 Copyright 2012 by Pearson Education, Inc. All rights reserved A little more about Lab 1 to take us into today's topics Carrano, Data Structures and Abstractions with Java, Second Edition,

More information

CIS 110 Fall 2014 Introduction to Computer Programming 8 Oct 2014 Midterm Exam Name:

CIS 110 Fall 2014 Introduction to Computer Programming 8 Oct 2014 Midterm Exam Name: CIS 110 Fall 2014 Introduction to Computer Programming 8 Oct 2014 Midterm Exam Name: Recitation # (e.g., 201): Pennkey (e.g., eeaton): My signature below certifies that I have complied with the University

More information

Lecture Notes CPSC 491 (Fall 2018) Topics. Peer evals. UI Sketches. Homework. Quiz 4 next Tues. HW5 out. S. Bowers 1 of 11

Lecture Notes CPSC 491 (Fall 2018) Topics. Peer evals. UI Sketches. Homework. Quiz 4 next Tues. HW5 out. S. Bowers 1 of 11 Topics Peer evals UI Sketches Homework Quiz 4 next Tues HW5 out S. Bowers 1 of 11 Context Diagrams Context Diagrams describe the system boundaries what is inside ( in scope ) vs outside ( out of scope

More information

Ticket Machine Project(s)

Ticket Machine Project(s) Ticket Machine Project(s) Understanding the basic contents of classes Produced by: Dr. Siobhán Drohan (based on Chapter 2, Objects First with Java - A Practical Introduction using BlueJ, David J. Barnes,

More information

Week 10 Tuesday. CS 400 Programming III. X-Team Exercise #4: due before 10pm on April 16th

Week 10 Tuesday. CS 400 Programming III. X-Team Exercise #4: due before 10pm on April 16th Week 10 Tuesday X-Team Exercise #4: due before 10pm on April 16th Team Project: Tournament-Bracket (D-Team 30pts) Milestone #1: due before 10pm April 20 th (A-Team 20pts) Milestone #2: due before 10pm

More information

CS 1653: Applied Cryptography and Network Security Fall Term Project, Phase 2

CS 1653: Applied Cryptography and Network Security Fall Term Project, Phase 2 CS 1653: Applied Cryptography and Network Security Fall 2017 Term Project, Phase 2 Assigned: Tuesday, September 12 Due: Tuesday, October 3, 11:59 PM 1 Background Over the course of this semester, we will

More information