CSC 1051 Algorithms and Data Structures I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Similar documents
CSC 1051 Algorithms and Data Structures I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Algorithms in everyday life. Algorithms. Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Algorithms and Conditionals

Algorithms in everyday life. Algorithms. Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Control flow, conditionals, boolean expressions, block statements, nested statements. Course website:

Improved algorithm. Java code. Control flow and conditionals CSC 1051 Villanova University. Dr Papalaskari 1. Java Programè Algorithm

Java code. Updated program. Control flow and conditionals CSC 1051 Villanova University. Dr Papalaskari 1. Java Programè Algorithm. Improved algorithm

CSC 1051 Data Structures and Algorithms I

Java I/O and Control Structures Algorithms in everyday life

Java I/O and Control Structures

CSC 1051 Villanova University. CSC 1051 Data Structures and Algorithms I. Course website:

CSC 1051 Data Structures and Algorithms I

Selection and Repetition Revisited

CSC 1051 Data Structures and Algorithms I

Selection Statements and operators

Selection and Repetition

Selection and Repetition Revisited

2: Basics of Java Programming

Selection Statements and operators

Conditional Statements

Selection and Repetition

Introduction to Arrays

Lecture 3: Variables and assignment

Iterators and File Input

CSC 1051 Data Structures and Algorithms I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Java Bootcamp - Villanova University. CSC 2014 Java Bootcamp. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Arrays, Part 3: Multidimensional arrays

I/O Streams. program. Standard I/O. File I/O: Setting up streams from files. program. File I/O and Exceptions. Dr. Papalaskari 1

I/O Streams. program. Standard I/O. File I/O: Setting up streams from files. program. File I/O and Exceptions. Dr. Papalaskari 1

Basics of Java Programming variables, assignment, and input

Using Classes and Objects

I/O Streams. program. Standard I/O. File I/O: Setting up streams from files. program. File I/O and Exceptions. Dr. Papalaskari 1

CSC 1051 Algorithms and Data Structures I. Midterm Examination October 6, Name:

File I/O and Exceptions

CSE 8A Lecture 12. Reading for next class: : Sounds! Today s topics: Logical Operators:! && Start PSA 6: Chromakey!

Introduction to Computer Science Unit 2. Exercises

CSC 1051 Algorithms and Data Structures I. Midterm Examination October 7, Name:

Exam 2. Programming I (CPCS 202) Instructor: M. G. Abbas Malik. Total Marks: 40 Obtained Marks:

CSC 1051 Algorithms and Data Structures I. Midterm Examination February 24, Name: KEY 1

Arrays - Review. Initializer Lists. The for-each Loop. Arrays, Part 2. Dr. Papalaskari 1. CSC 1051 Data Structures and Algorithms I

Mid Term Exam 1. Programming I (CPCS 202) Instructor: M. G. Abbas Malik Date: Sunday November 3, 2013 Total Marks: 50 Obtained Marks:

CSC 1051 Data Structures and Algorithms I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

AL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: Text-printing program. CSC 209 JAVA I

Data Representation Classes, and the Java API

CSC 1051 Algorithms and Data Structures I. Midterm Examination February 25, Name: KEY A

CS111: PROGRAMMING LANGUAGE II

Java Coding 3. Over & over again!

CONTENTS: Compilation Data and Expressions COMP 202. More on Chapter 2

Data Representation and Applets

Oct Decision Structures cont d

COMP 202. Programming With Iterations. CONTENT: The WHILE, DO and FOR Statements. COMP Loops 1

Using Classes and Objects

COMP 202 Java in one week

AYBUKE BUYUKCAYLI KORAY OZUYAR MUSTAFA SOYLU. Week 21/02/ /02/2007 Lecture Notes: ASCII

Fundamentals of Programming Data Types & Methods

Menu Driven Systems. While loops, menus and the switch statement. Mairead Meagher Dr. Siobhán Drohan. Produced by:

Applets and the Graphics class

COMP 202. Java in one week

Using Classes and Objects

Data Representation and Applets

