CSSE221: Software Dev. Honors Day 3 Announcements Announcements Should get in habit of checking in BigRational code as you go Should get in habit of checking.

Slides:



Advertisements
Similar presentations
Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University
Advertisements

HST 952 Computing for Biomedical Scientists Lecture 10.
ALG0183 Algorithms & Data Structures Lecture 3 Algorithm Analysis 8/25/20091 ALG0183 Algorithms & Data Structures by Dr Andy Brooks Weiss Chapter 5 Sahni.
WISTPC-09 : Session A Tariq M. King PhD Candidate Florida International University Workshop on Integrating Software Testing into Programming.
Computer Science II Recursion Professor: Evan Korth New York University.
Analysis of Algorithms intro.  What is “goodness”?  How to measure efficiency? ◦ Profiling, Big-Oh  Big-Oh: ◦ Motivation ◦ Informal examples ◦ Informal.
1-1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
DATA STRUCTURES INTRODUCTION CSC 172 SPRING 2004.
ICS 201 Course Overview.
CMSC 132: Object-Oriented Programming II
CSSE221: Software Dev. Honors Day 10 Announcements Announcements Fifteen due Monday 11:59 pm. Monday will be a workday. Fifteen due Monday 11:59 pm. Monday.
CSSE221: Fundamentals of Software Development Honors Matt Boutell Olin 169 Don’t plug in your laptop just yet… And think of something memorable about yourself.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CSSE221: Software Dev. Honors Day 16 Announcements Announcements Markov due Wednesday 11:59 pm Markov due Wednesday 11:59 pm Homework 6 due next Tuesday,
CSSE221: Software Dev. Honors Day 4 Pass in Runtime Assignment now to assistants Pass in Runtime Assignment now to assistants Announcements Announcements.
CSSE221: Software Dev. Honors Day 2 Announcements Announcements Homework due now Homework due now Any problems committing JavaEyes to Subversion? Any problems.
1-1 ICS201: Introduction To Computer Science King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer.
Course Material: webcourses.kfupm.edu.sa
CS 280 Data Structures Professor John Peterson. Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries.
CSSE221: Software Dev. Honors Day 23 Announcements: Announcements: Pass in yesterday’s capsule quiz Pass in yesterday’s capsule quiz Homework 7 electronic.
Chapter 2: Algorithm Analysis Application of Big-Oh to program analysis Running Time Calculations Lydia Sinapova, Simpson College Mark Allen Weiss: Data.
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
CSSE221: Software Dev. Honors Day 18 Announcements Announcements Markov, some capsules coming back Markov, some capsules coming back Due this week: Due.
Analysis of Algorithms 7/2/2015CS202 - Fundamentals of Computer Science II1.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Analysis of Algorithms CPS212 Gordon College. Measuring the efficiency of algorithms There are 2 algorithms: algo1 and algo2 that produce the same results.
CS0007: Introduction to Computer Programming Introduction to Arrays.
CS1101: Programming Methodology Aaron Tan.
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
1 CSSE151: Fundamentals of Computer Science I Course Overview.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
Algorithm Input Output An algorithm is a step-by-step procedure for solving a problem in a finite amount of time. Chapter 4. Algorithm Analysis (complexity)
Introduction. 2COMPSCI Computer Science Fundamentals.
COMP 232 Intro Lecture. Introduction to Course Me – Dr. John Sigle Purpose/goals of the course Purpose/goals Prerequisites - COMP 132 (Java skill & Eclipse)
Lecture 10: Class Review Dr John Levine Algorithms and Complexity March 13th 2006.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Searching. RHS – SOC 2 Searching A magic trick: –Let a person secretly choose a random number between 1 and 1000 –Announce that you can guess the number.
Bilgisayar Mühendisliği Bölümü CENG 102 – Computer Programming Melek OKTAY Syllabus Administrative Information.
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Sorting Algorithms Data Structures & Problem Solving Using JAVA Second Edition Mark Allen Weiss Chapter 8 © 2002 Addison Wesley.
Stacks and Queues Data Structures & Problem Solving Using JAVA Second Edition Mark Allen Weiss Chapter 16 © 2002 Addison Wesley.
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Software Development CSCI-1302 Lakshmish Ramaswamy.
Recursion Data Structures & Problem Solving Using JAVA Second Edition Mark Allen Weiss Chapter 7 © 2002 Addison Wesley.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Intro to CIT 594
Structured Design of Algoritms M.C. Juan Carlos Olivares Rojas Course Syllabus January, 2009.
Linked Lists Data Structures & Problem Solving Using JAVA Second Edition Mark Allen Weiss Chapter 17 © 2002 Addison Wesley.
CSC 212 Sequences & Iterators. Announcements Midterm in one week  Will cover through chapter 5 of book  Midterm will be open book, open note (but, closed.
CS 173, Lecture B Tandy Warnow. Topics for today Reminder about Examlet on Tuesday My office hours next week: –Tuesday 2-3 PM and Thursday 3-4 PM Office.
CSC 213 – Large Scale Programming. Today’s Goal  Understand why testing code is important  Result of poor or no testing & embarrassment caused  Learn.
Written by: Dr. JJ Shepherd
The Department of Engineering Science The University of Auckland Welcome to ENGGEN 131 Engineering Computation and Software Development Lecture 2 Debugging,
Data Structures and Algorithms in Java AlaaEddin 2012.
Course Introductions.  Introduction to java  Basics of Java  Classes & Objects  Java Collections and APIs  Algorithms and their analysis  Recursion.
Reference Types Data Structures & Problem Solving Using JAVA Second Edition Mark Allen Weiss Chapter 2 © 2002 Addison Wesley.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
A High Flying Overview CS139 – Fall 2006 How far we have come.
CS 100Lecture 231 Announcements Check your grades on the door of 5141 Upson More review tomorrow Review session Sunday night w/Alan FINAL EXAM: Tuesday.
Building Comfort With MATLAB
CMSC201 Computer Science I for Majors Lecture 20 – Recursion (Continued) Prof. Katherine Gibson Based on slides from UPenn’s CIS 110, and from previous.
COMP9024: Data Structures and Algorithms
CSC207 Fall 2016.
Freshman Engineering Clinic II
مفاهیم بهره وري.
UNIT TESTING TOOLS Workshop on Integrating Software
Presentation transcript:

CSSE221: Software Dev. Honors Day 3 Announcements Announcements Should get in habit of checking in BigRational code as you go Should get in habit of checking in BigRational code as you go Roll call again Roll call again Lab hours Sunday – Thursday, 7:00 – 9:00 pm Lab hours Sunday – Thursday, 7:00 – 9:00 pm Don’t need to bring book to class if you are familiar with the reading for that day and don’t need to reference it in class. Don’t need to bring book to class if you are familiar with the reading for that day and don’t need to reference it in class. Any questions? Any questions? Course mechanics? Syllabus? Angel? Course mechanics? Syllabus? Angel? BigRational? BigRational? Interfaces? Interfaces?

This week: BigRational assignment Yesterday: Yesterday: API (Application Programming Interface) API (Application Programming Interface) Interfaces: writing to a contract Interfaces: writing to a contract Today: Today: Unit Testing: searching for logic errors Unit Testing: searching for logic errors Introduction to efficiency analysis: “big-Oh” Introduction to efficiency analysis: “big-Oh” Thursday: Thursday: Exceptions: throwing and catching Exceptions: throwing and catching

Unit Testing What do you think it is? What do you think it is? Testing parts of your code in isolation before putting them all together Testing parts of your code in isolation before putting them all together Why is it a good thing? Why is it a good thing? How do I write good test cases? How do I write good test cases? How easy is it to do it in Eclipse? How easy is it to do it in Eclipse? Fairly so, with JUnit Fairly so, with JUnit Let’s see. Open Projects/UnitTesting and do it together now. Let’s see. Open Projects/UnitTesting and do it together now.

Break

Efficiency is important! Example? Example? Depends on both hardware and software aspects Depends on both hardware and software aspects We’ll focus on the algorithms used We’ll focus on the algorithms used Some are inherently complex Some are inherently complex Assume time spent is a function of the size of the input Assume time spent is a function of the size of the input Example: looping through an array Example: looping through an array Big-Oh focuses on the most important part of the function! Big-Oh focuses on the most important part of the function! Now: plot y=18x + 5, y=18x, y = 5x, y=x 2 Which grows most quickly?

Efficiency is important! Now: plot y=18x + 5, y=18x, y = 5x, y=x 2 Which grows most quickly? y=x 2 y = 5x y=18x y=18x + 5

Figure 5.1 Running times for small inputs Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley (linear looks constant for small inputs)

Figure 5.2 Running times for moderate inputs Data Structures & Problem Solving using JAVA/2E Mark Allen Weiss © 2002 Addison Wesley

Exercise Generate graphs like this from simple code that you write. Our goal is to be able to complete these statements, given the patterns you see: Generate graphs like this from simple code that you write. Our goal is to be able to complete these statements, given the patterns you see: a single loop leads to code that is O(???) a single loop leads to code that is O(???) a nested loop leads to code that is O(???) a nested loop leads to code that is O(???) … Go to Projects/Runtime Exploration. Go to Projects/Runtime Exploration. This mini-homework will be handed in next class. This mini-homework will be handed in next class.