CENTRO ESCOLAR UNIVERSITY
Manila * Makati * Malolos
SYLLABUS ON DATA STRUCTURE AND ALGORITHM
Course Number : PCCO105 Course Descriptive Title : Data Structure and Algorithm
No of Units : 3 No of Hours per Week : Lec: 2 Lab: 3
Pre-requisites : PCCO104
CEU VISION – MISSION STATEMENT
UNIVERSITY PHILOSPHY
Ciencia y Virtud ( Science and Virtue)
UNIVERSITY VISION
CEU is the University of first choice - the leading higher education
institution fostering excellence in the pursuit of knowledge while engendering
personal integrity and social responsibility.
UNIVERSITY MISSION
To build a brighter future – for our students, the Philippines, and the
world.
CEU CORE VALUES
V - Valuing others, caring for them and empowering them
A - Accountability, integrity and trust worthiness
L - Lifelong learning as individuals and as an organization
U - Unity, teamwork and loyalty
E - Excellence in all endeavors
S - Social responsibility as citizens of the Filipino nation and of the world
CENTRO ESCOLAR EXPECTED
GRADUATE ATTRIBUTES (CEEGA)
LIFELONG LEARNER
 Learns and works independently as
well as collaboratively.
 Translates knowledge generated from
research and other sources to improve
quality of life.
 Creates new ideas to better
understand society
 Evaluates own thinking, behavior and
spirituality for self-growth
REFLECTIVE AND CREATIVE THINKER
 Thinks critically and creatively.
 Open-minded.
 Solves problems systematically.
 Loves art and shows artistic
sensibility.
CARING AND TRUSTWORTHY CITIZEN
 Values people and acts in unity with
others.
 Commits to social justice and
principles of sustainability and
respect for diversity.
 Practices good stewardship and
accountability.
 Manifests social responsibility by
helping improve conditions of those
who have less in life or circumstance.
COLLEGE OF ACCOUNTANCY
MANAGEMENT & TECHNOLOGY
MISSION STATEMENT:
The College of Accountancy,
Management, and Technology is
committed to be a strong arm of the
university in fostering excellence in the
pursuit of knowledge, while
engendering personal integrity and
social responsibility.
VISION:
Total Quality Education for
Global Accountants and Business
Professionals.
PROFICIENT COMMUNICATOR
 Articulates ideas clearly for varied
purposes and audiences of diverse
culture.
 Listens attentively, engages in
meaningful exchange and shares
knowledge, values, attitudes and
intentions.
 Utilizes effectively appropriate media
and information technologies.
COMPETENT AND PRODUCTIVE
PROFESSIONAL
 Initiates, innovates better ways of
doing things and accountability.
 Promotes quality and productivity.
Course Description
The course is an introduction to data structures including the asymptotic analysis of algorithms and methods for proving correctness. Sorting and searching: algorithms
and lower bound, Abstract data types and classes, Data structures: heaps, search trees, tries, and hashing. Graphs: representation, depth-first-search, and breadth-first-
search will also be covered.
Course Intended Learning Outcomes:
Specifically it aims to:
1. Identify basic algorithms and data structures.
2. Emulate data structures in arrays, records, variants and pointers.
3. Implement abstract data types in object-based software development.
4. Compute the function of asymptotic notation and notions of time and space complexity, and be able to roughly estimate the efficiency of algorithms.
5. Implement ADT such as stacks, queues, lists, sets, trees and algorithms such as searching and sorting.
6. Design and write code that uses previously compiled C++ (object-oriented) classes.
7. Design and specify ADT’s to modularize and solve programming problems.
Intended Learning Outcomes Content Teaching Learning Activities Time
Allotment
Resources Assessment
Upon completion of this module,
you should be able to:
1. Develop ability to
understand and apply and
prove precise mathematical
claims about space and
time requirements of
algorithm.
2. Solidify understanding of
definitions and notations for
asymptotic notations
3. Prove claims involving
asymptotic notations.
4. Explain when a topological
sort may be successfully
completed.
5. Explain the use of
topological sort.
6. Diagram the action of a
topological sort.
Module 1- General Concepts
1. Abstract data structure as an
organization of data with specified
properties and operations
2. Time and space analysis of
algorithms
3. Big oh and theta notations
4. Average, best and worst case
analysis
5. Simple recurrence relations and use
in algorithm analysis
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
5 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Marker
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Code a topological sort or
some other algorithm with
adjacency matrix and
adjacency list.
2. Discover and explain from
among themselves an
algorithm.
Module II. Linear Data Structures
1. Arrays, lists, stacks, queues
2. Array and linked structure
implementations of lists, stacks,
queues
3. Array of nodes and dynamic pointer
implementations of linked
structures
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
10 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Marker
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Solve minimum weight
spanning tree problems.
2.
3. Write the code for
computing the minimum
weight spanning tree for a
connected, nondirected
graph using Kruskal’s and
Prim’s algorithm.
4.
5. Diagram and code a graph’s
exhaustive search tree
6.
7. Gain knowledge of
advanced algorithms and
data structures, such as
red-black trees, B-trees,
binomial heaps, Fibonacci
heaps.
Module III. Trees
1. General and binary trees
2. Representations and traversals
3. General trees as binary trees
4. Binary search trees
5. Applications
6. The concept of balancing and its
advantages
7. Some balanced tree mechanism, eg.
AVL trees, 2-3 trees, red-black trees,
self-adjusting trees
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
10 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Marker
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Explain why Kruskal’s
algorithm and Prim’s
algorithm are considered
“greedy”.
2.
3. Explain why Dijkstra’s
algorithm exemplifies
dynamic programming.
Module IV. Algorithm Design Techniques
1. Greedy methods
2. Priority queue search
3. Exhaustive search
4. Divide and conquer
5. Dynamic programming
6. Recursion
7. Influence of data structure on
algorithm performance
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
10 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Marker
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Find the shortest path
between two vertices in a
weighted directed graph
using Dijkstra’s algorithm.
2. To write the corresponding
codes for the appropriate
algorithm.
Module V. Hashing
1. Hash functions
2. Collision resolution
3. Expected behavior
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
10 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Marker
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Diagram and code depth
first and breadth first
travelsals of nondirected
graphs.
2. Define an Euler circuit and
state the necessary and
sufficient conditions for one
to exist within a digraph or
graph.
Module VI. Graphs and Digraphs
4. Representations
5. Breadth and depth first searches
1. Connectivity algorithms
2. Shortest path
3. Minimal spanning tree
4. The union find problem
5. Hamiltonian path and travelling
salesperson problems
6. Network flow
7. Matchings
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
10 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Marker
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Analyze the selection,
bubble, and insertion sorts;
the quick sort and the heap
sort; a family of merge
Module VII. Sorting
1. Elementary sorts: selection,
insertion, bubblesort. Quicksort,
mergesort, heapsort
2. Bucket sorting
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
10 PowerPoint
Application
Computer Unit
with C++ installed
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
sorts; and the radix sort.
2. Compare and contrast the
above algorithms based on
their formal characteristics.
3. Diagram the mechanisms of
sorting techniques.
3. External sorting
4. Worst case and average behavior
5. Lower bound for sorting using
comparisons
6. Order statistics
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
in it
Projector
Board and
Marker
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Define a Hamiltonian circuit
and esplain that the
traveling salesperson’s
problem is that of finding
the minimal cost tour.
2. Explain and diagram the
differences among the
exhaustive search, the
backtracking, and branch
and bound approaches to
solving the traveling
salesperson problem.
3. Explain and exemplify the
designations of P, NP, NP-
complete in the
classification of problems.
Module VIII. NP Vs. P
1. The spaces P and NP
2. Polynomial reduction
3. NP complete problems
4. Boolean satisfiability and Cook's
theorem
5. Binpacking, knapsack, Hamiltonian
path, TSP, independent set, max
clique, integer
6. linear programming, graph coloring
7. Approximation algorithms
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
Classroom Discussion,
CANVAS, Google
Classroom)
10 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Marker
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
Upon completion of this module,
you should be able to:
1. Explain the difference with
Supervised and
Unsupervised Learning
2. Identify application of
reinforcement learning and
deep learning
3. Apply machine learning
algorithm to current
situation.
Module IX- Machine Learning
1. Supervised and Unsupervised
Learning
2. Reinforcement Learning
3. Deep Learning
4. Limits of Machine Learning
Lecture/Discussion using
Powerpoint
Recitation
Standardized assessment
(quiz, exam, assignment)
Hands-on Activities
Blended learning (via
15 PowerPoint
Application
Computer Unit
with C++ installed
in it
Projector
Board and
Pre-tests/Post tests
Homework
Graded Recitation
Check lists
Quizzes
Online Tests
Chapter Exam
Case studies
Reflection
Periodic Exams
4. Determine Limitations of
Machine Learning
Classroom Discussion,
CANVAS, Google
Classroom)
Marker
Course Requirements At the end of the semester, the student will submit a Portfolio of Activities.
Required Textbook:
NONE
References:
C++ programming; Program Design Including Data Structures, D.S, Malik, 2015
An Introduction to Programming with C++, Diane Zak, 2016
Introduction to algorithm design, 3G E-Learning, 2017
Web Sites:
https://www.freetechbooks.com/data-structures-and-algorithms-with-object-oriented-design-patterns-in-java-t146.html (e-book creative commons)
http://people.cs.vt.edu/~shaffer/Book/Java3e20110103.pdf (e-book creative commons)
https://bradfieldcs.com/algos/analysis/introduction/ (e-book creative commons)
Prepared by:
Lani E. Sakay, Ph.D. sgd.
Date:
May 3, 2018
Approved by:
Dr. Eliza B. Ayo, sgd.
Dean/Head
Date:
May 3, 2018

