Anda di halaman 1dari 4

COURSE SYLLABUS

COURSE INFORMATION:
Course Code: SDF103 Data Structures and Applications
College: ________________________________________________
Department: ________________________________________________
Degree Program: ________________________________________________
Faculty Member: ________________________________________________
Consultation Period: ________________________________________________
Contact Information: ________________________________________________

Course Description: Software development requires the modeling, representation and organization of data to allow retrieval and
data manipulation operations. This course helps the students develop this capability through the design,
implementation and application of abstract data types (ADTs) 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 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 ADTs require intermediate programming
knowledge and skills, the use of proper coding standards, and application of proper testing and debugging
techniques.

COURSE OUTCOMES (CO):

On the completion of the course, student is expected to be able to do the following:

Graduate Outcomes Course Outcomes

Apply knowledge of computing fundamentals,


knowledge of a computing specialization, and
mathematics, science, and domain knowledge
Design and implement a program to solve a computing problem using
appropriate for the computing specialization to
appropriate abstractions and models by applying their knowledge and
the abstraction and conceptualization of
judicious use of:
computing models from defined problems and
(1) intermediate programming concepts; and
requirements. CO1
(2) abstract data types (stack, queue, list, set, binary tree, hash-
An ability to apply mathematical foundations,
table, graph) using various implementation strategies (e.g. array
algorithmic principles and computer science
vs linked-list implementation).
theory in the modeling and design of
computer-based systems in a way that
demonstrates comprehension of the tradeoffs
involved in design choices
Apply an appropriate coding standard with proper documentation in order
Create, select, adapt and apply appropriate
CO2 to come up with a readable, understandable and maintainable program
techniques, resources and modern computing
code.
tools to complex computing activities, with an
Select and apply appropriate debugging and testing techniques to ensure
understanding of the limitations to accomplish CO
the correctness of a program and compliance to given specifications, to
a common goal 3
solve a computing problem

page 1
OBE - COURSE SYLLABUS
LEARNING OUTPUTS (LO):
As evidence of attaining the above learning outcomes, the student has to do and submit the following:

Course
Learning Output Description and other Details Outcomes it
represents
LO1 Project 1 A mini-project applying and implementing one of the linear abstract data
types appropriate for the given problem. The project will be developed using CO1, CO2, CO3
proper coding guidelines as well as testing and debugging techniques.
LO2 Project 2 A mini-project applying and implementing one of the non-linear abstract data
types appropriate for the given problem. The project will be developed using CO1, CO2, CO3
proper coding guidelines as well as testing and debugging techniques.

OTHER REQUIREMENTS AND ASSESSMENTS (AA)


Aside from the final output, the student will be assessed at other times during the term by the following:

Assessment Activity Description and other Details Course Outcomes it represents

Programming Exercises Implementation strategies (e.g. array vs linked-list) for the


abstract data types - stacks, queues, list, set, hash-tables,
CO1, CO2, CO3
trees and graphs and their applications and use in
modeling and solving computing problems.
Major Written Description, illustration and implementation of various ADT
CO1
Examinations operations
Hands-on Examinations Implementation strategies (e.g. array vs linked-list) for the
abstract data types - stacks, queues, list, set, hash-tables
CO1, CO3
and graphs and their applications and use in modeling and
solving computing problems.
Quizzes Description, illustration and implementation of various ADT
CO1
operations

GRADING SYSTEM:
The final grade in this course will be composed of the following items and their weights in the final grade computation:

Assessment
Grade Source (Score or Rubric Grade) Percentage of Final Grade
Item
Programming 20%
Rubric for Programming Exercises
Exercises
Hands-on 20%
Exam Scores
Exams
Major Written 30%
Exam Scores
Exams
Quizzes Quiz Scores 10%
LO1 Rubric for Project 10%
LO2 Rubric for Project 10%

LEARNING PLAN:
page 2
OBE - COURSE SYLLABUS
In order to achieve the outcomes of this course, learners will go through this learning plan

Course Intended Learning Outcome Topics Teaching Learning Assessment Time


Outcomes (ILO) Activities (TLA) Tools/ Tasks Frame
ILO1. Explain the importance Lecture Recitation 2 hours
CO1 of the course content in 1.1 Course Syllabus Discussion lecture
CO3 relation to software Orient the students 3 hours
lab
development on the laboratory
policies and
guidelines
ILO1. Explain the importance 2.1 Concept of Lecture Interactive 2 hours
CO1 of abstraction in abstraction Discussion discussion lecture
CO3 programming 2.2 Review of type- Use of presentation Quizzes 3 hours
lab
ILO2. Implement abstract- definitions slides Programming
data types involving arrays 2.3 Parameters and Program simulation exercises
parameter passing Programming
2.4 Array processing Exercises using
and manipulation arrays with
2.5 Abstract data types emphasis on the
(ADTs) creation of

