Department: Computer Science and Mathematics
Course Code & Name CSC310 Algorithms and data Structures
Class Time and Location TR: 09:30 – 10:45 (Section 11);
TR: 14:00 pm – 15:15 (Section 12);
Instructor Dr. Maroun Abi Assaf/ Dr. Faisal N. Abu-Khzam
Coordinator Dr. Faisal N. Abu-Khzam
Credits Hours 3
Semester Spring 2023
INSTRUCTOR
Email: maroun.abiassaf@lau.edu.lb
web page:
Office: Nicol Hall – 5th Floor
Office Hours: TR 12:15 – 2:00
CURRENT CATALOG DESCRIPTION
This course presents the fundamental computing algorithms and data structures, with emphasis on design and
analysis. Topics include the asymptotic analysis of upper and average complexity bounds, the best, the average,
and the worst, case behaviors. Recurrence relations, sets, hashing and hash tables, trees and binary trees
(properties, tree traversal algorithms), heaps, priority queues, and graphs (representation, depth-and breadth-first
traversals and applications, shortest-path algorithms, transitive closure, network flows, topological sort). The
course also covers the sorting algorithms and performance analysis which include merge sort, quicksort and
heapsort. As well, the course details the fundamental algorithmic strategies (divide and-conquer approach, greedy,
dynamic programming, and backtracking) and provides an introduction to NP-completeness theory.
PRE- OR CO-REQUISITE
CSC 245 Objects and Data Abstraction and MTH 207 Discrete Structures I
COURSE TYPE
Required Major’s Elective General Elective
COURSE LEARNING OUTCOMES
At the completion of this course, the student will able to:
• CLO.1 Students shall be able to explain and implement trees, heaps, graphs, and hash tables.
• CLO.2 Students shall be able to analyze searching and sorting algorithms, and explain their relationship to
data structures.
• CLO.3 Students shall be able to solve problems using different algorithm design methods such as the
greedy method, divide and conquer, dynamic programming, and backtracking. Solve problems using
different algorithm design methods such as the greedy method, divide and conquer, dynamic programming,
backtracking, and branch and bound.
• CLO.4 Students shall be able to analyze the time and space complexity of algorithms using tight asymptotic
bounds and asymptotic upper bounds.
STUDENT OUTCOMES ADDRESSED IN THIS COURSE
SO.1, SO.2, SO.4, SO.6
TEXTBOOK
Cormen et al. Introduction to Algorithms, 3rd Ed., MIT Press, 2010.
TOPICS COVERED IN THE COURSE
Week Lecture / activity
1 Mathematical foundations for algorithmic analysis
2 Review of: classical sorting and searching algorithms: Bubble/Insertion/Selection sort; sequential
search and binary search; Binary search trees and their traversal; Recursion…
3 Divide and Conquer applied to Merge Sort; Heap Sort; Quick Sort; Sorting in linear time (e.g.,
Radix Sort); Solving recurrences (iteration method, substitution method and the Master Theorem.)
4 Graphs and their properties
5-6 Graph traversal algorithms; a brief introduction to NP-Complete problems
6-7 Recursive backtracking for decision and search problems + Midterm Exam
8 Recursive backtracking for optimization and enumeration problems
9 Dynamic Programming (might take more than one week)
10 Greedy Algorithms (activity selection; frog jumping; Prim’s MST algorithm)
11 Shortest Path problems and algorithms (Dijkstra, Bellman Ford and Floyd Warshall)
12 DP versus Greedy and the Knapsack problem
13 Network Flow; Disjoint sets (with applications, e.g., Kruskal’s MST algorithm)
TEACHING/LEARNING METHOD
• Lectures
• HW
• Labs and lab quizzes
• Exams
COURSE GRADING AND PERFORMANCE CRITERIA
Att. and Part.: 5%
Lab: 25%
Midterm: 35%
Final: 35%
STUDENT CODE OF CONDUCT - ACADEMIC VIOLATIONS
The following table defines the sanction(s) associated with each violation. In some cases and when the violation
is too general, a range of sanctions is set for the pertinent committee to choose from depending on the specifics
of each case. As for the second offense, the set sanctions apply regardless whether the violation has taken place
in the same course or a different one, within the same semester or not.
Code # Violation First Offense Second
Offense
Cheating
2.2.1 Using material or equipment (including mobile phones, zero on the F on the course
electronic tablets, i-pads, calculators, and other devices) deliverable with with a warning
that is not authorized by the instructor in an examination, a warning
project, or graded assignment
2.2.2 Cheating, copying, collaborating with or aiding another zero on the suspension
Student in a manner not permitted by the instructor on an deliverable with
examination, project, or other graded assignment a warning
2.2.3 Distributing or aiding in the distribution of previous exams double warning suspension –
without authorization of the instructor – suspension expulsion
2.2.4 Stealing, reproducing, or circulating an examination or suspension expulsion
other graded assignment before it has been administered
2
Code # Violation First Offense Second
Offense
2.2.5 Impersonating another Student or allowing another Student suspension expulsion
to impersonate one’s self during an examination, for both
presentation, or other graded assignment
2.2.6 Impersonating an assistant, staff member, or faculty suspension – expulsion
member for the purpose of (a) proctoring examinations expulsion
without authorization or permission or (b) obtaining
confidential information regarding coursework or
examinations
2.2.7 Receiving, purchasing or selling a project, paper, or any suspension – expulsion
academic document and presenting it as work other than expulsion
that of the author
2.2.8 Submitting identical papers or coursework for credit in zero on the F on the course
more than one class without the permission of the instructor deliverable with with a warning
a warning
Plagiarism and Copyright Violations
2.2.9 Failing to attribute language or ideas to their original source zero on the F on the course
by not crediting the original author with an appropriate deliverable with with a warning
acknowledgement or citation a warning
2.2.10 Using photocopied or electronic copies of textbooks, warning double warning
compact disks, films, music, online course materials, and
other content beyond the fair use policy within University
Premises
2.2.11 Using copyrighted materials, including in written research warning double warning
reports and papers, without obtaining required permission,
if any, from the rights holder
Unauthorized Sale, Distribution, or Use of Course Materials
2.2.12 Recording any lecture or presentation for personal use or warning double warning
public distribution without the prior consent of the course
instructor. This applies to the unauthorized use of any
medium including but not limited to mobile phones,
electronic tablets, i-pads recorders, films, and other devices
2.2.13 Selling academic materials by any Student, club, or group. warning double warning
This includes but is not limited to lectures, course
recordings, class notes, and previous exams
UNIVERSITY ATTENDANCE POLICY
1. Students are expected to attend all classes.
2. For valid reasons, students may miss classes for a maximum that is equivalent to two regular weeks.
3. When exceeding the maximum number of absences, it is the instructor’s prerogative to ask the concerned
student to stop attending and drop the course. In this case, it is the student’s responsibility to drop the
course, otherwise a grade of “F” or “NP” will be given.
4. In exceptional justified cases (long illness, etc…), where absences exceed the maximum, the student has to
petition to the department Chair to be allowed to stay in the course.
5. Students are held responsible for all the material presented in the classroom, even during their absence.
WITHDRAWAL POLICY
WI is equivalent to Early Withdrawal
WP is equivalent to Withdrawal/Pass
WF is equivalent to Withdrawal/Fail
1. A student who withdraws after the Drop/Add period and by the end of the 5th week of classes (10th day of
classes for Summer Modules) will obtain a “WI” on that particular course.
3
The student may process such request directly through the Registrar’s Office.
2. A student who withdraws from a course between the 6th week and the end of the 10th week of classes (18th
day of classes for Summer Modules) will receive either a “WP” or a “WF”. “WP” or “WF” will be determined
by the instructor based on the achieved academic performance in that course till the time of withdrawal.
3. The “WI” and the “WP” will not count as a Repeat; whereas the “WF” will count as a Repeat.
4. “WI”, “WP” and “WF” will not count towards the GPA calculation.
Deadline for the “WP” and “WF” withdrawal from courses: check university calendar (It is the student’s
responsibility to drop the course)
COURSE ONLINE EVALUATIONS
In order to improve the effectiveness of the educational process, all students are expected to submit their
course evaluations by the last day of classes.
Students who fail to complete the evaluation of ALL registered courses by the set deadline:
1. will not be able to access their course grades from Banner or Portal until two weeks after the end of the
final exams period; and
2. will not be able to request transcripts.
The anonymity of the process and the students will be maintained at all times.
TIPS FOR SUCCESS
• Study daily and come to class prepared.
• Make sure you solve all the lab problems during or after each lab.
• Consistent attentive attendance is key to success in this course.
______________________________________________________________________________
RELATIONSHIP BETWEEN COURSE OUTCOMES AND PROGRAM OUTCOMES
• Students shall be able to apply their computational and mathematical knowledge in order to solve
computational problems.
• Students shall develop the ability to analyze a problem, identify, define, and verify the computing
requirements appropriate to its solution.
• Students shall learn to work effectively and interactively in teams in order to accomplish a common goal.
• Students shall develop the ability to apply mathematical foundations, algorithmic principles, and
computer science theory in the modeling and design of computer-based systems in a way that
demonstrates comprehension of the tradeoffs involved in design choices.