Professional Documents
Culture Documents
cc214 Final
cc214 Final
These Student Activity Sheets (SAS) for the 1st Semester A.Y. 2022 – 2023
version of the Bachelor of Science in Information Technology CC214/CC214 L Data
Structures and Algorithms has been carefully crafted to supplement your learning
experience and provide you with hands-on practice in implementing and applying key
concepts in data structures and algorithms using the Python programming language. As
this is a work in progress, it will be updated frequently over the course of the semester.
Data structures and algorithms are at the core of computer science and software
development. They provide the essential tools and techniques for organizing,
manipulating, and processing data efficiently. In this course, we will explore various data
structures such as arrays, linked lists, stacks, queues, trees, and graphs, as well as
algorithms for searching, sorting, and graph traversal.
The activity sheets are organized in a progressive manner, starting from basic
concepts and gradually advancing to more complex topics. Each sheet includes a clear
explanation of the concept being covered, followed by a set of exercises and
programming challenges. The exercises range from theoretical questions to practical
coding tasks, allowing you to test your understanding and practice implementing the
concepts in Python.
Throughout the activity sheets, you will find examples and illustrations to help
you grasp the concepts more effectively. We encourage you to actively engage with the
material, work through the Guided Practice and CompuSkills independently, and seek
assistance when needed. The provided solutions and explanations will serve as a
reference and learning aid, helping you to validate your solutions and gain insights into
alternative approaches.
By working through these activity sheets, you will develop a strong foundation in
data structures and algorithms, gain proficiency in implementing them using Python,
and sharpen your problem-solving skills. These skills are not only essential for
academic success but also highly valued in the industry, as they form the basis for
building efficient and scalable software systems.
ii
We hope that you find these Student Activity Sheets in Data Structures and
Algorithms in Python valuable and enjoy the learning journey ahead. By utilizing this
course pack, BSIT students will have access to a valuable tool that can significantly
contribute to their success in Data Structures and Algorithm. It is our firm belief that this
resource will empower students to deepen their understanding, overcome hurdles, and
excel in this subject area. We have endeavored to provide a rich learning experience
that not only aids in comprehending complex concepts but also encourages critical
thinking and problem-solving skills. Remember, practice is key to mastery, so embrace
the challenges, embrace the code, and embrace the world of data structures and
algorithms in Python!
iii
COLLEGE OF TECHNOLOGY AND ENGINEERING
Information Technology Department
Dear Sir:
I am writing to formally request the adoption of the Student Activity Sheets for Data
Structures and Algorithms as an official course pack for the Bachelor of Science in
Information Technology (BSIT) program.
Having carefully reviewed the content and structure of the Student Activity Sheets, I
strongly believe that they are a valuable educational resource that can greatly enhance
the learning experience of BSIT students in the field of Data Structures and Algorithms.
The course pack provides comprehensive coverage of essential concepts, practical
implementation guidance, and problem-solving exercises, making it an ideal supplement
to the existing curriculum.
Here are some key reasons why I recommend adopting the Student Activity Sheets for
Data Structures and Algorithms as a course pack:
1. Enhanced Clarity and Presentation: The Student Activity Sheets have been
meticulously designed to improve the clarity and presentation of instructional
materials. The content is organized in a progressive manner, starting from
fundamental concepts and gradually progressing to more advanced topics. This
approach ensures that students can grasp the material effectively and build a
strong foundation in Data Structures and Algorithms.
iv
deeper understanding of Data Structures and Algorithms and enhances problem-
solving abilities.
Thank you for your time and consideration. I am available to provide any additional
information or discuss further details regarding the adoption of the Student Activity
Sheets. I look forward to a positive response and the potential implementation of this
valuable resource.
Sincerely ,
MELANIE ALBARRACIN
Instructor
Approval Recommended:
Approved:
EINGILBERT C. BENOLIRAO
Campus Director
v
TABLE OF CONTENTS
Preface ------------------------------------------------------------------------------------------- i
Syllabus ----------------------------------------------------------------------------------------- 79
vi
COLLEGE OF TECHNOLOGY AND ENGINEERING
Information Technology Department
COURSE GUIDE
Course: CC214/CC214L DATA STRUCTURES Credit Units 3.0 lab
AND ALGORITHM 2.0 lec
ST
Term Offered: 1 Semester 2022 – 2023 Total Hours 190
Instructor MELANIE R. ALBARRACIN
Pre-Requisite CC 123 / CC 123 L
Course Description
The course covers the standard data representation and algorithms to solve computing
problems efficiently (with respect to space requirements and time complexity of
algorithms). This covers the following: Stacks, Queues, Trees, Graphs, Maps and Sets.
Through sorting and searching algorithms and hashing is covered.
Course Learning Outcomes
CLO1 Design, implement, test and debug a program based on a given specification that uses
and implement abstract data types (stacks, queues, priority queues, sets, maps).
(Introducing: IT01, IT06, IT07, IT09, IT10, IT12, IT13; Enabling: IT02, IT03)
CLO2 Argue strengths and weaknesses among multiple implementations for a problem (e.g. on
the aspects of iterative or recursive solutions and on the aspects of abstraction,
encapsulation and information hiding). (Introducing: IT01, IT06, IT07, IT09, IT10, IT12,
IT13; Enabling: IT02, IT03)
ILO: Test the different approaches to designing algorithms and different notations for evaluating
the performance of algorithms. (CLO1, CLO2)
vii
Topic 5: STACKS, QUEUES AND DEQUES
Stacks
Queues
Double Ended Queues (Deques)
ILO: Create programs using stacks , queues and deques implementation.(CO1)
viii