Name: Checked: Preparation: Response time experiment accessing the system clock

CMSC 150 INTRODUCTION TO COMPUTING LAB WEEK 3 STANDARD IO FORMATTING OUTPUT SCANNER REDIRECTING

Chapter 3. Selections

Module 3 SELECTION STRUCTURES 2/15/19 CSE 1321 MODULE 3 1

Data Representation and Applets

CSC 1051 Algorithms and Data Structures I. Midterm Examination October 11, Name: KEY

CSC1590 Java Assignment 2-0. User Defined Classes

1. [3 pts] What is your section number, the period your discussion meets, and the name of your discussion leader?

CSC 2014 Java Bootcamp. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Name: Checked: Preparation: Response time experiment accessing the system clock

H212 Introduction to Software Systems Honors

Tutorial 03. Exercise 1: CSC111 Computer Programming I

Faculty of Science COMP-202A - Introduction to Computing I (Fall 2008) Midterm Examination

Supplementary Test 1

Arrays - Review. Two-Dimensional Arrays. Arrays, Part 2. Dr. Papalaskari 1. CSC 1051 Data Structures and Algorithms I

AP COMPUTER SCIENCE A

CSC 1051 Algorithms and Data Structures I. Midterm Examination February 26, Name: Key

Introduction to Computer Science Unit 2. Notes

CS111: PROGRAMMING LANGUAGE II

Lab 6. Name: Checked:

CONTENTS: While loops Class (static) variables and constants Top Down Programming For loops Nested Loops

CSC 1051 Data Structures and Algorithms I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Designing Classes. Where do objects come from? Where do objects come from? Example: Account datatype. Dr. Papalaskari 1

CSE 1223: Introduction to Computer Programming in Java Chapter 3 Branching

CSC 1051 Data Structures and Algorithms I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

CSC141, Computer Science I, Instructor: Dr. Zhen Jiang, Test 2

Control Structures: if and while A C S L E C T U R E 4

C212 Early Evaluation Exam Mon Feb Name: Please provide brief (common sense) justifications with your answers below.

Question 1 [20 points]

Programming with Java

King Saud University College of Computer and Information Sciences Computer Science Department

Over and Over Again GEEN163

CSC Algorithms and Data Structures I. Midterm Examination February 25, Name:

Conditional Programming

Mr. Monroe s Guide to Mastering Java Syntax

Exam 1. Programming I (CPCS 202) Instructor: M. G. Abbas Malik. Total Marks: 45 Obtained Marks:

Chapter. Let's explore some other fundamental programming concepts

Chapter 1 Lab Algorithms, Errors, and Testing

Transcription:

Algorithms CSC 1051 Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Some slides in this presentation are adapted from the slides accompanying Java Software Solutions by Lewis & Loftus or from Dr. Daniel Joyce s slides for this course.

Algorithms An algorithm is a specific set of instructions for carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point. Specific algorithms sometimes also go by the name method, procedure, or technique. The word "algorithm" is a distortion of al-khwārizmī, a Persian mathematician who wrote an influential treatise about algebraic methods. Sources: http://mathworld.wolfram.com/algorithm.html and Wikipedia ( http://en.wikipedia.org/wiki/mu%e1%b8%a5ammad_ibn_m%c5%abs%c4%81_al-khw%c4%81rizm%c4%ab )

Algorithms in everyday life Source: http://xkcd.com/627/

Algorithm Example Statement of GPA problem: Write a program that inputs the credits and quality points earned and outputs the gpa. variables: qp, credits, gpa Pseudocode: describe steps of algorithm in simple, unambiguous language 3. gpa = qp / credits 4. Print gpa

Java Program è // GPA.java Author: Joyce/Papalaskari // Demonstrates the use of Scanner input and s //********************************************* import java.util.scanner; public class GPA public static void main (String[] args) //------------------------------------------ // Inputs the quality points and credits an //------------------------------------------ double qp, credits, gpa; variables: qp, credits, gpa 3. gpa = qp / credits 4. Print gpa Scanner scan = new Scanner(System.in); // get input System.out.print ("Enter Quality Points > qp = scan.nextint(); System.out.print ("Enter Credits > "); credits = scan.nextint(); // output information entered System.out.println ("\nquality Points: " System.out.println ("Credits: " + // calculate and output GPA gpa = qp / credits; System.out.println ("\n\tgpa: " + gpa);

