1 / 10

Introduction to CMPT 225

Introduction to CMPT 225. What’s on the menu?. • Grading. • Who’s who. • Course content. • The story of life. Introduction to CMPT 225. Grading.

edita
Download Presentation

Introduction to CMPT 225

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to CMPT 225

  2. What’s on the menu? • Grading • Who’s who • Course content • The story of life Introduction to CMPT 225

  3. Grading Academic Honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty are subject to disciplinary action by the School; serious infractions are dealt with in accordance with the Code of Academic Honesty (T10.02) You must attain an overall passing grade on these to obtain a clear pass: a grade of C or better. Midterm: 25% Final: 40% Assignments: 23% 5 assignments, 6 labs Labs: 12% Quizzes are bonus to assignments/labs Quizzes: 4% Introduction to CMPT 225

  4. Course Content For a given problem, you will be able to: • Construct an abstract solution (modular design) • Select an appropriate data structure (Lists, Stacks, Trees…) Each component will manipulate data. • Use these structures in an efficient way (algorithm design) • Implement the solution in Java (programming techniques) Solution with several components This data is stored in the computer in a certain way. Messy description of problem from customers Introduction to CMPT 225

  5. An example of what this is all about Our customer: SFU’s administration. What they want: keeping track of students. First step of design: what are the components we are dealing with? A student component, and a set of students. Second step of design: what are main operations on students? The administration will search for students and add students. What data structures do we have? Introduction to CMPT 225

  6. An example of what this is all about In a linked list: • When a new student comes, he simply connects to the previous Adding a student is immediate (doesn’t depend on n) : O(1). • To find a student, we go through the list ‘til the end or ‘til we find. If there are n students, that can take at most O(n) time steps. What data structures do we have? Introduction to CMPT 225

  7. An example of what this is all about In a binary tree: • When a new student A comes, it takes the right hand of a student B ID(B) > ID(A) and the left hand otherwise. Adding takes longer than in the list, but what about searching? 6 8 3 5 9 What data structures do we have? Introduction to CMPT 225

  8. An example of what this is all about If you now learn that SFU’s administration searches students 80% of the time and insert new students 20% of the time, which data structure would you recommand? A binary tree. Intuition : insertion is slower than in a linked list, but searching is faster. Introduction to CMPT 225

  9. This course and other ones at SFU If we describe a simple task, you can program it. CMPT 101, 104, 125, 126 or 128; or CMPT 128. Start finding out the components of a program. CMPT 225. Program efficiently. CMPT 307. CMPT 275. CMPT 383. Introduction to CMPT 225

  10. The story of life Specification Design Risk Analysis Step 1: Figure out what your customer wants you to do. Step 2: Find the components of the problem and abstract it. Step 3: That’s a business, you pay people, time costs money. Documentation. Distribute Verification Step 4: Theoretical tools can ensure that your design works before you actually implement it. Refining Testing Coding Step 5: At some point, you actually have to write something… Step 7: If you have more time, you can always improve things. Step 8: Eventually, you may want people to use your software. Step 6: …and it’s better if it’s written correctly. Introduction to CMPT 225

More Related