Princess Sumaya University for Technology - Fall 2014
11212 - Data Structures and Introduction to Algorithms
Instructor Information
Dr. Ibrahim Albluwi
Email: i.albluwi@psut.edu.jo
Office: IT-309
Extension: 243
Office Hours: Su, Tu, Thu: 11:00-12:30, Mo: 12:30 - 14:00
Or by appointment.
Office Hours: Su, Tu, Thu: 11:00-12:30, Mo: 12:30 - 14:00
Or by appointment.
Class Meetings
Section 1: Mo, We 8:00-9:30 (Room 201)
Section 2: Su, Tu, Thu: 9:00 - 10:00 (Room 204)
Section 2: Su, Tu, Thu: 9:00 - 10:00 (Room 204)
Course Description
Prerequisites: Object Oriented Programming in C++ (11206) and Discrete Math (20134).The purpose of this course is to introduce the students to the complexity analysis of algorithms, the fundamental methods for representing data in memory and the algorithms which access data, using the C++ language. Data structures include: lists, stacks, queues, trees, heaps, priority queues, hashing and graphs. Algorithms include searching and sorting. Programming topics include: pointers, dynamic memory allocation, templates and the C++ Standard Template Library (STL). At the end of the course, students will be equipped with the tools that will enable them to write clear and efficient programs.
After completing this course, students will be able to:
- Perform worst and best case analysis of algorithms.
- Implement and use simple searching and sorting algorithms and compare between them.
- Implement and use several data structures and compare between them.
- Choose the right combination of data structures and algorithms for solving a problem based on complexity analysis.
Textbook
All material covered in class and posted on this blog is required. Topics covered are mostly based on the following textbook:Adam Drozdek,
Cengage Learning; 4th edition.
- Data Structures and Algorithm Analysis in C++, Mark A Weiss; Addison Wesley.
- Data Structures Using C++, D.S. Malik; Thomson Course Technology.
- Data Structures and Algorithms in C++, Michael T. Goodrich, et al; Wiley.
- Introduction to Algorithms, Cormen et al; MIT Press.
Grades Distribution
- Assignments (10%): There will be around 3 assignments worth 3.33% each. Late submissions are accepted after deducting 20% for each late day. Details of each assignment will be provided in the assignments tab. Make sure to read carefully the collaboration policy below. .
- Participation (5%) .
- Midterms (45%): There will be two exams worth 22.5% each. As a help, we often make the exam with the higher grade out of 25 and the other out of 20. However, this will be decided at the end of the semester. . .
- Final Exam (40%)
Collaboration Policy
We encourage you to discuss with your classmates about assignments up to whatever level of detail that you wish. We believe that this will have a positive effect on your understanding of the material and the overall atmosphere in the course. However, make sure to avoid the following:
- Sharing your code with anyone in any form (Do not send or show your code to anyone. Do not also write any piece of code related to the assignments to anyone, be it on paper or machine).
- Using any piece of code that you find on the internet unless advised by the professor of the course.
Assignments are an excellent opportunity for learning and improving your understanding of the material covered in the course. Do your best to attempt all the assignments on your own.
The penalty of plagiarism (cheating) is a ZERO for everyone that participates in the act.
Attendance Policy
- Missing 9 SuTuThu classes or 6 MoWe classes without a valid excuse will prevent from sitting for the final exam. . . .
- Valid excuses are:
- Medical excuses attested by the university's doctor.
- Attendance of exams, provided that the professor of the exam writes a signed letter explaining the case.
- Other excuses attested by the deanship of student affairs.

No comments:
Post a Comment