Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

TMF1434 [Ver.

3] Data Structure and Algorithms Faculty of Computer Science and Information Technology, UNIMAS

COURSE TITLE DATA STRUCTURE AND ALGORITHMS


(Struktur Data dan Algoritma)

COURSE CODE TMF1434

CREDIT 4

PREREQUISITE/S TMF1414 Introduction to Programming (Prerequisite)


TMF1814 Discrete Mathematics (Prerequisite)

SYNOPSIS This course will focus on data structures and associated algorithms
that are fundamental to the study of computer science. We will also
discuss analysis of algorithms in terms of algorithmic efficiency. The
innovative features of this course is the use of the object-oriented
language. Object-oriented programming languages are widely used
in industry by corporations worldwide, and is rapidly becoming the
language of choice for software development professionals.

(Kursus ini akan memfokuskan struktur data dan algoritma yang


penting dalam kajian sains komputer. Kursus ini juga akan
membincangkan analisis algoritma dalam keadaan algoritma yang
efisien. Ciri-ciri yang inovatif dalam kursus ini adalah penggunaan
bahasa berasaskan objek. Bahasa pengaturcaraan berasaskan objek
telah digunakan dengan meluas dalam industri oleh korporat di
seluruh dunia.)

LEARNING By the end of this course, students will be able to:


OUTCOMES o Explain object-oriented design principle in program
development, such as objects, classes, inheritance and others.
[C4]
o Construct C++ program using different type of data structure.
[P4]
o Analyze the impacts on the performance of the program based
on the selected data structure and algorithm design. [C4]
o Justify solution clearly and confidently. [A3, TS]

Generated using the iCLASS System. 1/4


TMF1434 [Ver.3] Data Structure and Algorithms Faculty of Computer Science and Information Technology, UNIMAS

STUDENT Guided LHs Self LHs


LEARNING Sub-Total 0 0
HOURS Total 0 Hours

LEARNING Guided LHs


UNITS 1. Software Engineering Principles and C++ Classes 2
- Definition of Computer
- Software Life Cycle
- Software Development Phase
- Algorithms Analysis: The Big-O notation
- Objects and Classes
- Data Abstractions and Abstract Data Types

2. Abstract Data Types 2


- Introduction to Abstract Data Types
- ADTs List
- Designing and Implementation of ADTs

Standard Template Library (STL)


- Introduction to STL
- Containers of STL
- Iterators of STL
- Function Objects
- Array Based ADTs

3. Pointers & Array 2


- Pointer data type & variables
- Address and dereferencing operator
- new and delete operators
- Dynamic variables & array
- Shallow and deep copies of data
- Virtual functions

4. Linked list 3
- Linked lists
- Properties of linked lists
- Item insertion and deletion
- Building linked list
- Linked list as an ADT
- Ordered Linked list
- Doubly Linked List

Generated using the iCLASS System. 2/4


TMF1434 [Ver.3] Data Structure and Algorithms Faculty of Computer Science and Information Technology, UNIMAS

- STL Sequence Container: List


- Linked Lists with Header and Trailer Nodes
- Circular Linked List

5. Recursion 3
- Recursive Definition
- Problem Solving using Recursion
- Recursion or Iteration
- Recursion and Backtracking

6. Stack 3
- Stack Operation
- Implementation of Stacks as Arrays
- Link Implementation of Stack
- Removing Recursion

7. Queues 3
- Queue Operations
- Linked Implementation of Queues
- Queue Derived from the Class Linked List Type
- Priority Queues

8. Search Algorithms 2
- Sequential Search
- Binary Search

9. Sorting Algorithms 2
- Bubble Sort
- Selection Sort
- Insertion Sort : Array Based and Linked List Based
List
- Quick Sort
- Merge Sort

10. Binary Trees 3


- Binary Trees
- Binary Tree Traversal
- Binary Search Trees

11. Graphs 3
- Graph Definitions and Notations
- Graph Representation
- Operations on Graphs

Generated using the iCLASS System. 3/4


TMF1434 [Ver.3] Data Structure and Algorithms Faculty of Computer Science and Information Technology, UNIMAS

- Graph Traversal
- Shortest Path Algorithm

Total 28

ASSESSMENT Continuous Assessment 60 %


Final Assessment 40 %
Total 100 %

REFERENCES 1. Malik, D. (2010). Data structures using C. Boston, MA: Course


Technology/Cengage Learning.

2. Dale, N., Weems, C. & Richards, T. (2018). C++ plus data


structures. Burlington, MA: Jones & Bartlett Learning

3. Carrano, F. & Henry, T. (2017). Data abstraction & problem


solving with C++ : walls and mirrors. Boston: Pearson.

4. Stroustrup, B. (2013). The C++ programming language. Upper


Saddle River, NJ: Addison-Wesley.

5. Deitel, P. & Deitel, H. (2014). C++ : how to program. Boston:


Prentice Hall.

Last updated: 04/03/2019 2:36 PM

Generated using the iCLASS System. 4/4

You might also like