Uploaded by Ahmad Burnat

Outline

advertisement
Data Structures (COMP242)
Course Outline – 2nd Semester 2022/2023
Course information:
a. Course Code: COMP242
b. Course Name: Data Structures
c. Prerequisite: Comp231
d. Co-requisite: none
Course Description:
This course introduces some basic data structures (arrays, linked lists, stacks, queues,
trees and heaps) and algorithms (various sorting, searching, and hashing). We will also
recover recursion in depth in this course. The use of data structures in programming
languages and relevant aspects of data and file management will be illustrated using an
object-oriented language.
Course Goals:
The primary goal of this course is to enhance students’ knowledge and understanding
of algorithms and data structures and the associated design and analysis techniques. This
course aims at developing the students’ ability to design and implement data structures
and algorithms, analyze them for correctness and efficiency, and choose the right data
structure/algorithm for a particular job.
Course Outcomes:
Upon successful completion of this course, the student will be able to:
A. Knowledge and understanding
1. Understand the fundamental types of data structures (lists, stacks, queues,
trees …) and their respective representations
2. Explain different operations for maintaining common data structures
B. Intellectual/Cognitive skills
1. Analyze the complexity of simple algorithms to work out the order of
magnitude of running time and space complexity
2. Design and apply appropriate data structures for solving computing problems
C. Subject specific and practical skills
1. Apply advanced problem-solving techniques (e.g., recursion and data
abstraction) to solve computing problems
2. Implement different types of data structures and sorting algorithms
3. Analyze various programming problems and use appropriate data
structures/sorting algorithms
D. General and transferable skills
1. Communication and oral skills by discussing the implementation of projects
2. Apply time-management skills
3. State conclusions that the evaluations and comparisons of different algorithms
1
Teaching and learning methods:
A. Lectures – introduce new concepts and theory
B. Class discussion for more understanding and examples
C. Lab for practical experience of the data structures concepts
Assessment methods based on outcomes:
1. Exams and quizzes to asses A1, A2, B1, B2, C1
2. Projects to assess B1, B2, C1, C2, C3, D1, D2, D3
3. Labs to assess A2, B1, B2, C1, C2, C3
Faculty:
Lecture #
Instructor Name
1
Mr. Iyad Jaber
2
Mr. Murad Njoum
Lecture
T, R
08:30 - 09:45
M, W 8:30 - 9:45
3
Dr. Abdallah Karakra
M, W 11:25 - 12:40
4
Dr. Mamoun Nawahdah*
S, M
08:00 - 09:15
Labs
L1 [W @ 11:25]
L2 [R @ 14:15]
L3 [R @ 11:25]
L4 [T @ 8:00]
L5 [R @ 14:15]
L6 [T @ 8:00]
L7 [R @ 8:00]
* Course Coordinator
References:
 Data Structures and Algorithm Analysis in Java 3rd edition. Mark Allen Weiss, Pearson,
2011
 Laboratory Work Book (COMP242)
Grading Criteria:
 Lab work (Quizzes and Participation)
 Midterm exam
 Projects
 Final exam
15%
30%
20%
35%
2
Topics Covered in this Course:
Description
1
2
3
4
5
6
7
8
9
10
11
12
13
Recursion
Algorithm Analysis
Lists, Linked Lists, Double Linked Lists, examples
Cursor Implementation of Linked Lists, Stacks
Implementation of Stacks, Examples, Queues
Project 1 + discussion
Trees, Implementation of Trees, Binary Trees
Expression Trees, Binary Search Trees
Midterm exam (30%) & Project 2 + discussion
AVL Trees, Single and Double Rotation, Tree Traversals
Splaying, B_Trees
Hashing
Project 3 + discussion
Priority Queues ( Heaps )
Sorting, Design Techniques, Merge Sort, Analysis of Merge Sort
Quick Sort , Analysis of Quick Sort, Linear Sorting Algorithm, Shell
Sort, External Sort
# of Lectures
2
4-5
2-3
2
3-4
2
2
2-3
1
2-3
3
2
3
Final Exam (35%) & Project 4 + discussion
Lab Outline:
Week
1
2
3
4
5
6
7
8
9
10
11
12
13
Title
Lab0: Java revision
Lab 1: Recursion
Lab 2: Singly Linked List Implementation of the List ADT
Lab 3: Doubly Linked List Implementation of the List ADT
Lab 4: Cursor Implementation of List ADT
Lab 5: Stack ADT
Lab 6: Queue ADT
Lab 7: Binary Search Tree
Lab 8: AVL Tree
Lab 9: Hash Tables
Lab 10: Heaps
Lab 11: Sorting 1
Lab 12: Sorting 2
Quizzes
Q1
Q2
Q3
Q4
Special Regulations:
-
-
Late/wrong assignments will NOT be accepted for any reason.
Missing any exam/quiz/project without an acceptable excuse will result in a zero grade for that
exam/quiz/project.
Attendance is mandatory. University regulations will be strictly enforced.
Academic honesty:
o Individual HW assignments/project must be each student’s own work.
o Cheating (even one line of code) will result in an official university disciplinary review.
A good laptop computer is necessary for this course.
Enjoy COMP242!!!
3
Download