Writing an algorithm in pseudocode List the variables used. List the steps for solving the problem, in order. Try to be brief and unambiguous; use Java expressions only when it is simpler to specify a step in java than in English. variables: qp, credits, gpa 3. gpa = qp / credits 4. Print gpa

Writing an algorithm in pseudocode List the variables used. List the steps for solving the problem, in order. Try to be brief and unambiguous; use Java expressions only when it is simpler to specify a step in java than in English. When the type is not obvious you can add a note. variables: qp, credits, gpa (use floating point) 3. gpa = qp / credits (Note: use floating point division) 4. Print gpa

Example: Algorithm for computing total seconds PP 2.8 (textbook, Chapter 2 Programming projects) Write an application that reads values representing a time duration in hours, minutes, and seconds and then prints the equivalent total number of seconds. Eg: 1 hour, 28 min, 42 sec is equivalent to 5322 seconds.)

Example: Algorithm for computing hours, minutes, seconds from totalsec PP 2.9 (textbook, Chapter 2 Programming projects) Create a version of the previous project that reverses the computation. That is, read a value representing a number of seconds, then print the equivalent amount of time as a combination of hours, minutes, and seconds. Eg: 9999 seconds is equivalent to 2 hours, 46 min, 39 sec

Topic Thread 2.1 Character Strings 2.2 Variables, Assignment 2.3 Data Types, in particular int, double 2.4 Expressions (simple) 2.6 Interactive Programs 5.1 Boolean Expressions 5.2 The if Statement 5.5 The while Statement

Previous Example Java Program è // GPA.java Author: Joyce/Papalaskari // Demonstrates the use of Scanner input and s //********************************************* import java.util.scanner; variables: qp, credits, gpa public class GPA public static void main (String[] args) //------------------------------------------ // Inputs the quality points and credits an //------------------------------------------ double qp, credits, gpa; Scanner scan = new Scanner(System.in); 3. gpa = qp / credits 4. Print gpa // get input System.out.print ("Enter Quality Points > qp = scan.nextint(); System.out.print ("Enter Credits > "); credits = scan.nextint(); // output information entered System.out.println ("\nquality Points: " System.out.println ("Credits: " + What if credits = 0???? // calculate and output GPA gpa = qp / credits; System.out.println ("\n\tgpa: " + gpa);

variables: qp, credits, gpa Updated Algorithm 3. if credits equals 0 Print No gpa yet else gpa = qp / credits Print gpa 4. Print gpa goodbye message

variables: qp, credits, gpa 3. if credits equals 0 Print No gpa yet else gpa = qp / credits Print gpa 4. Print gpa goodbye message if (credits == 0) else Java code System.out.println ( \n\tgpa: gpa = qp / credits; None"); System.out.println ( \n\tgpa: " + gpa);

Updated program è variables: qp, credits, gpa 3. if credits equals 0 Print No gpa yet else gpa = qp / credits Print gpa 4. Print goodbye message import java.util.scanner; public class GPA_Updated public static void main (String[] args) //-------------------------------------------------- // Reads the quality points and credits and calcula //-------------------------------------------------- double qp, credits, gpa; Scanner scan = new Scanner(System.in); // get input System.out.print ("Enter Quality Points > "); qp = scan.nextint(); System.out.print ("Enter Credits > "); credits = scan.nextint(); // output information entered System.out.println ("\nquality Points: " + qp); System.out.println ("Credits: " + credits) // calculate and output GPA, if possible if (credits == 0) System.out.println ("\n\tgpa: None"); else gpa = qp / credits; System.out.println ("\n\tgpa: " + gpa); // Print goodbye message System.out.println ("Goodbye and thank you for us