Image result for database ***
EECS 2011,  Winter 201
7
***
Fundamentals of Data Structures


       Lecture Schedule:   T R,  13:00 - 14:30,  CLH A
       Instructor:                 Natalija Vlajic
       E-mail:                      vlajic @ cse.yorku.ca
       Office Hours:            M W,  14:00 - 15:00,  LAS 2047

       TAs:                           Pooria Madani (madani @ cse.yorku.ca)
                                         Dekun Wu (jackwu @ cse.yorku.ca)

Related image




      COURSE NEWS
  • Mar 17:  Assignment 1 solutions (Q1 through Q4) can be accessed here.
  • Mar 13: Assignment 2 is available. Due date: Mar 28. Test file for the programming question: WisdomForRoad.txt. Your assignment solutions (typed rather than handwritten) are to be handed in at the beginning of the Mar 27 class. Include with the materials a print-out of your code for the programming question. In addition, you must submit via CSE@York's submit utility your code for the programming portion of the assignment. To submit your code, you need to: 1) Put all your code files, i.e. java classes, as well as WisdomForRoad.txt into a directory named analyzer. It is this (entire) directory that you will be submitting. 2) From any PRISM machine, execute the following: % submit 2011 Assignment2 analyzer. If you need more information on the submit command, run man submit on a PRISM box.
  • Mar 05:  Assignment 1 grades are now available through ePost.
  • Feb 27:  Midterm grades are now available through ePost. Midterm solutions can be accessed from here.
  • Feb 07:  The midterm examination will be held this coming Tuesday (Feb 14), in class. The examination is closed-book and closed-notes, and it will be based on all of the lecture material + exercise questions covered in class up to (and including) the lecture of Feb 9. You are allowed to use a basic calculator. Please arrive 5 min before the official beginning of the class. A sample of a previous midterm is provided here (exclude 1.10)-1.15) and Q.4).
  • Feb 03: Assignment 1 is available. Due date: Feb 16. Test file for the programming question: Mystery.txt. Your assignment solutions (typed rather than handwritten) are to be handed in at the beginning of the Feb 16 class. Include with the materials a print-out of your code for the programming question. In addition, you must submit via CSE@York's submit utility your code for the programming portion of the assignment. To submit your code, you need to: 1) Put all your code files, i.e. java classes, as well as Mystery.txt into a directory named assembler. It is this (entire) directory that you will be submitting. 2) From any PRISM machine, execute the following: % submit 2011 Assignment1 assembler. If you need more information on the submit command, run man submit on a PRISM box.
  • Jan 23:  TA officer hours will be offered every Wednesday, 16:00 - 18:00, LAS 3017, starting February 1. The TAs in charge are Pooria Madani and Dekun Wu.
  • Jan 05:  Classes start.




Course Information:
Textbook and Recommended Reading Material
Prerequisite
Course Description
Grading Scheme
Course Schedule

Course Policies:
Late Assignments and Missed Midterm
Academic Honesty



Course Schedule (Topics, Notes, Required Reading, Assignments)

Week
Date
Topic / Notes
Required Reading
Assignment
1
R, Jan 5
Introduction - part 1



T, Jan 10
Introduction - part 2
Java Primer - part 1
Goodrich: Ch. 1

2
R, Jan 12
Java Primer - part 2 ...


T, Jan 17
Algorithm Analysis - part 1 Goodrich: 4.1 - 4.4

3
R, Jan 19
Algorithm Analysis - part 2 ...


T, Jan 24
Algorithm Analysis - part 3 Goodrich: 5.1 - 5.3
4
R, Jan 26
Arrays and Linked Lists - part 1 Goodrich: 2.1, 3.1, 3.2, 3.3


T, Jan 31
Java Generics
Arrays and Linked Lists - part 2
...
Goodrich: 1.3, 2.5.2

5
R, Feb 2
Stacks
*** Exercises 1 ***
Goodrich: 6.1
Assignment 1

T, Feb 7
Queues Goodrich: 6.2
6
R, Feb 9
Deques
Array Lists
*** Exercises 2 ***
Goodrich: 7.1, 7.2


T, Feb 14
Midterm Exam


7
R, Feb 16
Positional Lists
Sorting
Goodrich: 7.3
Reading Week

T, Feb 28
Iterators
Self-Organizing Lists
Trees - part 1
Goodrich 7.4, 7.7
Goodrich 8.1, 8.3

8
R, Mar 2
no lecture



T, Mar 7
Trees - part 2
Trees - part 3
Goodrich 8.4
9
R, Mar 9
Trees - part 4
Binary Trees - part 1
Goodrich 8.2 March 10 - last date to drop course

T, Mar 14
Binary Trees - part 2
Binary Trees - part 3
...
Assignment 2
10
R, Mar 16
Binary Search Trees Goodrich 10.1, 11.1

T, Mar 21
AVL Trees Goodrich 11.3
11
R, Mar 23
Binary Tree Exercise
Priority Queues
Heaps - part 1

Goodrich 9.1, 9.2
Goodrich 9.3


T, Mar 28



12
R, Mar 30




T, Apr 4



Final Exam:  Sunday, April 9, 10:00 am  (location TBD)



Textbook


Recommended Reading Material



Prerequisite

General prerequisites; LE/EECS1030 3.00 or LE/EECS2030 3.00; LE/EECS1028 3.00 or SC/MATH1028 3.00 or LE/EECS1019 3.00 or SC/MATH1019 3.00



Course Description

This course discusses the fundamental data structures commonly used in the design of algorithms. At the end of this course, students will know the classical data structures, and master the use of abstraction, specification and program construction using modules. Furthermore, students will be able to apply these skills effectively in the design and implementation of algorithms.
Topics covered may include the following:
• Review of primitive data types and abstract data type — arrays, stacks, queues and lists
• Searching and sorting; a mixture of review and new algorithms
• Priority queues
• Trees: threaded, balanced (AVL-, 2-3-, and/or B-trees), tries
• Graphs: representations; transitive closure; graph traversals; spanning trees; minimum path; flow problems



Grading Scheme

15%  Assignment (3 Assignments - 5% each)
40%  Midterm Exam
45%  Final Exam



Late Assignments and Missed Midterm

Late assignments will not be accepted, unless a prior arrangement is made with the instructor.
Makeups of missed midterm exams are only possible in extremely exceptional situations (such as verifiable medical emergencies) or by arrangement well prior to the exam, provided there is an extremely compelling reason.



Academic Honesty
"The Department takes the matter of academic honesty very seriously. Academic honesty is essentially giving credit where credit is due. And not misrepresenting what you have done and what work you have produced. When a piece of work is submitted by a student it is expected that all unquoted and uncited ideas and text are original to the student. Uncited and unquoted text, diagrams, etc., which are not original to the student, and which the student presents as their own work is considered academically dishonest."
For more see:  Department of Computer Science Academic Honesty Guidelines