University of Ontario Institute of Technology
Faculty of Engineering and Applied Science
ENGR 2715U: Data Structures
COURSE OUTLINE
Instructor
Prof. Jürgen Hecht
Office: U5-61
Email: WebCT only, MON-FRI, 9AM-5PM
Office Hours: To be announced
Teaching Assistant
To be announced
Office: To be announced
Email: WebCT
Office Hours: To be announced
Course Objectives
This course provides the students with a solid foundation in data structures and their associated algorithms (e.g., traversal, sorting, searching, element addition and removal) both from a theoretical as well as practical implementation perspective. The main objective of the course is to teach the students how to select and design data structures and algorithms that are appropriate for problems that they might encounter. The correctness and computational complexities of the algorithms as related to the various data structures presented is also studied. Topics covered are: analysis of algorithms, dictionaries, trees (balanced trees, binary-trees, spanning trees, etc.), hashing, sorting, graphs, sets and maps, strings and pattern matching .
Course Outcomes
At the end of this course the student should be able to
Understand principles of basic and advanced data structures and algorithms.
Understand essentials of implementing recursion in an object-oriented fashion.
Understand essential abstractions of the standard Java library (iterators, sets, and maps), as well as the performance characteristics of the various standard Java collections.
Understand Java generics; implement your own generic classes and methods.
Understand advanced concepts such as graphical user-interface design, multithreading, networking, databases, XML, and web applications.
Prerequisites
ENGR 2710U: Software Design I.
Course Organization
The course is organized into three lecture and two tutorial hours per week for one semester; 3cr,
3lec, 2tut.
Required Course Texts and Other Materials
Wiley, Big Java, 3 rd edition, Cay Horstmann
ISBN: 978-0-470-11209-0
Note: This ISBN version of the book includes the WileyPlus electronic supplements that are required for the course. Students can choose to purchase an online version of the textbook instead of a paper version from Wiley. All students that purchase the paper copy of this particular ISBN version of the text will also receive an access code inside the text book to be able to register to the online portion of the text book material.
Software:
Java Eclipse SDK; see screenshot below for version information.
Microsoft Office Visio 2007, Eclipse plug-in or MyEclipse for modeling with UML; details to be announced in class.
Reference Books and Information Sources
The main information source besides the textbook is its corresponding on-line WileyPlus Big
Java course.
The following text serves as a UML reference.
Addison Wesley, The Unified Modelling Language User Guide, 2 nd
edition, Grady Booch, James
Rumbaugh, Ivar Jacobson
ISBN-13: 978-0-321-26797-9
In addition, other relevant information sources will be made available in WebCT.
Policies and Expectations for the Learning Environment
Course content will be delivered through a combination of lectures, in-class activities and assignments. Assigned activities will include Web-Centric e-Learning components. Some of these will be performed in class, whereas others are to be performed outside of class.
Some in- and outside activities might be graded, others serve to self assess your acquired knowledge.
It is expected that to be successful, students will attend and participate in class & tutorial and perform all required online and homework assignments.
There is a WebCT-based web page for the course, which includes a constantly being updated calendar of course milestones, assignment, test dates and further information. Students are expected to inform themselves regularly about course requirements.
Communication with the professor through electronic means will be through WebCT only. E-
Mail to other accounts to the professor might not be answered in a timely fashion.
The professor will attempt to answer to e-mails/discussion postings through WebCT in a timely fashion (less than two week days).
Provocative or demeaning contributions to electronic media might be removed or ignored.
Contributions to discussion forums/chat rooms and e-mails that indicate academic misconduct might be used to prove such cases.
Data communication on the UOIT computer network during exam/quiz/assignment times might be monitored to detect and prevent inappropriate communication.
Suitable computerized means might be used to restrict the functionality of the student laptop in in-class situations to the required software tools of the course.
Assignments
Assignments will be available on WebCT. Paper copies of outlines and assignments will not be handed out. Changes to assignments will be announced either in class or via WebCT, but will not be posted on any newsgroup (including WebCT's).
We will be using electronic submission of assignments via the WebCT submission system; no other means of submission (e.g., email, hard copies, etc.) will be accepted. Assignment criteria are specified in the detailed assignment descriptions. Read them carefully to be sure that you have fulfilled all aspects of the requirements. Assignments are DUE ON THE DAY AND TIME indicated. Late assignments will be handled as follows:
Non-negotiated Late Assignment
An assignment that has been handed in late without prior agreement between the student and the professor to extend the time for the assignment to be handed in will be considered a nonnegotiated late assignment and will be assigned a penalty of 20%, if it is submitted within 24 hours of the original due date, otherwise a grade of zero will be assigned.
Negotiated Late Assignment
An assignment that has been handed in late in accordance with a mutually agreed deadline and penalty (if applicable) will be considered a negotiated late assignment and will be marked in accordance with the mutually agreed terms.
Extenuating Circumstances
The professor will consider individually, rare extenuating circumstances, which may cause an assignment to be late. Examples include hospitalization, death of a loved one, traffic accidents, etc. The student must provide documentation to validate the extenuating circumstance. It will be at the professor’s discretion to work out the extension in this situation.
Course Evaluation
Course
Component
Pre-readings
In-class exercises
In-tutorial exercises
Assignments
Course project
Mid-term
Final exam
Σ
Percent of
Final Mark
0%
10%
10%
20%
15%
15%
30%
100%
Remarks
IMPORTANT : pre-readings are not marked, however, you must prepare for classes, tutorials, assignments, and other course deliverables by timely studying the corresponding chapters in the textbook. You will not be able to succeed in any course deliverable, if you fail to study the course materials ahead of time.
Review and/or programming exercises will be assigned from within WebCT to be performed inclass; see schedule in WebCT for due dates and times. Students are expected to be present in classes and actively participate in these exercises to score full marks.
Programming exercises will be assigned from within WebCT to be performed in-tutorial; see schedule in WebCT for due dates and times.
Students are expected to be present in tutorials and actively participate in these exercises to score full marks.
A total of four assignments will be assigned throughout the term from within WebCT; see schedule in WebCT for due dates and times. The assignments combine both analytical questions and programming tasks. Along with the grades for the assignments, the TA will publish a marking rubric to explain the break-down of all assignment marks.
A course project will be assigned after the mid-term from within WebCT; see schedule in WebCT for due dates and times. The course project is a group deliverable; one important objective for the students is to learn how to work in a team.
Test will contain analytical questions as well as programming tasks.
Same as above.
Missed Tests and Final Exam
- Should a student fail to write a test or the final exam, the instructor must be informed ASAP
(via WebCT) and a medical certificate must be sent directly from the Doctor’s Office or Hospital within 5 days by mail or preferably by fax (905-721-3370) to the Academic Advisor of FEAS
(and not to the instructor). A medical certificate, obtained from the university Website or WebCT or from the Academic Advisor must clearly state the date, and the names of the student and the doctor/hospital, and the doctor or hospital’s phone number and address.
- In case of absence from the test, there will be no make-up test. Should the absence (for medical reasons or otherwise) prove to be absolutely legitimate (i.e., backed by strong bone fide evidence), pending instructor’s approval, the weight of the missed test is shifted to the final exam, otherwise the student will get a zero on his or her missed test.
Should the absence from the final exam (for medical reasons or otherwise) prove to be absolutely legitimate (i.e., backed by strong bone fide evidence), the student will write a deferred exam which may be written or oral at the discretion of the instructor. The students who write a deferred exam have additional time to study and a less crowded exam schedule compared to their colleagues who write the final exam during the tight exam period. As such, it is only fair to expect better performance from these students on the deferred exam than on the final exam.
Sequence of Instructions
The professor may alter the sequence of instructions, the depth of coverage of material, as well as the precise test dates. Students will be given advanced notice, via the WebCT course web site announcement tool and the WebCT calendar of specific assignment and test dates that apply.
In-class tests may be assigned without notice during any scheduled class time. Assigned tasks and tests will have to be completed during that period.
Lectures
Week Topic
Textbook
Chapter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Part I – Data Structures and Algorithms
Recursion
Sorting and Searching
Intro to Data Structures
Advanced Data Structures
Generic Programming
Midterm break
Part II – Advanced Topics
Midterm Graphical User Interfaces
Files and Streams
Multithreading
Internet Networking
Relational Databases
XML
Web Applications
Course project presentations
13
14
15
16
17
-
18
19
20
21
22
23
24
13-24
Tutorials
The tutorials will be used to demonstrate detailed solutions to programming exercises by the TA in front of the class and to answer student questions. Assignment hints and solutions will be discussed during the tutorial periods. There are also grades for tutorial work and students are expected to attend for graded hands-on exercises. The topics discussed in the tutorials will follow the sequence of instructions in class.
Week Topic
Textbook
Chapter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Part I – Data Structures and Algorithms
Object-Oriented Design (recap)
Recursion
Sorting and Searching
Intro to Data Structures
Advanced Data Structures
Midterm break
Generic Programming
Part II – Advanced Topics
Graphical User Interfaces
Files and Streams
Multithreading
Internet Networking
Relational Databases
XML
Web Applications
12
13
14
15
16
-
17
18
19
20
21
22
23
24
Laboratories, Pre-lab Reports, Notes and Reports
Not Applicable.
Computer Experience and Usage
Computers are used heavily for programming and teaching. The standard laptop leased to all students in the program is used in this course. It is required that the laptop is brought to each of the classes and tutorials.
Notes to Remember
- If you must send an e-mail to the instructor or the TA, then send it via WebCT. It is highly recommended though that if the students have any questions or concerns whatsoever, they should discuss them with the instructor or TA during his office hours, rather than sending him or her emails. Understanding a situation or solving a problem or providing advice is always more effective face-to-face.
- It is advised that students print the lecture notes from WebCT before they come to the class, and then add their own understanding to the notes during the lectures.
- All assignments and tests must be written very legibly, if something cannot be read, then it cannot be marked.
- Missing a tutorial equals to missing a graded programming exercises (approximately 1% of the final mark).
- Any student who gets 90% or more in this course can ask for and expect a very good letter of recommendation when he or she is looking for a job or applying to a graduate program or applying for a scholarship.
Course Content Breakdown
(following categories defined by the Canadian Engineering Accreditation Board’s Accreditation
Criteria and Procedures report, available at http://ccpe.ca/e/files/report_ceab.pdf
)
Mathematics:
Basic Science:
Engineering Science:
Engineering Design:
Complementary Studies:
Total:
0%
0%
70%
30%
0%
100%
Other Information
SOME IMPORTANT GENERAL INFORMATION OF RELEVANCE TO THE COURSE
Academic Integrity and Conduct
UOIT is committed to the fundamental values of preserving academic integrity as defined in
UOIT policies and contained in the UOIT Calendar. Students should familiarize themselves with
UOIT’s policies and statements in this area. Acts of academic dishonesty, including plagiarism, cheating, aiding others in cheating, and examination impersonation, will be dealt with severely as they threaten the integrity of the academic system and are not acceptable.
UOIT and faculty members reserve the right to use electronic means to detect and help prevent plagiarism. Students agree that by taking this course all assignments are subject to submission for textual similarity review to Turnitin.com. Assignments submitted to Turnitin.com will be included as source documents in Turnitin.com's restricted access database solely for the purpose of detecting plagiarism in such documents for five academic years. The faculty member may require students to submit their assignments electronically to Turnitin.com or the faculty member may submit questionable text on behalf of a student. The terms that apply to UOIT's use of the
Turnitin.com service are described on the Turnitin.com website. (To read the entire policy, please go to: http://www.uoit.ca/EN/main2/11246/13525/14057/14152/turnitin_policy.html
.)
Accessibility
To insure that disability-related concerns are properly addressed during this course, students with documented disabilities and who may require assistance to participate in this class are encouraged to speak with their instructor as soon as possible. Students who suspect they may have a disability that may affect their participation in this course are advised to go to the Centre for Students with Disabilities (room B297) as soon as possible.
Approved by (indicating approval of Faculty’s Curriculum Committee):
Mikael Eklund
Date: