Professional Documents
Culture Documents
COURSE SYLLABUS
COURSE DESCRIPTION: This course helps the students develop this capability through the design, implementation and application of abstract data types (ADT’s) as a way
of representing, organizing and manipulating data; in particular stacks, queues, lists, sets, hash-table, trees, and graphs. ADTs represent models
and associated operations on those models. ADTs are designed using language features supporting abstractions (classes or type definitions with
associated functions); and implemented using specific language constructs (arrays, structures and linked- structures) to represent the data; and
associated operations are coded using functions/methods. ADTs are then used and applied as building blocks in developing software to solve
computing problems.
Experience in designing and implementing ADTs will enable the students to be able to choose, given a particular computing problem,
which ADT, as well as which implementation strategy is the most appropriate one to use considering the nature of the data, and the various
operations that are needed to manipulate the data. The design, implementation and application of these ADT’s require intermediate programming
knowledge and skills, the use of proper coding standards, and application of proper testing and debugging techniques.
PRE-REQUISITE : CC1O3
UNITS : 3
1|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
OUTCOMES:
On the completion of the degree, student is expected to demonstrate the following institutional outcomes as reflected from the school’s vision-mission and
core-values statement:
1. TECHNOLOGICAL SAVVY: Students demonstrate adeptness in the use of modern technology especially computers, to be more productive and efficient individuals.
2. LOGICAL REASONING: Students demonstrate the ability to analyze, evaluate, reason, and develop evidence-based arguments and decisions using sound procedures.
3. SELF-DEVELOPMENT: Students demonstrate continuous pursuit of improving their skills and capabilities in order to realize and maximize their potentials.
4. SOCIAL EMPOWERMENT: Students demonstrate a sense of autonomy and self-confidence in making personal choices, actively participating in the society and
promoting social equity that also involves the ability to affect and control other aspects of the community.
5. COMMUNICATION: Students demonstrate effective oral and written communication skills, in both Filipino and English, to interact within their personal and
professional communities.
6. TECHNICAL PROFICIENCY: Students demonstrate technical knowledge and skills required in the specialist and professional job role and responsibilities in order to
achieve the expected outputs.
7. LIFELONG LEARNING: Students demonstrate heightened awareness on the significance of life and of learning, the ability to manage and evaluate own process skills,
strengths and weaknesses, and willingness and perseverance to continuously accept and seek new challenges in learning.
8. Employ RTA (Receive-Think-Answer) technique in all aspects of their personal and professional lives as learners.
2|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
6. Apply knowledge through the use of current techniques, skills, tools CO2 Argue strength and witnesses among multiple implementations for a
and practices necessary for the IT profession. problem. (i.e on the aspects of iterative vs recursive solutions and on the
aspects of abstraction, encapsulation and information hiding.
7. Function effectively as a member or leader of a development team
recognizing the different roles with a team to accomplish a common
goal
8. Assist in the creation of an effective IT project plan
9. Communicate effectively with the computing community and with Select and apply appropriate debugging and testing techniques to ensure the
society at large about complex computing activities through logical correctness of a program and compliance to given specifications, to solve a
writing, presentations, and clear instructions. computing problem
10. Analyze the local and global impact of information technology on CO3
individuals, organizations, and society.
11. Recognize the need for and engage in planning self-learning and
improving performance as a foundation for continuing professional
development.
SAMPLE OUTPUT
Output Layout:
3|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
Main Menu
1 - Determine Student Grade
2 - Determine Greatest Common Divisor
3 - Determine a Valid Letter
4 - Determine Interest Due of a Credit Card Account
5 - Determine Factorial of a Number
Enter choice [1-5] :
TERM OUTPUT
PRELIM: Create a simple Mortgage Calculator/ Loan Calculator using the given formula. Proper declaration of variables is required.
This is from Mortgage Backed Securities by William W Barlett and was sent to me by Victor Kheyfets.
4|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
GRADING SYSTEM:
TEACHING AND
COURSE OUTCOME LEARNING LEARNING
TOPICS TA LEARNING ASSESSMENT
(CO) OUTCOME (LO) OUTPUT
ACTIVITIES
CO1 Course Orientation Course Syllabus 2 Hours Lecture Discussion Recitation
Orient the students on
Discuss the rules and laboratory policies and
regulations guidelines
5|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
expected output
CO1, CO2 Design ADT’s usingt Create a program Classes/Structures 2 Hours TA: Quiz: Identification/
ypedefs/ structs/classes using structures Class Definition/Type Lecture Lecture and Definition
with emphasis on definition involving 3 Hours Classroom Hands On
Design, implement, and the creation of structures Laboratory Discussion Programming
test programmer- abstract data Programming Laboratory Activities
defined/abstract data types types Demonstration
using structures/classes, LA:
functions/methods. Guided Hands-On
Programming
Session
Independent
Programming
Assignments
6|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
CO1, CO2, CO3 Illustrate the behavior of Program Linked-list 4 Hours TA: Quiz: Illustration/ Essay
different linked-list Evaluation using Linked-list operations Lecture Lecture and and Hands On
operations and explain the Linked-list Linked-list traversal 6 Hours Classroom Programming
advantages and Structure Laboratory Discussion Laboratory Activities
disadvantages of using Programming
linked-list Demonstration
LA:
Design, implement and Guided Hands-On
test programmer- Programming
defined/abstract data types Session
using linked-lists Independent
Programming
Assignments
CO1, CO2 Describe and illustrate the Create a program Stack definition 4 Hours TA: Quiz: Illustration/ Essay
behavior of the Stack involving stack Stack Application Lecture Lecture and and Hands On
abstract data type like postfix Stack implementation using 6 Hours Classroom Programming
calculator, an array Laboratory Discussion Laboratory Activities
Identify sample balanced symbols Stack implementation using a Programming
applications using a Stack linked-list Demonstration
LA:
Implement the ADT Stack Guided Hands-On
using arrays and linked- Programming
list and test each operation Session
Independent
Solve problems using the Programming
Stack ADT Assignments
7|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
CO1, CO2 Describe and illustrate the Create a program Queue definition 2 Hours TA: Quiz: Illustration/ Essay
behavior of the Queue involving queues Queue Application Lecture Lecture and and Hands On
abstract data type like first-come- Queue implementation using 3 Hours Classroom Programming
first serve an circular array Queue Laboratory Discussion Laboratory Activities
Identify sample scheduling implementation using a Programming
applications using a Queue problems linked-list Demonstration
LA:
Implement the Queue Guided Hands-On
ADT using arrays and Programming
linked-list and test each Session
operation Independent
Programming
Solve problems using Assignments
Queues
CO1, CO2, CO3 Describe and illustrate the Design and List definition 4 Hours TA: Quiz: Illustration/ Essay
behavior of the List Implement List Application Lecture Lecture and and Hands On
abstract data type algorithm in List implementation using an 6 Hours Classroom Programming
Program array Laboratory Discussion Laboratory Activities
Implement the ADT List Evaluation and List implementation using a Programming
using arrays and linked- simulation linked-list Demonstration
list and test each operation involving lists LA:
Guided Hands-On
Solve problems using Programming
Lists Session
Independent
Compare the Programming
performance/behavior of Assignments
the different operations
using array or linked-list
implementation
CO1, CO2 Define binary trees and Create a program Binary tree 2 Hours TA: Quiz: Illustration/ Essay
binary search trees using binary tree Binary tree representation of Lecture Lecture and and Hands On
implementation expressions 3 Hours Classroom Programming
Illustrate the behavior of Binary traversal Laboratory Discussion Laboratory Activities
the different binary search Binary search trees Programming
tree operations Demonstration
8|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
CO1, CO2 Define a hash-table Reconstruct a Hash-table 4 Hours TA: Quiz: Illustration/ Essay
previous program Hash-table operations Lecture Lecture and and Hands On
Illustrate the behavior of and make an Open Hashing 6 Hours Classroom Programming
different hash-table illustration on Closed Hashing Laboratory Discussion Laboratory Activities
operations Hash Table Programming
Demonstration
Explain the advantages of LA:
using hash-table in Guided Hands-On
improving add, search, Programming
and delete operations Session
Independent
Programming
Assignments
CO1, CO3 Define and characterize Create a graph Graph Definition 4 Hours TA: Quiz: Illustration/ Essay
graphs representation of Graph Applications Lecture Lecture and and Hands On
a program using Graph Representation 6 Hours Classroom Programming
Identify sample matrix and list Graph Traversal Laboratory Discussion Laboratory Activities
applications of graphs Programming
Demonstration
Represent graphs using LA:
adjacency matrix and Guided Hands-On
adjacency list Programming
9|Page OAA-CPDO|10-2017
CC104 – DATA STRUCTURE AND ALGORITHM
REFERENCES:
1. Data Structure & Algorithm
Tutorials Point, Simply Easy Learning
ONLINE REFERENCE:
1. www.cplusplus.com/reference/clibrary
2. http://www.iu.hio.no/~mark/CTutorial/CTutorial.html#Parameters
10 | P a g e O A A - C P D O | 1 0 - 2 0 1 7