DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA
|
|
- Candice Chase
- 5 years ago
- Views:
Transcription
1 INSTRUCTOR S MANUAL WITH SOLUTIONS FOR DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA WALLS AND MIRRORS Second Edition Frank M. Carrano University of Rhode Island Janet J. Prichard Bryant College
2 Copyright 2006 by Addison Wesley Longman, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or any other media or embodiments now known or hereafter to become known, without the prior written permission of the publisher. Published in the United States of America. The programs and applications presented have been included for their instructional value. They have been tested with care but are not guaranteed for any particular purpose. The publisher does not offer warranties or representations, nor does it accept any liabilities with respect to the programs or applications.
3 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 3 INTRODUCTION This instructor s guide, which supplements Data Abstraction and Problem Solving with Java: Walls and Mirrors, is organized as follows: Three Possible Courses Based on Walls and Mirrors. We begin by offering suggestions for how to use Walls and Mirrors in your course. The book s flexibility will allow you to use it in a variety of situations. Solutions to Exercises. The solutions to the end-of-chapter exercises are included in this section. Reminder: All Java code that appears in the book is available online. Please consult the preface of the book for further details.
4 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 4 THREE POSSIBLE COURSES BASED ON WALLS AND MIRRORS By appropriately choosing which parts of the book to emphasize, you can easily tailor the material to fit your particular curriculum. Although the suggested courses presented here cover material in the order in which it appears in the book, variations are possible. The book s preface provides details about the orders in which you can cover chapters. With this flexibility in mind, here are three possible courses based on this book. A Second Course in Computer Science If your introductory course emphasizes structured programming and introduces recursion, students can review most of the first two chapters on their own. On the other hand, if the introductory course manages to cover only the basics of a programming language, you should devote a fair amount of class time to Chapters 2 and 3. If your students do not know Java, you may need to devote some class time to the coverage of Appendix A, which reviews Java. The course should cover the material through Chapter 11, at least. You can select topics from Chapters 12 through 15, as time permits. You can cover many topics within these chapters in any order. Possible Syllabus for a Second Course in Computer Science Week Topic Chapter 1 Review of programming principles Review of recursion Data abstraction 4 3 Data abstraction 4 (Cont.) 4 Linked lists 5 5 Linked lists 5 (Cont.) 6 Recursion 6 7 Stacks 7 8 Stacks Queues 7 (Cont.) 8 9 Queues Class relationships 8 (Cont.) 9 10 Class relationships 9 (Cont.) 11 Efficiency and sorting Efficiency and sorting Trees 10 (Cont.) Trees 11 (Cont.) 14 Tables and priority queues Selected advanced topics 13-15
5 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 5 Lower-Division Data Structures Courses At many schools, the primary undergraduate data structures course comes early in the curriculum. You can use this book in such a course by giving high priority to the material in Chapter 4 and Chapters 7 through 15. This means that you should spend as little time as possible on Chapter 2, and you may even find it necessary to omit some of the material on recursion. You should assign projects, such as the ones suggested in Chapter 13, in which students implement 2-3 trees or hashing. Possible Syllabus for a Lower-Division Data Structures Course Week Topic Chapter 1 Review of programming principles Review of recursion Data abstraction 4 3 Linked lists 5 4 Recursion 6 5 Stacks 7 6 Stacks Queues 7 (Cont.) 8 7 Queues Class relationships 8 (Cont.) 9 8 Efficiency and sorting 10 9 Trees Trees Tables 11 (Cont.) Priority queues and heaps 12 (Cont.) 12 Balanced search trees Hashing 13 (Cont.) 14 Multiple organizations Graphs 13 (Cont.) Graphs External sorting 14 (Cont.) External searching 15 (Cont.)
6 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 6 Second- and Third-Quarter Courses This book should work very well for schools on the quarter system. If the first quarter is an introductory programming course, then Chapters 2 through 8 would constitute a reasonable second quarter. This would leave the remainder of book for the third quarter. Possible Syllabus for a Second-Quarter Course Week Topic Chapter 1 Review of programming principles 2 2 Review of recursion 3 3 Data abstraction 4 4 Data abstraction 4 (Cont.) 5 Linked lists 5 6 Linked lists 5 (Cont.) 7 Recursion 6 8 Stacks 7 9 Stacks Queues 7 (Cont.) 8 10 Queues 8 (Cont.) Possible Syllabus for a Third-Quarter Course Week Topic Chapter 1 Class relationships 9 2 Efficiency and sorting 10 3 Trees 11 4 Trees Tables 11 (Cont.) 12 5 Priority queues and heaps 12 (Cont.) 6 Balanced trees 13 7 Hashing 13 (Cont.) Multiple organizations 8 Graphs 14 9 External sorting External searching 15 (Cont.)
7 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 7 SOLUTIONS TO EXERCISES PART I: Problem-Solving Techniques Chapter 1 Review of Java Fundamentals There are no exercises for chapter 1. Chapter 2 Principles of Programming and Software Engineering 1 Use a class Money that stores the number of dollars and cents as private data members. When declaring new objects or changing the data of existing ones, the class methods should ensure that if the number of cents exceeds 99, the number of dollars and cents are changed to represent the monetary amount in its most reduced form. public static main (String args[]) Money itemcost = new Money(dollars, cents); Money amountpaid = new Money(d, c); Money change = getchange(itemcost, amountpaid); change.display(); } public static Money getchange(money price, Money payment) // // Computes the change remaining from purchasing an item costing // price when paying with payment. // Preconditions: price and payment are objects of class Money and // have been initialized to their desired values. // Postconditions: returns an object of class Money representing the // change to be received. If price < payment, the amount owed is // returned as a negative value. // a Use a class Date that stores the day, month and year as private data members. The class should contains a boolean valued method islegitimate() that determines whether a date is a legitimate date or not (based on facts like June has 30 days and February has 29 in a leap year). public static main (String args[]) Date appointment = new Date(day, month, year); incrementdate(appointment); appointment.display(); } public static void incrementdate(date olddate) // // Increments the input date by one day.
8 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 8 // Precondition: olddate is an object of class Date and is initialized // with a legitimate date. // Postcondition: The object of class Date that represents the day after // the input value olddate is returned. // b public static void incrementdate(date datetoincrement) // increment day datetoincrement.setday(datetoincrement.getday() + 1); if (!datetoincrement.islegitimate()) // reset day and increment month datetoincrement.setday(1); datetoincrement.setmonth(datetoincrement.getmonth() + 1); if (!datetoincrement.islegitimate()) // reset month and increment year datetoincrement.setmonth(1); datetoincrement.setyear(datetoincrement.getyear() + 1); } // end if } // end if } // end incrementdate 3 We can make several improvements to user interaction and programming style: Prompt the user for the input and indicate the expected form of the input. The user should also be given an option to exit the program. Give more descriptive output. Check input for obvious errors; e.g., a four-digit age entry is surely a typo and the user should be allowed to correct the error. Document the program. Use more descriptive variable names. 4 This is an infinite loop. The loop will never terminate because the condition will always be true. 5 No answer provided 6 There are two hazards with the method computation(). First, the argument x cannot be a negative number because computation() calls the sqrt() method with x as the argument. Second, since zero is in the range of the method cos(x), the result of this computation must be tested prior to using it as a divisor in order to avoid a "Divide by Zero error". The following implementation performs the required fail-safe checks. double computation( double x ) // // Performs a computation. // Preconditions: x >=0 and x!= (2k - 1)*PI/2 where k is a // positive integer. // Postcondition: returns -1 if preconditions are not met // else, returns the value of the computation. // // compute the cosine once and store it
9 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 9 double denominator = Math.cos(x); double result = 0; // check for negative argument to sqrt() method if ( x < 0 ) System.out.println("Cannot take square root of negative number"); result = -1; } // end if // check for division by zero if ( denominator == 0 ) System.out.println("Cannot divide by zero"); result = -1; } // end if if ( result!= -1 ) result = Math.sqrt(x)/denominator; return result; } // end copmutation 7 The invariants for the for loop of the method factorial() are as follows: a.) 1 i n, b.) result = n! / i! >= i >= 1 9 No answer provided 10 public class ex1_8 public static void main (String[] args) int n = 5; int square = 1; for (int i = 1; i <=n; i++) square = i * i; System.out.println(square); } } } 11 The invariants for the for loop are as follows: a.) 0 i n-1, b.) 0 numpos LIMIT, c.) sum is equal to the sum of the first numpos integers in a. final static int LIMIT = 5;
10 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 10 public static int computesum(int a[], int n) // // Computes the sum of the first LIMIT positive elements in a. // Precondition: a is an array of n elementtypes with at least LIMIT // of a positive and n >= LIMIT. // Postcondition: If a contains at least LIMIT positive elements, then // the method returns the sum of the first LIMIT positive // elements. Else, returns 0. // int numpos = LIMIT; int sum = 0; // check for out of bounds errors if(numpos > n n < 0) return sum; // perform the computation on the array for(int i = 0; i < n && numpos > 0; ++i) if(a[i] > 0) sum += a[i]; numpos--; } // end if // end for // verify that LIMIT elements have been added if(numpos > 0) return 0; // pass on results return sum; } // end ComputeSum 12 Invariant: 0 index i and sum = a[0] a[index]. Prior to the while loop, index is set to 0 and sum is initialized to a[index], i.e. a[0], and so the invariant describes the value of sum at this point. Within the while loop, the value of sum so far is a[0] a[index]. If index < n, index is then incremented (i.e.: index = index + 1). The value of the next element of the array with respect to the last accessed element (i.e.: a[ <last value of index> + 1 ]) is added to sum. After the while loop, the last value of index must have been n since the loop terminated. Since index increments before it is used to access the array a, the last value of index (i.e.: n) must also have been used. Since the value of sum prior to this last access was a[0] a[n - 1] and the last quantity added was a[n], the algorithm corroborates the invariant at index = n. 13 The bug is in the while loop: a.) Output is The floor of the square root of 64 is 7. b.) The while loop condition should be while(temp1 <= X) Debugging involves printing the values of temp1, temp2 and result at the top of the loop.
11 IM with Solutions to Accompany Data Abstraction and Problem Solving with Java: Walls and Mirrors, Second Edition 11 c.) Supply user prompts and check the value of x to ensure that it is greater than final int DZERO = 0; final int AOTRG = 1;.. void severeerrormessage(int error) // // Displays an error code and terminates program execution. // Preconditions: none. // Postconditions: An error message corresponding to the input // errorcode is output to the standard error stream // and the program is terminated. // switch(error) case DZERO: System.out.println("Divide by zero error."); break; case AORTG: System.out.println("Array index out of range."); break;.. default: System.out.println("Unknown fatal error."); }; // end switch exit(0); // terminate execution immediately } // end severeerrormessage
SOLUTIONS TO EXERCISES PART ONE: Problem-Solving Techniques
SOLUTIONS TO EXERCISES PART ONE: Problem-Solving Techniques 1 Principles of Programming and Software Engineering 1 const CENTS_PER_DOLLAR = 100; void computechange(int dollarcost, int centscost, int& d,
More informationDATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA
DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA WALLS AND MIRRORS First Edition Frank M. Carrano University of Rhode Island Janet J. Prichard Bryant College Boston San Francisco New York London Toronto
More informationSolutions for Selected Exercises
Data Abstraction & Problem Solving with C++: Walls and Mirrors 6th Edition by Carrano, Henry Solutions Manual Completed download: https://solutionsmanualbank.com/download/data-abstraction-problem-solvingwith-c-walls-and-mirrors-6th-edition-by-carrano-henry-solutions-manual/
More informationPlan of the lecture. Quick-Sort. Partition of lists (or using extra workspace) Quick-Sort ( 10.2) Quick-Sort Tree. Partitioning arrays
Plan of the lecture Quick-sort Lower bounds on comparison sorting Correctness of programs (loop invariants) Quick-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 Lecture 16 1 Lecture 16 2 Quick-Sort (
More informationIntroduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.
Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. 9 Self-Test Exercises p. 11 History Note p. 12 Programming and
More informationCS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam
Seat Number Name CS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam This is a closed book exam. Answer all of the questions on the question paper in the space provided. If
More informationChapter 4 Defining Classes I
Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 01 / 21 / 2015 Instructor: Michael Eckmann Today s Topics Introduction of myself Review the syllabus List of Topics we'll cover Start Java review Who is your
More informationPractical List of. MCA IV SEM Session -2010
1. WAP to create own exception. Rani Durgavati Vishwavidyalaya Jabalpur (M.P.) (UICSA) Master of Computer Application (MCA) Practical List of MCA IV SEM Session -2010 MCA-401 - Internet and Java Programming
More informationLesson 02 Data Types and Statements. MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL
Lesson 02 Data Types and Statements MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL Topics Covered Statements Variables Constants Data Types
More informationLesson 02 Data Types and Statements. MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL
Lesson 02 Data Types and Statements MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL Topics Covered Statements Variables Data Types Arithmetic
More informationAssertions. Assertions - Example
References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 11/13/2003 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,
More informationIntroduction to Programming
Introduction to Programming Department of Computer Science and Information Systems Tingting Han (afternoon), Steve Maybank (evening) tingting@dcs.bbk.ac.uk sjmaybank@dcs.bbk.ac.uk Autumn 2017 Week 4: More
More informationWelcome to Starting Out with Programming Logic and Design, Third Edition.
Welcome to Starting Out with Programming Logic and Design, Third Edition. This book uses a language-independent approach to teach programming concepts and problem-solving skills, without assuming any previous
More informationAbout this exam review
Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review
More informationData and Variables. Data Types Expressions. String Concatenation Variables Declaration Assignment Shorthand operators. Operators Precedence
Data and Variables Data Types Expressions Operators Precedence String Concatenation Variables Declaration Assignment Shorthand operators Review class All code in a java file is written in a class public
More informationSubject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100
Code: DC-05 Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 NOTE: There are 11 Questions in all. Question 1 is compulsory and carries 16 marks. Answer to Q. 1. must be written in the space
More informationProblem Solving with C++
GLOBAL EDITION Problem Solving with C++ NINTH EDITION Walter Savitch Kendrick Mock Ninth Edition PROBLEM SOLVING with C++ Problem Solving with C++, Global Edition Cover Title Copyright Contents Chapter
More informationAssertions, 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 information1) What is the primary purpose of template functions? 2) Suppose bag is a template class, what is the syntax for declaring a bag b of integers?
Review for Final (Chapter 6 13, 15) 6. Template functions & classes 1) What is the primary purpose of template functions? A. To allow a single function to be used with varying types of arguments B. To
More informationB. Knowledge of basic algebra and experience in problem solving is beneficial. Students should also possess competence in written communication.
Course Title: AP Computer Science AB (DL) Meeting Times: This is a 36 week course. Students engage in the online class according to the same academic calendar of their schools. Additionally, they can expect
More informationSchool of Computer Science Introduction to Algorithms and Programming Winter Midterm Examination # 1 Wednesday, February 11, 2015
Page 1 of 8 School of Computer Science 60-141-01 Introduction to Algorithms and Programming Winter 2015 Midterm Examination # 1 Wednesday, February 11, 2015 Marking Exemplar Duration of examination: 75
More informationSTUDENT LESSON A12 Iterations
STUDENT LESSON A12 Iterations Java Curriculum for AP Computer Science, Student Lesson A12 1 STUDENT LESSON A12 Iterations INTRODUCTION: Solving problems on a computer very often requires a repetition of
More informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
More informationChapter 4 Fundamental Data Types. Big Java by Cay Horstmann Copyright 2009 by John Wiley & Sons. All rights reserved.
Chapter 4 Fundamental Data Types Chapter Goals To understand integer and floating-point numbers To recognize the limitations of the numeric types To become aware of causes for overflow and roundoff errors
More information2/9/2012. Chapter Four: Fundamental Data Types. Chapter Goals
Chapter Four: Fundamental Data Types Chapter Goals To understand integer and floating-point numbers To recognize the limitations of the numeric types To become aware of causes for overflow and roundoff
More informationCOMP 202 Java in one week
CONTENTS: Basics of Programming Variables and Assignment Data Types: int, float, (string) Example: Implementing a calculator COMP 202 Java in one week The Java Programming Language A programming language
More informationCSE 331 Spring 2018 Midterm
CSE 331 Spring 2018 Midterm Name There are 8 questions worth a total of 93 points. Please budget your time so that you get as many points as possible. We have done our best to make a test that folks can
More informationReferences: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1
References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,
More information1. Stack overflow & underflow 2. Implementation: partially filled array & linked list 3. Applications: reverse string, backtracking
Review for Test 2 (Chapter 6-10) Chapter 6: Template functions & classes 1) What is the primary purpose of template functions? A. To allow a single function to be used with varying types of arguments B.
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1: Introduction Lecture Contents 2 Course info Why programming?? Why Java?? Write once, run anywhere!! Java basics Input/output Variables
More informationObject Oriented Programming with Java
Object Oriented Programming with Java What is Object Oriented Programming? Object Oriented Programming consists of creating outline structures that are easily reused over and over again. There are four
More informationCOMP 202. Java in one week
COMP 202 CONTENTS: Basics of Programming Variables and Assignment Data Types: int, float, (string) Example: Implementing a calculator Java in one week The Java Programming Language A programming language
More informationDuring the first 2 weeks of class, all students in the course will take an in-lab programming exam. This is the Exam in Programming Proficiency.
Description of CPSC 301: This is a 2-unit credit/no credit course. It is a course taught entirely in lab, and has two required 2-hour 50-minute lab sessions per week. It will review, reinforce, and expand
More informationData Structures in C++ Using the Standard Template Library
Data Structures in C++ Using the Standard Template Library Timothy Budd Oregon State University ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Reading, Massachusetts Harlow, England Menlo
More informationAL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: if Single-Selection Statement CSC 209 JAVA I. week 3- Control Statements: Part I
AL GHURAIR UNIVERSITY College of Computing CSC 209 JAVA I week 3- Control Statements: Part I Objectives: To use the if and if...else selection statements to choose among alternative actions. To use the
More informationData Structures. BSc in Computer Science University of New York, Tirana. Assoc. Prof. Marenglen Biba 1-1
Data Structures BSc in Computer Science University of New York, Tirana Assoc. Prof. Marenglen Biba 1-1 General info Course : Data Structures (3 credit hours) Instructor : Assoc. Prof. Marenglen Biba Office
More informationCS 61B Data Structures and Programming Methodology. June David Sun
CS 61B Data Structures and Programming Methodology June 25 2008 David Sun Announcements Visit 387 Soda to arrange for after hours access to Soda Hall. Computer Science Undergraduate Association event:
More informationAssertions & Verification & Example Loop Invariants Example Exam Questions
2014 November 27 1. Assertions & Verification & Example Loop Invariants Example Exam Questions 2. A B C Give a general template for refining an operation into a sequence and state what questions a designer
More informationA Walkthrough of the Learning Aids
x Walkthrough A Walkthrough of the Learning Aids The pedagogical elements in this book work together to focus on and reinforce key concepts and fundamental principles of programming, with additional tips
More informationRepetition Structures
Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements
More informationArray Basics: Outline. Creating and Accessing Arrays. Creating and Accessing Arrays. Arrays (Savitch, Chapter 7)
Array Basics: Outline Arrays (Savitch, Chapter 7) TOPICS Array Basics Arrays in Classes and Methods Programming with Arrays Searching and Sorting Arrays Multi-Dimensional Arrays Static Variables and Constants
More informationCondition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution.
Repetition Structures Introduction to Repetition Structures Chapter 5 Spring 2016, CSUS Chapter 5.1 Introduction to Repetition Structures The Problems with Duplicate Code A repetition structure causes
More informationComputer Science II Lecture 1 Introduction and Background
Computer Science II Lecture 1 Introduction and Background Discussion of Syllabus Instructor, TAs, office hours Course web site, http://www.cs.rpi.edu/courses/fall04/cs2, will be up soon Course emphasis,
More informationCOMP 202 Java in one week
COMP 202 Java in one week... Continued CONTENTS: Return to material from previous lecture At-home programming exercises Please Do Ask Questions It's perfectly normal not to understand everything Most of
More informationClass 2: Variables and Memory. Laura Marik Spring 2012 C++ Course Notes (Provided by Jason Minski)
Class 2: Variables and Memory Variables A variable is a value that is stored in memory It can be numeric or a character C++ needs to be told what type it is before it can store it in memory It also needs
More informationSorting L7.2 Recall linear search for an element in an array, which is O(n). The divide-and-conquer technique of binary search divides the array in ha
Lecture Notes on Sorting 15-122: Principles of Imperative Computation Frank Pfenning Lecture 7 February 1, 2011 1 Introduction We have seen in the last lecture that sorted arrays drastically reduce the
More informationIntroduction to the Java Basics: Control Flow Statements
Lesson 3: Introduction to the Java Basics: Control Flow Statements Repetition Structures THEORY Variable Assignment You can only assign a value to a variable that is consistent with the variable s declared
More informationCOMP 202 Recursion. CONTENTS: Recursion. COMP Recursion 1
COMP 202 Recursion CONTENTS: Recursion COMP 202 - Recursion 1 Recursive Thinking A recursive definition is one which uses the word or concept being defined in the definition itself COMP 202 - Recursion
More informationSchool of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3
Course Title: Date: 3/30/2010 Course Number: Number of Credits: 3 Subject Area: Programming Subject Area Coordinator: Tim Downey email: downeyt@cis.fiu.edu Catalog Description: Basic concepts of data organization,
More informationIntroduction to Computing II (ITI 1121) Final Examination
Introduction to Computing II (ITI 1121) Final Examination Instructor: Marcel Turcotte April 2010, duration: 3 hours Identification Student name: Student number: Signature: Instructions 1. 2. 3. 4. 5. 6.
More informationName SECTION: 12:45 2:20. True or False (12 Points)
Name SECION: 12:45 2:20 rue or False (12 Points) 1. (12 pts) Circle for true and F for false: F a) Local identifiers have name precedence over global identifiers of the same name. F b) Local variables
More informationCSCI 136 Data Structures & Advanced Programming. Fall 2018 Instructors Bill Lenhart & Bill Jannen
CSCI 136 Data Structures & Advanced Programming Fall 2018 Instructors Bill Lenhart & Bill Jannen Administrative Details Class roster: Who s here? And who s trying to get in? Handout: Class syllabus Lecture
More informationMethods CSC 121 Fall 2014 Howard Rosenthal
Methods CSC 121 Fall 2014 Howard Rosenthal Lesson Goals Understand what a method is in Java Understand Java s Math Class Learn the syntax of method construction Learn both void methods and methods that
More informationa correct statement? You need to know what the statement is supposed to do.
Using assertions for correctness How can we know that software is correct? It is only correct if it does what it is supposed to do. But how do we know what it is supposed to do? We need a specification.
More informationAn introduction to Scheme
An introduction to Scheme Introduction A powerful programming language is more than just a means for instructing a computer to perform tasks. The language also serves as a framework within which we organize
More informationMathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10
Mathematics/Science Department Kirkwood Community College Course Syllabus Computer Science CSC142 Bob Driggs Dean Cate Sheller Instructor 1/10 Computer Science (CSC142) Course Description Introduces computer
More informationOutline. Computer Science 331. Desirable Properties of Hash Functions. What is a Hash Function? Hash Functions. Mike Jacobson.
Outline Computer Science 331 Mike Jacobson Department of Computer Science University of Calgary Lecture #20 1 Definition Desirable Property: Easily Computed 2 3 Universal Hashing 4 References Mike Jacobson
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationCOMP-202. Recursion. COMP Recursion, 2011 Jörg Kienzle and others
COMP-202 Recursion Recursion Recursive Definitions Run-time Stacks Recursive Programming Recursion vs. Iteration Indirect Recursion Lecture Outline 2 Recursive Definitions (1) A recursive definition is
More informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More informationReviewing all Topics this term
Today in CS161 Prepare for the Final Reviewing all Topics this term Variables If Statements Loops (do while, while, for) Functions (pass by value, pass by reference) Arrays (specifically arrays of characters)
More informationCOSC 1010 Introduction to Computer Programming
COSC 1010 Introduction to Computer Programming Exam 1, Spring 2016 Exam Duration: Sixty (60) Minutes The exam has three parts: Multiple Choice (17 points), Short Answer (30 points) and Programming (53
More informationData Abstraction & Problem Solving with C++: Walls and Mirrors 6th Edition Carrano, Henry Test Bank
Data Abstraction & Problem Solving with C++: Walls and Mirrors 6th Edition Carrano, Henry Test Bank Download link: https://solutionsmanualbank.com/download/test-bank-for-data-abstractionproblem-solving-with-c-walls-and-mirrors-6-e-carrano-henry/
More informationJump Statements. The keyword break and continue are often used in repetition structures to provide additional controls.
Jump Statements The keyword break and continue are often used in repetition structures to provide additional controls. break: the loop is terminated right after a break statement is executed. continue:
More informationBOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus
BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus 1. Course Objectives Welcome to MET CS342 Data Structures with Java. The intent of this
More informationCOS 126 General Computer Science Spring Written Exam 1
COS 126 General Computer Science Spring 2017 Written Exam 1 This exam has 9 questions (including question 0) worth a total of 70 points. You have 50 minutes. Write all answers inside the designated spaces.
More informationCurriculum Map Grade(s): Subject: AP Computer Science
Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History
More informationint: integers, no fractional part double: floating-point numbers (double precision) 1, -4, 0 0.5, , 4.3E24, 1E-14
int: integers, no fractional part 1, -4, 0 double: floating-point numbers (double precision) 0.5, -3.11111, 4.3E24, 1E-14 A numeric computation overflows if the result falls outside the range for the number
More informationChapter 2: Data and Expressions
Chapter 2: Data and Expressions CS 121 Department of Computer Science College of Engineering Boise State University August 21, 2017 Chapter 2: Data and Expressions CS 121 1 / 51 Chapter 1 Terminology Review
More informationCLASSIC DATA STRUCTURES IN JAVA
CLASSIC DATA STRUCTURES IN JAVA Timothy Budd Oregon State University Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Town Hong Kong Montreal CONTENTS
More informationProject 1. due date Sunday July 8, 2018, 12:00 noon
Queens College, CUNY, Department of Computer Science Object-oriented programming in C++ CSCI 211 / 611 Summer 2018 Instructor: Dr. Sateesh Mane c Sateesh R. Mane 2018 Project 1 due date Sunday July 8,
More informationAP Computer Science in Java Course Syllabus
CodeHS AP Computer Science in Java Course Syllabus College Board Curriculum Requirements The CodeHS AP Java course is fully College Board aligned and covers all seven curriculum requirements extensively
More informationCSE 373: Data Structures and Algorithms
CSE 373: Data Structures and Algorithms Lecture 6: Finishing Amortized Analysis; Dictionaries ADT; Introduction to Hash Tables Instructor: Lilian de Greef Quarter: Summer 2017 Today: Finish up Amortized
More informationReadability [Skrien 4.0] Programs must be written for people to read, and only incidentally for machines to execute.
Readability [Skrien 4.0] Programs must be written for people to read, and only incidentally for machines to execute. Abelson & Sussman Use a good set of coding conventions, such as the ones given in the
More informationTechnical Section. Lab 4 while loops and for loops. A. while Loops or for loops
Lab 4 while loops and for loops The purpose of this lab is to introduce you to the concept of a for loop, gain experience distinguishing between a while loop (which is a more general type of loop than
More informationCS113: Lecture 4. Topics: Functions. Function Activation Records
CS113: Lecture 4 Topics: Functions Function Activation Records 1 Why functions? Functions add no expressive power to the C language in a formal sense. Why have them? Breaking tasks into smaller ones make
More informationData Structures. Lecture 1: Introduction CSC212. Instructor: George Wolberg Department of Computer Science City College of New York
CSC212 Data Structures Lecture 1: Introduction Instructor: George Wolberg Department of Computer Science City College of New York George Wolberg, 2016 1 Outline of this lecture Course Objectives and Schedule
More informationCOMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette
COMP 250: Java Programming I Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette Variables and types [Downey Ch 2] Variable: temporary storage location in memory.
More informationFor undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture.
Page 1 of 5 Kip Publisher: Prentice Hall Copyright: 2007 Format: Cloth; 752 pp ISBN-10: 0132383101 ISBN-13: 9780132383103 Our Price: $99.00 Status: Instock Published: 06/16/2006 Description For undergraduate
More informationLoops and Files. Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz
Loops and Files Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Chapter Topics o The Increment and Decrement Operators o The while Loop o Shorthand Assignment Operators o The do-while
More informationContracts. Dr. C. Constantinides. June 5, Department of Computer Science and Software Engineering Concordia University Montreal, Canada 1/71
Contracts Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada June 5, 2018 1/71 Contracts in human affairs In human affairs we form legally
More informationCOMSC-051 Java Programming Part 1. Part-Time Instructor: Joenil Mistal
COMSC-051 Java Programming Part 1 Part-Time Instructor: Joenil Mistal Chapter 5 5 Controlling the Flow of Your Program Control structures allow a programmer to define how and when certain statements will
More informationCOLLEGE OF THE DESERT
COLLEGE OF THE DESERT Course Code CS-009 Course Outline of Record 1. Course Code: CS-009 2. a. Long Course Title: Data Structures and Algorithms b. Short Course Title: DATA STRUCTURES 3. a. Catalog Course
More informationProgramming refresher and intro to C programming
Applied mechatronics Programming refresher and intro to C programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2018 Outline 1 C programming intro 2
More informationAssertions & Verification Example Exam Questions
2009 November 23 Assertions & Verification Example Exam Questions 1. 2. A B C Give a general template for refining an operation into a sequence and state what questions a designer must answer to verify
More informationCSE wi Midterm Exam 2/8/18. Name UW ID #
Name UW ID # There are 11 questions worth a total of 120 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,
More informationLesson 5: Introduction to the Java Basics: Java Arithmetic THEORY. Arithmetic Operators
Lesson 5: Introduction to the Java Basics: Java Arithmetic THEORY Arithmetic Operators There are four basic arithmetic operations: OPERATOR USE DESCRIPTION + op1 + op2 Adds op1 and op2 - op1 + op2 Subtracts
More informationCIS133J. Working with Numbers in Java
CIS133J Working with Numbers in Java Contents: Using variables with integral numbers Using variables with floating point numbers How to declare integral variables How to declare floating point variables
More informationFlow of Control: Loops
Walter Savitch Frank M. Carrano Flow of Control: Loops Chapter 4 Java Loop Statements: Outline The while statement The do-while statement The for Statement Java Loop Statements A portion of a program that
More informationUEE1302(1066) F12: Introduction to Computers and Programming Function (II) - Parameter
UEE1302(1066) F12: Introduction to Computers and Programming Function (II) - Parameter What you will learn from Lab 7 In this laboratory, you will understand how to use typical function prototype with
More informationx = 3 * y + 1; // x becomes 3 * y + 1 a = b = 0; // multiple assignment: a and b both get the value 0
6 Statements 43 6 Statements The statements of C# do not differ very much from those of other programming languages. In addition to assignments and method calls there are various sorts of selections and
More informationLargest Online Community of VU Students
WWW.VUPages.com http://forum.vupages.com WWW.VUTUBE.EDU.PK Largest Online Community of VU Students MIDTERM EXAMINATION SEMESTER FALL 2003 CS301-DATA STRUCTURE Total Marks:86 Duration: 60min Instructions
More informationDept. of CSE, IIT KGP
Control Flow: Looping CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of Repeated Execution Loop: Group of
More informationHeaps in C. CHAN Hou Pong, Ken CSCI2100 Data Structures Tutorial 7
Heaps in C CHAN Hou Pong, Ken CSCI2100 Data Structures Tutorial 7 Review on Heaps A heap is implemented as a binary tree It satisfies two properties: MinHeap: parent = child]
More informationCT 229 Java Syntax Continued
CT 229 Java Syntax Continued 06/10/2006 CT229 Lab Assignments Due Date for current lab assignment : Oct 8 th Before submission make sure that the name of each.java file matches the name given in the assignment
More informationOn my honor I affirm that I have neither given nor received inappropriate aid in the completion of this exercise.
CS 2413 Data Structures EXAM 2 Fall 2017, Page 1 of 10 Student Name: Student ID # OU Academic Integrity Pledge On my honor I affirm that I have neither given nor received inappropriate aid in the completion
More informationProgramming Exercise 7: Static Methods
Programming Exercise 7: Static Methods Due date for section 001: Monday, February 29 by 10 am Due date for section 002: Wednesday, March 2 by 10 am Purpose: Introduction to writing methods and code re-use.
More informationCS 113 MIDTERM EXAM 2 SPRING 2013
CS 113 MIDTERM EXAM 2 SPRING 2013 There are 18 questions on this test. The value of each question is: 1-15 multiple choice (3 pts) 17 coding problem (15 pts) 16, 18 coding problems (20 pts) You may get
More informationCourse materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).
AP Computer Science A Advanced Placement Computer Science A is a fast-paced course equivalent to a college introductory programming class. Students will learn about the exciting kinds of problems tackled
More information