Data Structure Syllabus.pdf

  • 1.
    CENTRO ESCOLAR UNIVERSITY Manila* Makati * Malolos SYLLABUS ON DATA STRUCTURE AND ALGORITHM Course Number : PCCO105 Course Descriptive Title : Data Structure and Algorithm No of Units : 3 No of Hours per Week : Lec: 2 Lab: 3 Pre-requisites : PCCO104 CEU VISION – MISSION STATEMENT UNIVERSITY PHILOSPHY Ciencia y Virtud ( Science and Virtue) UNIVERSITY VISION CEU is the University of first choice - the leading higher education institution fostering excellence in the pursuit of knowledge while engendering personal integrity and social responsibility. UNIVERSITY MISSION To build a brighter future – for our students, the Philippines, and the world. CEU CORE VALUES V - Valuing others, caring for them and empowering them A - Accountability, integrity and trust worthiness L - Lifelong learning as individuals and as an organization U - Unity, teamwork and loyalty E - Excellence in all endeavors S - Social responsibility as citizens of the Filipino nation and of the world CENTRO ESCOLAR EXPECTED GRADUATE ATTRIBUTES (CEEGA) LIFELONG LEARNER  Learns and works independently as well as collaboratively.  Translates knowledge generated from research and other sources to improve quality of life.  Creates new ideas to better understand society  Evaluates own thinking, behavior and spirituality for self-growth REFLECTIVE AND CREATIVE THINKER  Thinks critically and creatively.  Open-minded.  Solves problems systematically.  Loves art and shows artistic sensibility. CARING AND TRUSTWORTHY CITIZEN  Values people and acts in unity with others.  Commits to social justice and principles of sustainability and respect for diversity.  Practices good stewardship and accountability.  Manifests social responsibility by helping improve conditions of those who have less in life or circumstance. COLLEGE OF ACCOUNTANCY MANAGEMENT & TECHNOLOGY MISSION STATEMENT: The College of Accountancy, Management, and Technology is committed to be a strong arm of the university in fostering excellence in the pursuit of knowledge, while engendering personal integrity and social responsibility. VISION: Total Quality Education for Global Accountants and Business Professionals.
  • 2.
    PROFICIENT COMMUNICATOR  Articulatesideas clearly for varied purposes and audiences of diverse culture.  Listens attentively, engages in meaningful exchange and shares knowledge, values, attitudes and intentions.  Utilizes effectively appropriate media and information technologies. COMPETENT AND PRODUCTIVE PROFESSIONAL  Initiates, innovates better ways of doing things and accountability.  Promotes quality and productivity. Course Description The course is an introduction to data structures including the asymptotic analysis of algorithms and methods for proving correctness. Sorting and searching: algorithms and lower bound, Abstract data types and classes, Data structures: heaps, search trees, tries, and hashing. Graphs: representation, depth-first-search, and breadth-first- search will also be covered. Course Intended Learning Outcomes: Specifically it aims to: 1. Identify basic algorithms and data structures. 2. Emulate data structures in arrays, records, variants and pointers. 3. Implement abstract data types in object-based software development. 4. Compute the function of asymptotic notation and notions of time and space complexity, and be able to roughly estimate the efficiency of algorithms. 5. Implement ADT such as stacks, queues, lists, sets, trees and algorithms such as searching and sorting. 6. Design and write code that uses previously compiled C++ (object-oriented) classes. 7. Design and specify ADT’s to modularize and solve programming problems. Intended Learning Outcomes Content Teaching Learning Activities Time Allotment Resources Assessment
  • 3.
    Upon completion ofthis module, you should be able to: 1. Develop ability to understand and apply and prove precise mathematical claims about space and time requirements of algorithm. 2. Solidify understanding of definitions and notations for asymptotic notations 3. Prove claims involving asymptotic notations. 4. Explain when a topological sort may be successfully completed. 5. Explain the use of topological sort. 6. Diagram the action of a topological sort. Module 1- General Concepts 1. Abstract data structure as an organization of data with specified properties and operations 2. Time and space analysis of algorithms 3. Big oh and theta notations 4. Average, best and worst case analysis 5. Simple recurrence relations and use in algorithm analysis Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) 5 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Marker Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams Upon completion of this module, you should be able to: 1. Code a topological sort or some other algorithm with adjacency matrix and adjacency list. 2. Discover and explain from among themselves an algorithm. Module II. Linear Data Structures 1. Arrays, lists, stacks, queues 2. Array and linked structure implementations of lists, stacks, queues 3. Array of nodes and dynamic pointer implementations of linked structures Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) 10 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Marker Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams
  • 4.
    Upon completion ofthis module, you should be able to: 1. Solve minimum weight spanning tree problems. 2. 3. Write the code for computing the minimum weight spanning tree for a connected, nondirected graph using Kruskal’s and Prim’s algorithm. 4. 5. Diagram and code a graph’s exhaustive search tree 6. 7. Gain knowledge of advanced algorithms and data structures, such as red-black trees, B-trees, binomial heaps, Fibonacci heaps. Module III. Trees 1. General and binary trees 2. Representations and traversals 3. General trees as binary trees 4. Binary search trees 5. Applications 6. The concept of balancing and its advantages 7. Some balanced tree mechanism, eg. AVL trees, 2-3 trees, red-black trees, self-adjusting trees Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) 10 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Marker Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams Upon completion of this module, you should be able to: 1. Explain why Kruskal’s algorithm and Prim’s algorithm are considered “greedy”. 2. 3. Explain why Dijkstra’s algorithm exemplifies dynamic programming. Module IV. Algorithm Design Techniques 1. Greedy methods 2. Priority queue search 3. Exhaustive search 4. Divide and conquer 5. Dynamic programming 6. Recursion 7. Influence of data structure on algorithm performance Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) 10 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Marker Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams
  • 5.
    Upon completion ofthis module, you should be able to: 1. Find the shortest path between two vertices in a weighted directed graph using Dijkstra’s algorithm. 2. To write the corresponding codes for the appropriate algorithm. Module V. Hashing 1. Hash functions 2. Collision resolution 3. Expected behavior Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) 10 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Marker Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams Upon completion of this module, you should be able to: 1. Diagram and code depth first and breadth first travelsals of nondirected graphs. 2. Define an Euler circuit and state the necessary and sufficient conditions for one to exist within a digraph or graph. Module VI. Graphs and Digraphs 4. Representations 5. Breadth and depth first searches 1. Connectivity algorithms 2. Shortest path 3. Minimal spanning tree 4. The union find problem 5. Hamiltonian path and travelling salesperson problems 6. Network flow 7. Matchings Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) 10 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Marker Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams Upon completion of this module, you should be able to: 1. Analyze the selection, bubble, and insertion sorts; the quick sort and the heap sort; a family of merge Module VII. Sorting 1. Elementary sorts: selection, insertion, bubblesort. Quicksort, mergesort, heapsort 2. Bucket sorting Lecture/Discussion using Powerpoint Recitation Standardized assessment 10 PowerPoint Application Computer Unit with C++ installed Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests
  • 6.
    sorts; and theradix sort. 2. Compare and contrast the above algorithms based on their formal characteristics. 3. Diagram the mechanisms of sorting techniques. 3. External sorting 4. Worst case and average behavior 5. Lower bound for sorting using comparisons 6. Order statistics (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) in it Projector Board and Marker Chapter Exam Case studies Reflection Periodic Exams Upon completion of this module, you should be able to: 1. Define a Hamiltonian circuit and esplain that the traveling salesperson’s problem is that of finding the minimal cost tour. 2. Explain and diagram the differences among the exhaustive search, the backtracking, and branch and bound approaches to solving the traveling salesperson problem. 3. Explain and exemplify the designations of P, NP, NP- complete in the classification of problems. Module VIII. NP Vs. P 1. The spaces P and NP 2. Polynomial reduction 3. NP complete problems 4. Boolean satisfiability and Cook's theorem 5. Binpacking, knapsack, Hamiltonian path, TSP, independent set, max clique, integer 6. linear programming, graph coloring 7. Approximation algorithms Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via Classroom Discussion, CANVAS, Google Classroom) 10 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Marker Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams Upon completion of this module, you should be able to: 1. Explain the difference with Supervised and Unsupervised Learning 2. Identify application of reinforcement learning and deep learning 3. Apply machine learning algorithm to current situation. Module IX- Machine Learning 1. Supervised and Unsupervised Learning 2. Reinforcement Learning 3. Deep Learning 4. Limits of Machine Learning Lecture/Discussion using Powerpoint Recitation Standardized assessment (quiz, exam, assignment) Hands-on Activities Blended learning (via 15 PowerPoint Application Computer Unit with C++ installed in it Projector Board and Pre-tests/Post tests Homework Graded Recitation Check lists Quizzes Online Tests Chapter Exam Case studies Reflection Periodic Exams
  • 7.
    4. Determine Limitationsof Machine Learning Classroom Discussion, CANVAS, Google Classroom) Marker Course Requirements At the end of the semester, the student will submit a Portfolio of Activities. Required Textbook: NONE References: C++ programming; Program Design Including Data Structures, D.S, Malik, 2015 An Introduction to Programming with C++, Diane Zak, 2016 Introduction to algorithm design, 3G E-Learning, 2017 Web Sites: https://www.freetechbooks.com/data-structures-and-algorithms-with-object-oriented-design-patterns-in-java-t146.html (e-book creative commons) http://people.cs.vt.edu/~shaffer/Book/Java3e20110103.pdf (e-book creative commons) https://bradfieldcs.com/algos/analysis/introduction/ (e-book creative commons) Prepared by: Lani E. Sakay, Ph.D. sgd. Date: May 3, 2018 Approved by: Dr. Eliza B. Ayo, sgd. Dean/Head Date: May 3, 2018