90 likes | 161 Views
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.
E N D
CS 280Data 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 email. • 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 – please DON’T use the solutions passed out last year. I’ll be changing the assignments somewhat. • Seminars – note the bonus for attending! • Web page (wiki.western.edu)
Getting Help • Work together – the study sessions in the library are great! • Talk to me • USE THE WIKI! When you ask via the wiki everyone benefits. If you email questions to me I will answer in the wiki.
Program #1 Off to the wiki!
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”.