160 likes | 356 Views
Data Structures and Programming. CMPT 225. Instructor: Aaron Hunter Section: E300 Campus: Harbour Centre Semester: Spring 2007. What are we doing here?.
E N D
Data Structures and Programming CMPT 225 Instructor: Aaron Hunter Section: E300 Campus: Harbour Centre Semester: Spring 2007
What are we doing here? “Solving problems is a practical art, like swimming, skiing, or playing the piano: you can learn it only by imitation and practice…. if you wish to learn swimming you have to go in the water, and if you wish to be a problem solver you have to solve problems.” - George Polya
The Course • Data Structures • how we manage information in a useful way • Programming • implementing the structures in OOP • This is a programming course… but it is not a course about a particular language
Where did you come from? • Many different backgrounds for this course • Java / C++ / C • Computing Science / Engineering / other • Officially: • this course is language independent • In practice: • this session will use Java as the primarly language
One Thing in Common • You should all have taken MACM 101… unless you have special permission to skip it • You will be expected to know that material when it comes up • e.g. graphs, basic logic
Topics • Abstract data types • encapsulation and information hiding, public interfaces. • Data Structures • lists, stacks and queues, trees, hash tables. • Algorithms • searching and sorting, time and space efficiency analysis. • Programming • object-oriented design and programming issues as well as recursive programming.
Evaluation • Labs: 10% • Assignments: 20% • Midterm: 20% • Final: 50%
Labs • You MUST be in LAB5 • HC 7050, Wednesdays at 5:30 • can we move this? • Possibilities: • later on Wednesdays? • different day • we could extend lecture to 3 hours, lab opposite day • need a unanimous decision
Labs • Starting in week 2 • Normally these are relatively straightforward tasks • Due at the end of lab time • Marked by TA, out of 4 • participation/attendance • understanding • finished work
Assignments • Four assignments • Tentative due dates posted on course website • Larger, problem-solving type tasks • all work is individual • Due at midnight on due date
Exams • Midterm • Feb. 20 (tentative) • Final • Tuesday April 10, 7:00-10:00 • No calulators, computers, etc. • Covers all readings, lecture notes, and things said in class
References • Data Abstraction & Problem Solving with Java - Walls and Mirrors (2nd Edition), F. M. Carrano & J. J. Prichard, Addison Wesley, 2005 • There is also a C++ version • Online references will be posted on the website • These notes will be posted following lectures
The Course Website • http://www.cs.sfu.ca/CC/225/amhunter • All labs, assignments, notes, examples, policies, etc. will be posted there • Material will generally be posted following the corresponding lecture
Assigned Readings • These are also posted on the website • Please read the readings before the assigned class • Most readings are from the textbook, but there may be outside readings later • For the most part, we will be covering the text book material in order
Harbour Centre • This is the first year CMPT courses have been offered at HC • So far so good… but there are some issues • limited office time • only windows machines available • exam/class conflicts can occur
Anything Else? • Questions? • More topics? • Suggestions?