PHILADELPHIA UNIVERSITY Faculty of Administrative and Financial Sciences

advertisement
PHILADELPHIA UNIVERSITY
Faculty of Administrative and Financial Sciences
Department of Business Networking and Systems Management
Module Syllabus
Module Name: Data Structures
Module Number: 0371323
Level: 3
Credit Hours: 3 hours
Prerequisite / Co-Requisite: Programming Language (C++) (0371221)
Lecturer (Name, Academic Rank): Dr. Mahmoud Abu-A'ra , Assistant Professor
Office Number: 32403
Office Hours: 9- 10 A.M Sun, Tue, And Thu
Phone:026374444
Ext: 2408
E-mail: m_abuarra@philadelphia.edu.jo.com
Module Coordinator: Dr. Sundus A. Hamoodi
Aims:
This module represents the third semester of an imperative-first introductory track that
covers the fundamental programming concepts. It builds on the foundation provided by the
0371221 and 0371222 modules to introduce the fundamental concepts of data structures and the
algorithms that proceed from them. Topics include recursion, the underlying philosophy of
object-oriented programming and Abstract Data Type (ADT), fundamental data structures
(including stacks, queues, linked lists, hash tables, trees, and graphs), the basics of algorithmic
analysis, and an introduction to the principles of language translation.
Teaching Methods:
Duration: 15 weeks in first semester, 45 hours in total
Lectures: 30 hours, 2 per week (2 of them are for the first and second 1 hour exams).
Laboratory: 15 hours, 1 per week
Learning Outcomes:
On successful completion of this module, student will:
1. build on understanding of basic ideas about data structures given in the prerequisite module.
2. understand basic ideas about algorithms.
3. understand the basic concepts of time and space complexity.
4. be able to manipulate recursive algorithms.
5. be able to develop efficient algorithms for manipulating data structures.
6. know a range of algorithm structures and how to implement them.
7. know and understand a wide range of searching and sorting algorithms.
1 of 4 Pages
PHILADELPHIA UNIVERSITY
Faculty of Administrative and Financial Sciences
Department of Business Networking and Systems Management
8. understand how the Abstract Data Type (ADT) is used.
9. understand several representations of trees, and their applications.
10. understand several representations of graphs, and their applications, together with a selection
of important algorithms on graphs.
11. be able to construct and use the data structures mentioned above.
Contribution to Program Learning Outcomes:
A1, B1, B3, D6
Module Outline:
Week
Subject
(1)
Introduction: Program style, Introduction to analysis of algorithm,
Introduction to Abstract Data Type (ADT) approach
(2)
Array, The ADT Array, The index function for sequential
representation of arrays
(3)
Set, The ADT Set, An implementation of sets using arrays,
Analysis of the array implementation of sets
(4)
Stack, The ADT Stack, An array implementation of stacks,
Analysis of the array implementation of stacks
(5)
1st tutorial, Applications, Evaluating an expression in postfix form,
Converting infix expression to postfix
(6)
1st assignment, Queue, The ADT Queue
An array implementation of queues
(7)
Analysis of the array implementation of queues, Applications,
Testing Palindromes
(8)
First Exam Recursion, Recursive algorithm, Removing
recursion.
(9)
Linked Lists, The ADT Linked List, Implementation of singly linked
lists
2 of 4 Pages
PHILADELPHIA UNIVERSITY
Faculty of Administrative and Financial Sciences
Department of Business Networking and Systems Management
(10)
Implementation of doubly linked lists, Implementation of circular
linked lists, 2nd tutorial
(11)
Trees, Binary trees (BTs): General concepts, Traversal of BT, 2nd
assignment
(12)
(13)
Second Exam: The ADT Binary Search Tree (BST),
Implementation of BST
Graphs, The computer representation of the graphs, Graph search
strategies: Depth-First Search (DFS) algorithm, Breadth-First Search
(BFS) algorithm
(14)
Sorting, Selection sort, Insertion sort, Quick sort
(15)
Searching, Sequential search, Binary search, Hashing
(16)
Tutorials, revision, and Practical Exam
Modes of Assessment:
Modes of Assessment:
Score
Date
First Exam
15%
Second Exam
15%
Assignment / Seminar / Project / Quizzes / Tutorial
20%
Final Exam (Comprehensive; written, verbal, hand-ins, ……. etc.) 50%
* Make-up exams will be offered for valid reasons only with consent of the Dean. Make-up
exams may be different from regular exams in content and format.
Attendance Policy:
Lecture attendance is mandatory. Student is allowed maximally 15% absentia of the total module
hours. More than this percentage, student with an excuse will be drawn from the module.
Otherwise, student will be deprived from the module with zero mark assigned.
The course notes and the textbook are not comprehensive and additional material will be
covered in lectures. You are responsible for all material covered in lectures.
Expected Workload
On average, you should expect to spend at least (9) hours per week on this module.
3 of 4 Pages
PHILADELPHIA UNIVERSITY
Faculty of Administrative and Financial Sciences
Department of Business Networking and Systems Management
Practical Submissions
The assignments that have work to be assessed will be given to the students in separate
documents including the due date and appropriate reading material
Feedback
Concerns or complaints should be expressed in the first instance to the course lecturer. If no
resolution is forthcoming then the issue should be brought to the attention of the course
representatives who will take the concerns to the course representative meetings (held in weeks).
Thereafter problems are dealt with by the Department Chair and if still unresolved the Dean and
then ultimately the Vice President.
At the end of the course, the students will fill a course evaluation sheet, evaluating the content of
the course, its teaching, the learning, and assessment methods, and lecturer. The monitoring of
these students feedback will allows the course quality improvement.
Text Book(s) and Supporting Materials:
Text book(s):
Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, Addison-Wesley, 2004.
In addition to the above, the students will be provided with handouts by the lecturer.
References:
Students will be expected to give the same attention to these references as given to the Module
textbook(s)
1. Robert L. Kruse, et al, Data Structures and Program Design in C++, Addison-Wesley, 2004.
2. Timothy Budd, Data Structures in C++ Using the Standard Template Library, 2001.
4 of 4 Pages
Download