About U of O
Prospective Students
Students
Services
Academics
Research
News & Events
Alumni & Friends
FrançaisLibrariesMapsKeyword Search and DirectoriesCoursesU of O Home

 
WonSook LEE
  FACULTY OF ENGINEERING


  School of Electrical Engineering and Computer Science



  WonSook Lee's
Home

 
 
  Research

  Courses

 
  Contact

  CSI 2110: Data Structure and Algorithms

CSI 2110: Data Structures and Algorithms


(3 hours of lectures, 1.5 hours of labs and 1.5 hours tutorial per week, 3 credits)

(Fall, 2019, September 4 - December 3)



Instructor:

Professor WonSook LEE

CBY A509 (tel x2501)

wslee@uottawa.ca

http://www.eecs.uottawa.ca/~wslee


Professor's Office Hour:

TBD at CBY A509


TAs: 

  • TBD


Timetable:


CSI2110 A

Lecture 1

Tuesday 13:00 - 14:20

(MRT) 205


Lecture 2

Thursday 11:30 - 12:50

(MRT) 205


Laboratory 1

Tuesday 10:00 - 11:20

(CBY) B02


Laboratory 2

Monday11:30 - 12:50

(CBY) B02


Tutorial 1

Friday 14:30 - 15:50

(MRN) 150



CSI2110 B

Lecture 1

Tuesday 10:00 - 11:20

(STE) A0150


Lecture 2

Thursday 8:30 - 09:50

(STE) A0150


Laboratory 1

Monday 14:30 - 15:50

(STE) 2060


Laboratory 2

Tuesday 13:00 - 14:20

(STE) 2060


Tutorial 1

Wednesday14:30 - 15:50

(MRT) 218



Description:

The concept of abstract data types. Simple methods of complexity analysis. Trees. The search problem: balanced trees, binary-trees, hashing. Sorting. Graphs and simple graph algorithms: traversal, minimum spanning tree. Strings and pattern matching. Prerequisites: ITI1121/ITI1221, MAT1348


Objectives:

    • Students will learn in a systematic way the most commonly used data structures with emphasis on their abstract properties.
    • Understand the typical algorithms that operate on each kind of data structure and learn how to analise their performance.
    • Be able to compare different data structures for solving the same problem, and choose the best.

Textbook:

Michael Goodrich and Roberto Tamassia, Data Structures and Algorithms in Java, Wiley. (6th ed.) 

The textbook is available at AGORA Bookstore.

The textbook has a great web site at http://ca.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002900.html.



Other sources:

D.E. Knuth, Sorting and Searching , vol. 3 of The Art of Computer Programming, Addison Wesley, 1973. 

T.A. Standish: Data Structures in Java. Addison Wesley. 

S.Sahni: Data Structures, Algorithms, and Applications in Java.



Marking scheme:

A maximum of 100 marks will be available. The division is as follows:


A: 3 theoretical + 2 programming assignments

30 marks

M: midterm exam (closed book)

30 marks

F: final exam (closed book)

40 marks


To pass the course you must get at least 50% in the exams. The exact calculation is as follows:

            If (M+F)/70 >= 50% then Grade = A+M+F

            else Grade =(M+F)*10/7


NOTE I: Assignment submission

Late submission is accepted for two days with 50% minus - Within 24 hours, 25% minus and within 48 hours, 50% minus.

Thoery assignment, please submit it to the assignment box. Classroom submission is NOT accepted. It can be uploaded on the blackboard electronically (you may type or write by hand legibly and scan it. Only a single PDF file is accepted).
Programming assignment, please submit it to the Blackboard website. Other kinds of submissions are not accepted.


NOTE II: A student who has an official medical certificate (from the University Health Services) for the absence on the day of the midterm will have the final exam mark scaled up accordingly.  The medical certificate must be obtained on the very day!


NOTE III: Attendance in the lecture, Lab and tutorial will be checked randomly and it may be rewarded as 2% bonus points toward the final grade.


Schedule (tentative): 

Marks for assignments and exams are available in the Blackboard website



Due to
Assignment 1 (Theoretical) Oct 8 (Tue 9 am) morning!
Assignment 2 (Programming) Oct 22 (Tue 9 am) morning!

Mid-term


Assignment 3 (Theoretical)

Nov 19 (Tue 9 am) morning!

Assignment 4 (Programming)

Dec 3 (Tue 9 am) morning!
Final exam



Lecture Schedule (Tentative):

The lecture notes are available in the Brightspace website


  1. Introduction and review.
  2. Stacks, queues, deques.
  3. Analysis of algorithms.
  4. List and iterator ADT.
  5. Priority queues and sorting.
  6. Trees and binary trees.
  7. Heaps.
  8. Maps and dictionaries 
  9. Search trees: binary search trees , AVL trees ), (2-4) trees .
  10. Hash tables
  11. Sorting and their analysis: insertion sort , selection sort, bubble sort, merge sort, quick sort and other sorting methods. 
  12. Graphs: data structures for graphs, traversals, minimum spanning trees, shortest paths.
  13. Strings and pattern matching.
  14. Review.




WonSook Lee - Contact information
Professor WonSook LEE, Ph.D.

School of Electrical Engineering and Computer Science (EECS)
University of Ottawa
800 King Edward Avenue
P.O. Box 450, Stn A
Ottawa, Ontario, Canada K1N 6N5

Office: CBY A509
Tel: (613) 562-5800 ext. 2501
Fax: (613) 562-5664
Email: wslee@uottawa.ca
Web: http://www.eecs.uottawa.ca/~wslee


About U of O | Prospective Students | Students | Services | Academics | Research | News and Events | Alumni and Friends



System requirements | Feedback | Privacy Policy | Accessibility

© University of Ottawa
If you are looking for additional information, please contact us.
Technical questions or comments about this site? Last updated: 2016.09.08