CS 280 Data Structures Professor John Peterson. Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries.

Slides:



Advertisements
Similar presentations
CS 410 Applied Algorithms Applied Algorithms Lecture #7 Counting.
Advertisements

Intro to CIT 594
CSE Spring 2015 INTERMEDIATE PROGRAMMING
Computers and Society Lecture 1: administrative details and an introduction to the class Professor: Evan Korth New York University.
E-commerce Project Erik Zeitler Erik Zeitler2 Lab 2  Will be anounced and scheduled later  We will deploy Java Server Pages on a Tomcat server.
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
Intro to CIT 594
CS 280 Data Structures Professor John Peterson. Project Not a work day but I’ll answer questions as long as they keep coming! I’ll try to leave the last.
CS 280 Data Structures Professor John Peterson. Quiz 4 Recap Consider the following array: {2, 6, 7, 3, 4, 1, 5, 9}. Draw this in tree form and then show.
CS 280 Data Structures Professor John Peterson. Project Questions?
CS 280 Data Structures Professor John Peterson. Test #1 We’ll do a test next week on Wednesday. It will take the entire period. You can have 1 page of.
CS 280 Data Structures Professor John Peterson. Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries.
CSIS-385: Algorithm Analysis ► I am Dr. Breimer ► Br-Eye-mer ► I like ► Office hours: 1:35-2:30 everyday ► Drop by randomly at your own risk.
CS 280 Data Structures Professor John Peterson. Test #1 We’ll do a test next week on Wednesday. It will take the entire period. You can have 1 page of.
Professor John Peterson
CS 280 Data Structures Professor John Peterson. Big O Notation We use a mathematical notation called “Big O” to talk about the performance of an algorithm.
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
CIS 235: Networks Fall, 2007 Western State College Welcome to CIS 235 Computer Networks Fall, 2007 Prof Peterson.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
Natural Environments: The Atmosphere GG 101 – Spring 2005 Boston University Professor: Ranga B. Myneni Office: Room 449 Stone Science Building (675 Commonwealth.
Object-Oriented Enterprise Application Development Course Introduction.
Intro to CIT 594
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
PLEASE GRAB A SEAT ANYWHERE FOR NOW. Welcome to the CMSC 201 Class!!! Mr. Lupoli ITE 207.
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
MGS 351 Introduction to Management Information Systems
{ CS203 Lecture 7 John Hurley Cal State LA. 2 Execution Time Suppose two algorithms perform the same task such as search (linear search vs. binary search)
CS1022 Computer Programming & Principles Lecture 1.2 A brief introduction to Python.
Week 6 - Wednesday.  What did we talk about last time?  Exam 1 post-mortem  Recursive running time.
Introduction to Databases Computer Science 557 September 2007 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
1 Principles of Computer Science I Note Set 1 CSE 1341.
BIT 142:Programming & Data Structures in C#. BIT 143  Offered next term  Continues where this leaves off  A couple of weeks to review OOP, object composition,
Introduction to Data Structures
BIT 142:Programming & Data Structures in C#. A2 due date  A2 is due this Friday, June 12 th, by 11:30am BIT 142: Intermediate Programming2.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Fall 2o12 – August 27, CMPSC 202 First Day Handouts  Syllabus  Student Info  Fill out, include all classes and standard appointments  Return.
Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Your Roadmap for Success Alice: “Would you tell me, please, which way I ought to go from here?" Cat: "That's depends a good deal on where you want to get.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
1 Daily Announcements CS 202, Spring 2007 Aaron Bloomfield.
Class Info. Course Website Full version of syllabus will be available there as well.
Welcome to CIS 235 Computer Networks Fall, 2007 Prof Peterson.
Introduction to CIS Jan-16.
CS12230 Introduction to Programming Lecture 6-2 –Errors and Exceptions 1.
Dr. Sajib Datta CSE Spring 2016 INTERMEDIATE PROGRAMMING.
Data Structures and Algorithms in Java AlaaEddin 2012.
Special Methods in Java. Mathematical methods The Math library is extensive, has many methods that you can call to aid you in your programming. Math.pow(double.
CS2852 Week 2, Class 2 Today Big-O runtime analysis Linked Lists Muddiest Point Lab Quiz Includes writing a method from ArrayList class (See next slide)
Introduction to CIT Mar-16.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
CS 274: Internet Programming
CS1022 Computer Programming & Principles
CSc 020: Programming Concepts and Methodology II
Big-O notation.
Computer Science 102 Data Structures CSCI-UA
CS 201 – Data Structures and Discrete Mathematics I
CS 201 – Data Structures and Discrete Mathematics I
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Welcome to CS 1010! Algorithmic Problem Solving.
Building Java Programs
Welcome to CS 1010! Algorithmic Problem Solving.
Overview Basic Information Lecture Labs Lab Reports Homework Exams
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Presentation transcript:

CS 280 Data Structures Professor John Peterson

Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries (ArrayList) Understand performance issues Understand algorithm design patterns Use recursion in code and structure

Class Calendar Wednesday: homework is due Wednesday: 20 minute work period Friday: project is due Friday: 10 minute quiz 3 big tests (every 5 weeks – there WILL be a final!)

Late Work Homework / project is due at the start of class on the date due. Submit via . Assignments may be submitted at the start of the class after the due date for 1 letter grade off. Any later will not be accepted Solutions to programs will be available

Syllabus DYNs Academic Honesty Seminars Web page (wiki.western.edu)

Getting Help Work together Talk to me USE THE WIKI! When you ask via the wiki everyone benefits. If you questions to me I will answer in the wiki.

Program #1 Off to the wiki!wiki

NetBeans Let’s take a brief tour. I won’t be lecturing much on Netbeans but you need to spend time understanding the various features.

Understanding Performance We want to study how fast a program runs. The speed is usually dependent on one or more parameters. For simplicity, we’ll assume that these is a single parameter, N, that represents some aspect of the program input. For sorting, N = number of elements to sort

Performance We don’t care about absolute performance – only relative performance. That is, if we double n, does the time it takes to run the program double? Triple? Many things affect performance (like what?) – we will ignore everything except the “statement count”.

Big O Notation We use a mathematical notation called “Big O” to talk about the performance of an algorithm. O(n 2 ) means that an algorithm runs in time proportional to n 2 (the “size” of the input squared). Note that there is no constant – it’s not 23n 2 or something like that – this compares general algorithms to each other. Constant factors are hard to measure and understand!