1 / 24

CS2210 Data Structures and Algorithms Lecture 1: Course Overview

CS2210 Data Structures and Algorithms Lecture 1: Course Overview. Instructor: Olga Veksler. What is this course about?. We will study moderately complex data structures and algorithms that are essential in core areas of computer science Compilers Operating Systems Database Systems

carrington
Download Presentation

CS2210 Data Structures and Algorithms Lecture 1: Course Overview

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. CS2210Data Structures and AlgorithmsLecture 1: Course Overview Instructor: Olga Veksler

  2. What is this course about? • We will study moderately complex data structures and algorithms that are essential in core areas of computer science • Compilers • Operating Systems • Database Systems • Search Engines • etc. • This is one of the most important (and fun) courses you will take • Prerequisite for almost all other upper year courses Analysis of Algorithms

  3. Simple data structures you have seen Data structure = representation and operations associated with a data type Tree Array Set/bag Analysis of Algorithms

  4. Simple algorithms you have seen • Binary search • Bubble sort • Quick sort Analysis of Algorithms

  5. Knowledge Assumed • We assume you know basic data structures • Arrays, bags, lists, stacks, queues, linked lists • Functions, logarithms, exponents, sets, series, derivatives, limits • Abstract Data types • Basic object oriented design concepts • abstraction, encapsulation, modularity Analysis of Algorithms

  6. Skills Assumed • We assume you know how to program in Java • can design, implement, test, debug, read, understand and document relatively simple Java programs • including simple recursive code • This is not a course on Java. If you don’t know Java, start learning it now, before the programming assignments are due! • Books, tutorials on the web, etc. • Chapter 1 of our text book (Goodrich&Tamassia) gives a good introduction to Java Analysis of Algorithms

  7. What will you learn? • Analysis of moderately complex algorithms • How to predict algorithm’s performance • time and space complexity • Algorithm correctness • Moderately complex data structures that let us efficiently store, access, manage data • How to solve practical problems efficiently by choosing the appropriate data structures and algorithms Analysis of Algorithms

  8. Topics Covered • Analysis of algorithms • Time and space complexity • Correctness • Data Structures • Dictionaries, hash tables • Priority queues and heaps • Trees, binary search trees, multi-way search trees • Graphs • Algorithms • Binary Search, sorting, algorithms on trees and graphs • Java Interfaces; Java exceptions Analysis of Algorithms

  9. Contact Info • Instructor Information • Olga Veksler • Lectures: Tu 1:30-3:30, Th 2:30-3:30 • Office hours: Wed 10-12 • Lecture Notes • Available on the course web page Analysis of Algorithms

  10. Contact Info • Course Web Page • http://www.csd.uwo.ca/courses/CS2210b • You are responsible for checking the course web page frequently • I will post any important announcements on the web page (about homework, exams, etc.) Analysis of Algorithms

  11. Discussion board • I have set up a discussion board for the course (link from the course web page) • Use it to ask any questions about the course • You can post anonymously • You should also feel free to reply to other student’s questions • If you have a question about homework • Post it on the discussion board • Come talk to me or the TA • Please do not email me about homework, unless it is to set up a meeting outside the office hours  Analysis of Algorithms

  12. Course Prerequisites • Computer Science 1027a/b or 1037a/b with grade of at least 60% • One full-course equivalent from • Calculus 1050a/b, 1051a/b, 1081a/b, Linear Algebra 1040a/b, Applied Mathematics 1026, Mathematics 030, the former Mathematics 1027, 1023a/b,1024a/b, the former Mathematics 1027 • Knowledge of Java Analysis of Algorithms

  13. Textbook • Required: Data Structures and Algorithms in Java, fifth edition, Goodrich and Tamassia, John Wiley & Sons, 2010 • Supplementary: • Data Structures and Algorithms with Object Oriented Design Patterns in Java, Bruno R. Preiss, Wiley, 2000 • The Java Programming Language, Arnold and Gosling, Addison-Wesley, 1996. • Java, an Object Oriented Approach, Arnow and Weiss, Addison-Wesley, 1999. • Other books listed on the course web site Analysis of Algorithms

  14. Student Evaluation • Assignments 36% • 2 concept assignments, each worth 3% • 3 programming assignments, each worth 10% • Tentative Midterm Date 29%, 2 hours • Tuesday, February 28, in class • Final Exam 35%, 3 hours • If an assignment has to be cancelled, the remaining assignment weights will be readjusted, if the midterm has to be cancelled, final exam will be worth 64% Analysis of Algorithms

  15. Student Evaluation • To be eligible to pass this course need • 45% weighted average on the midterm and final exams and • 45% weighted average on assignments • To be eligible for an overall grade of 60% or higher, need • 55% weighted average on the midterm and final exams and • 55% weighted average on assignments Analysis of Algorithms

  16. Tentative Assignments Schedule • Assignment 1 (concept) due January 24 • Assignment 2 (programming) due February 9 • Assignment 3 (concept) due February 14 • Assignment 4 (programming) due March 15 • Assignment 5 (programming) due April 5 Analysis of Algorithms

  17. Tentative Assignments Schedule • Paper copy of assignments are due in class on the due date or electronically on webct • Programming assignments are to be submitted electronically on webct Analysis of Algorithms

  18. Exam Policies • There is no makeup for the Midterm, except for students requesting a special midterm exam for religious reasons. These students must have notified the course instructor and filed documentation with their Dean’s office at least 2 weeks prior to the Midterm Exam • If you miss Midterm for any other valid reason, present documentation to the Dean’s office; your Final exam score will be re-weighted to include the weight of the Midterm Analysis of Algorithms

  19. Class Attendance • Not required, but strongly encouraged • Lecture notes is only a summary of things happening in class, will not contain many examples • Students who attend lectures tend to do better • Attending lecture is most efficient way to learn the required material Analysis of Algorithms

  20. Assignments • Will be posted on the web site • Concept Assignments • Each concept assignment consists of a set of exercises. It must be typed or neatly written • Programming assignments • Due by 11:59 pm on the due date • Java programs • Must run on the departmental computing equipment • Hand in using electronic submission procedures, to be described later Analysis of Algorithms

  21. Late Policy • Concept Assignments • No late concept assignments accepted • Programming assignments • 1 day late: 5% • 2 days late: 10% • 3 days late: 15% • 4 days late: 20% • 5 days late: not accepted • Saturday and Sunday count as one day Analysis of Algorithms

  22. Late Policy • Assignment extensions may be granted only by the course instructor • If you have serious medical or compassionate grounds for an extension, take the supporting documentation to the Dean of your faculty Analysis of Algorithms

  23. Assignment Marks Appeals • Address appeals to the TA first. If you and the TA cannot agree, then TA will discuss the situation with the instructor • Appeals must occur within 1 week from the first day that the marked assignments were made available to students. After 1 week, no appeals will be considered Analysis of Algorithms

  24. Ethical Conduct • All assignments are to be done individually • Assignments judged to be the result of academic dishonesty will, • First offence = -assignment weight • Second offence = failing mark • You are responsible for reading and respecting the Computer science Department’s policy on Scholastic Offences • http://www.csd.uwo.ca/UnderGrad/scholastic_offences.shtml • We have sophisticated software which will examine your code against everyone else in class Analysis of Algorithms

More Related