0% found this document useful (0 votes)
94 views

1 - Syllabus - Data Structure and Algorithms

Uploaded by

Anh Tuấn
Copyright
© © All Rights Reserved
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
94 views

1 - Syllabus - Data Structure and Algorithms

Uploaded by

Anh Tuấn
Copyright
© © All Rights Reserved
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 14

No Title

1 Document type
2 Program
3 Decision No.
4 Course Name
5 Course Code
6 No of credits
7 Degree Level

8 Time Allocation

9 Pre-requisite

10 Description

11 Student's task

12 Tools

13 Note

14 Min GPA to pass


15 Scoring scale
16 Approved date

597994834.xlsx
Details
SYLLABUS
UNDERGRADUATE PROGRAM

Data Structure & Algorithms


1649
3
Bachelor

Contact time: 40 slots; 1 slot = 90'


Lectures: 14
Tutorials/Lab: 12
Java Programming

This unit introduces students to data structures and how they are used in algorithms, enabling them to desig
and implement data structures. The unit introduces the specification of abstract data types and explores thei
use in concrete data structures. Based on this knowledge, students should be able to develop solutions by
specifying, designing and implementing data structures and algorithms in a variety of programming paradigm
for an identified need.

- Students must attend more than 75% of total slots in order to be accepted to the final examination.
- Student is responsible to do all exercises, assignments and labs given by instructor in class or at home and
submit on time
- Use laptop in class only for learning purpose

- Internet
- Laptop
Conditions to pass:
Attendance : >= 75%
Grade Average >= 6.5/10
6.5
10

Ass

Q
Practical T

LT:TH

597994834.xlsx
No MaterialDescription Purpose ISBN Type Note

1 Data Structures and Algorithms in Java textbook 0-534-49252-5

2 Data Structures and Algorithms in Java textbook

3 Data Structures and Algorithms:Annotated Reference with Examples textbook


4 PowerPoint slides
5 Lab Instruction (Student)
6 Assignment Brief
7
8
9
10
11
Published
Author Publisher Date Edition

Adam Drozdek Thomson 2010 2nd


Michael T. Goodrich
Roberto Tamassia
Michael H. Goldwasser Wiley 2014 6th
Granville Barnett
Luca Del Tongo DotNetSlackers 2008 1st
No LO Name LO Description Sub.ID
LO1 Examine abstract data types, concrete data structures and algorithms
LO2 Specify abstract data types and algorithms in a formal notation
LO3 Implement complex data structures and algorithms
LO4 Assess the effectiveness of data structures and algorithms
Sub.ID Learning outcome
Sess. Content LO ITU Student's materials Teacher's Material
1 What is Data Abstraction? What is ADT? Read slide Lecture 01. ADT Slide: Lecture 01 - ADT
Model for an Abstract Data Type
ADT Example
ADT vs Object-Oriented Programming

2 Dynamic Array - ArrayList Read slide Lecture 02 - Linear Slide: Lecture 02 - Linear
Data Structures Data Structures

3 Lab 1: ArrayList

4 Nodes and Stacks Read slide Lecture 02 - Linear Slide: Lecture 02 - Linear
Data Structures Data Structures

5 Lab 2: Demo Nodes and Stacks

6 Queues Read slide Lecture 02 - Linear Slide: Lecture 02 - Linear


Data Structures Data Structures

7 Lab 3: Demo Queues

8 Linked List - Singly Linked List Read slide Lecture 02 - Linear Slide: Lecture 02 - Linear
Data Structures Data Structures
9 Lab 4: Demo Singly Linked List

10 Linked List - Doubly Linked List Read slide Lecture 02 - Linear Slide: Lecture 02 - Linear
Data Structures Data Structures

11 Lab 5: Demo Doubly Linked List

12 Review: Linear Data Structures

13 Recursion Read slide Lecture 03 - Slide: Lecture 03 - Recursion


