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 – 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 questions to me I will answer in the wiki.
Program #1 Off to the wiki!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”.