CCC 121
CCC 121
INSTRUCTOR’S INFORMATION
Name Contact Number
Email Address Consultation Hours
COURSE INFORMATION
Course Code CCC121 Course Title Data Structures and Algorithms Credit Units 3
Basic data structures; linear lists, stacks, queues, trees, sets, graphs; programming techniques for processing such structures; recursive
Course Description programming; analysis of algorithms.
1. Apply knowledge of computing, science and mathematics and appropriate to the discipline (IT01).
2. Apply knowledge through the use of current techniques, skills, tools and practices necessary to the IT profession (ITO7).
3. Assist in the creation of an effective IT project plan (IT09).
LEARNING PLAN
Learning Outcomes Content/topic Learning strategies and Week Learning Resources Assessment Tools and
activities Methodologies
LO1. Gain understanding of data Introduction: What are the Lecture, Oral Discussion 1 Quizzes, Assignments,
structures such as list, stacks, benefits of data abstraction Oral Questioning
queues, trees, sets, graphs,
including their design,
implementation and use.
LO2. Analyze and explain the trade- Asymptotic notation and analysis Lecture, Oral Discussion, 2 Quizzes, Assignments,
offs of the different design and Oral Questioning
implementation
LO3. Gain proficiency in processing Arrays Lecture, Oral Discussion, 3 Quizzes, Assignments,
the data structures through Oral Questioning
searching and sorting
LO4. Build and traverse trees and Linear Lists Lecture, Oral Discussion, 4 Quizzes, Programming
graphs using recursion
Trees and Binary Tree Guided Programming, Video 9 Essay Assignments, Exam,
Showing Oral Questioning
Binary Search Tree and AVL Trees Lecture, Oral Discussion 10 Quizzes, Programming
Course Requirements
Class Policy 1. Your instructor may or may not explicitly check attendance every day. How-ever, if you are caught exceeding your allowable
cuts for the semester, you may be given a grade of 5.
2. In case you cut, it will be your responsibility to know the material covered for the day. The instructor reserves the right to give
unannounced quizzes or graded lab exercises at any time.
3. No makeup tests will be given unless you can present a medical certificate or an immediate member of your family died. Make
up tests will solely be on the teacher’s discretion.
4. Playing games is strictly prohibited during class hours. Web browsing and doing email are also prohibited, unless done in
connection with the current lecture or lab topic and allowed by the teacher.
5. Use of communication devices is prohibited during class hours. Please turn them off during class.
6. Class requirements are due during class hours, unless otherwise specified. Late submission will merit deductions as specified
by the teacher.
7. Cheating will not be tolerated. Cheating in any requirement will result in a minimum penalty of having a grade of 0 for that
requirement. Duplicated projects/lab exercises will merit penalties for both the student who copied and the student from
whom the work was copied.
8. Additional policies, with due consultation with the students, may be implemented by the teacher to adapt to the class
environment. Students are advised to be aware of such updates, and to ask their instructor if anything is unclear.
a. Required
1. Neapolian, Richard, Foundations of Algorithms (4th edition), Jones & Bartlett Learning (2011). ISBN
Measurement Weight
978- 0763782504
2. Malik, D. S., Java Programming: From Problem Analysis to Program Design, Cengage Learning (2012). ISBN 978-
Prelim Exam 20% 1111530532
Midterm Exam 20%
b. Optional
Final Exam 20%
1. Collins, William J., Data Structures and the Standard Library, McGraw-Hill (2003). ISBN 978-0070487086
Quizzes 15% 2. Bailey, Duane A., Java Structures: Data Structures in Java for the Princi-pled Programmer, McGraw-Hill (2003).
Laboratory Activities 25% ISBN 978-0072399097
TOTAL 100%
Prepared by: Checked by: Approved:
___________________________________________ ___________________________________________
Department Chairperson College Dean