Recursion and Backtracking and Backtracking
14 Lab 6: Demo Recursion

15 Backtracking Algorithm Read slide Lecture 03 - Slide: Lecture 03 - Recursion


Recursion and Backtracking and Backtracking

16 Guide on Assignment 1

17 Algorithmic Complexity Read slide Lecture 04 - Algorithm Slide: Lecture 04 - Algorithm


Time Complexity Analysis Analysis
Asymptotic notations
Brute Force

18

19 Simple Sorting Algorithms: Read slide Lecture 05 - Sorting Slide: Lecture 05 - Sorting
- Selection Algorithms Algorithms
- Bubble Sort

20

21 Review Assignment 1

22 Advanced Sorting Algorithms Read slide Lecture 05 - Sorting Slide: Lecture 05 - Searching
- Quick Sort Algorithms Algorithms
23 - Merge Sort
- Bucket Sort

24 Lab 7: Sorting Algorithms Review Lesture 05 - Sorting


Algorithms

25 Searching Algorithms Read slide Lecture 06 - Slide: Lecture 06 - Searching


- Linear Search Searching Algorithms Algorithms
- Binary Search
26 Lab 8: Searching Algorithms Review Lecture 06 - Searching
Algorithms
27 Greedy Algorithms Read slide Lecture 07 - Greedy Slide: Lecture 07 - Greedy
Greedy Failure Cases Algorithms Algorithms
Optimal Greedy Algorithms

28 Guide on Assignment 2

29 Trees and Traversing Tree Read slide Lecture 08 - Trees Slide: Lecture 08 - Trees

30

31 Lab 9: Traversiong Trees

32 Binary Trees, Heaps and Binary Search Read slide Lecture 09 - Binary Slide: Lecture 09 - Binary
Trees Trees, Heaps and Binary Search Trees, Heaps and Binary
Trees Search Trees
33

34 Lab 10: Binary Trees, BST

35 Combinatorial Problems Read slide Lecture 10 - Slide: Lecture 10 -


Combinatorial Problems Combinatorial Problems
36

37 Review Assignment 2

38 Demonstration

39 Demonstration

40 Demonstration
Student's task Lecturer's task

Do exercises Coding and live demo

Do exercises Coding and live demo

Do exercises Coding and live demo

Do exercises Coding and live demo

Do exercises Coding and live demo

Review Lab 1,2,3,4,5 Review Lecture 02 -


Do exercises Linear Data Structures
Do exercises Coding and live demo

Understand Assignment's
requirements and clarify
the lecturer's expectation.

Do exercises

Do exercises Coding and live demo

Coding and live demo

Do exercises

Coding and live demo


Do exercises

Understand Assignment's
requirements and clarify
the lecturer's expectation.

Do exercises

Do exercises

Presentation and Q&A

Presentation and Q&A

Presentation and Q&A


Assessment
Minimun value to
Component Assessm Weight Part Type of Number of
# meet Completion Duration LO
Hạng mục đánh ent Type Trọng số Phần questions questions
Criteria
giá

1 Assignment 1 on-going 1 50 0 0 LO1, LO2 Individual report 0

Individual report
2 Assignment 2 on-going 1 50 0 0 LO3, LO4 Individual 0
Demonstration

597994834.xlsx
Scope of knowledge and skill of questions How? Note

Create a design specification for data structures


explaining the valid operations that can be carried
out on the structures.
Determine the operations of a memory stack and guided by instructor
how it is used to implement function calls in a individual assignment
computer.
Using an imperative definition, specify the abstract
data type for a software stack.

Implement a complex ADT and algorithm in an


executable programming language to solve a well
defined problem.
Implement error handling and report test results
guided by instructor
Discuss how asymptotic analysis can be used to
individual assignment
assess the effectiveness of an
individual demonstration
algorithm
Determine two ways in which the efficiency of an
algorithm can be measured, illustrating your answer
with an example.

597994834.xlsx

You might also like