Course Outline ENGR 2715U (Winter 10 - Hecht)

advertisement

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.

Note: you MUST pass the final exam to pass the course.

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:

Download