CO1 ILO1. Design ADTs using 3.1 Classes/Structures Lecture Interactive 2 hours
CO3 typedefs/structs/classes 3.2 Class Definition/Type Discussion discussion lecture
LO3. Implement abstract data definition involving Use of presentation Quizzes 3 hours
lab
types using structures slides Programming
structures/classes, functions Program simulation exercises
and methods. Programming Hands-on
Exercises using Examination
structures with
emphasis on the
creation of abstract
data types
CO1 ILO1. Illustrate the behavior 4.1 Linked-list Lecture Interactive 4 hours
CO3 of different linked-list 4.2 Linked-list Discussion discussion lecture
operations and explain the operations Use of presentation Programming 6 hours
lab
advantages and 4.3 Linked-list traversal slides exercises
disadvantages of using Program simulation Seat-work
linked-list Programming Quizzes
ILO2. Implement programs Exercises on Linked-
using linked-list list
CO1 ILO1. Describe and illustrate 5.1 Stack definition Lecture Interactive 2 hours
CO3 the behavior of the Stack 5.2 Stack Application Discussion discussion lecture
abstract data type 5.3 Stack Use of presentation Programming 3 hours
lab
ILO2. Implement Stacks using implementation slides exercises
arrays and linked-list using an array Program simulation
ILO3. Solve problems using 5.4 Stack Programming
Stacks implementation Exercises involving
using a linked-list stack like postfix
calculator, balanced
symbols
CO1 ILO1. Describe and illustrate 6.1 Queue definition Lecture Interactive 2 hours
CO3 the behavior of the Queue 6.2 Queue Application Discussion discussion lecture
abstract data type 6.3 Queue Use of presentation Programming 3 hours
lab
ILO2. Implement Queues implementation slides exercises
using arrays and linked-list using an circular Program simulation
ILO3. Solve problems using array Programming
Queues 6.4 Queue Exercises involving
implementation queues like first-
using a linked-list come-first serve
scheduling
problems
CO1 ILO1. Describe and illustrate 7.1 List definition Lecture Interactive 4 hours
CO2 the behavior of the List 7.2 List Application Discussion discussion lecture
CO3 abstract data type 7.3 List implementation Use of presentation Programming 6 hours
lab
ILO2. Implement Lists using using an array slides exercises
arrays and linked-list 7.4 List implementation Program simulation Quizzes
ILO3. Solve problems using using a linked-list Programming
Lists Exercises involving Hands-on
lists Examination

Midterm
Examination
page 3
OBE - COURSE SYLLABUS
Course Intended Learning Outcome Topics Teaching Learning Assessment Time
Outcomes (ILO) Activities (TLA) Tools/ Tasks Frame

Mini Project 1

CO1 ILO1. Define binary trees and 8.1 Binary tree Lecture Interactive 4 hours
CO3 binary search trees 8.2 Binary tree Discussion discussion lecture
representation of Use of presentation Programming 6 hours
ILO2. Illustrate the behavior
lab
of the different binary search expressions slides exercises
tree operations 8.3 Binary traversal Illustrations Quizzes
ILO3. Perform binary tree 8.4 Binary search trees Program simulation
traversals: pre-order, post- 8.5 Heap Programming
order, in-order exercises on binary
ILO4. Draw tree tree
representations of infix implementation
expressions
ILO5. Implement binary trees
ILO1. Define a hash-table 9.1 Hash-table Lecture Interactive 4 hours
ILO2. Describe the behavior of 9.2 Hash-table Discussion discussion lecture
different hash-table operations operations Use of presentation Programming 6 hours
lab
ILO3. Explain the advantages of 9.3 Open Hashing slides exercises
using hash-table in improving 9.4 Closed Hashing Illustrations Quizzes
add, search, and delete Program simulation
operations Programming
exercises on hash-
table
implementation

CO1 ILO1. Define and characterize 10.1Graph Definition Lecture Interactive 4 hours
CO2 graphs 10.2Graph Discussion discussion lecture
CO3 ILO2. Represent graphs using Representation Use of presentation Programming 6 hours
lab
adjacency matric and adjacency 10.3Graph application slides exercises
list Illustrations Quizzes
ILO3. Explain the use of graphs Program simulation
in modeling real-life problems Programming Hands-on
exercises on graph Examination
implementation
Final
Examination

Mini Project 2

page 4
OBE - COURSE SYLLABUS