0% found this document useful (1 vote)
576 views

EE2008 Data Structures and Algorithms - OBTL

This document provides information about the Data Structures and Algorithms course offered in Academic Year 2018-2019 Semester 1 at Nanyang Technological University. The course aims to introduce students to data structures, algorithms, and analyzing algorithm complexities. It will cover topics like stacks, queues, trees, sorting, and searching. Students will complete homework assignments, quizzes, and exams to assess their understanding. They will also complete hands-on programming labs to reinforce concepts. The course is taught through lectures, tutorials, and labs to support different learning styles.

Uploaded by

Aaron Tan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
576 views

EE2008 Data Structures and Algorithms - OBTL

This document provides information about the Data Structures and Algorithms course offered in Academic Year 2018-2019 Semester 1 at Nanyang Technological University. The course aims to introduce students to data structures, algorithms, and analyzing algorithm complexities. It will cover topics like stacks, queues, trees, sorting, and searching. Students will complete homework assignments, quizzes, and exams to assess their understanding. They will also complete hands-on programming labs to reinforce concepts. The course is taught through lectures, tutorials, and labs to support different learning styles.

Uploaded by

Aaron Tan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Academic Year AY2018-19 Semester 1

Course Coordinator A/P Tay Wee Peng for S1 and A/P Low Chor Ping for S2
Course Code EE2008/IM1001
Course Title Data Structures and Algorithms
Pre-requisites NIL
No of AUs 4
Contact Hours 3-hour online lecture and 2-hour tutorial session per week, and 3-hour
laboratory in two scheduled sessions. In total, 39 lecture hours and 26 tutorial
hours, and 6 laboratory hours per semester.
Proposal Date 25 July 2018

Course Aims
This course aims to give a systematic introduction to data structures and algorithms for constructing
efficient computer programs. Emphasis is on data abstraction issues in program development process,
and on the design of efficient algorithms. Simple algorithmic paradigms such as greedy algorithms, divide-
and-conquer algorithms and dynamic programming will be introduced. Elementary analyses of
algorithmic complexities will also be taught.

Intended Learning Outcomes (ILOs)


On completion of the course, students are expected to have the essential knowledge and skills to:
1. analyse the complexity of algorithms
2. decipher, distinguish and apply data structures
3. design efficient algorithms for given applications
4. implement algorithms in C
5. solve problems systematically and effectively through careful consideration of the data
structures, data abstraction and algorithmic paradigms that best fit the requirements

Course Content

S/N Topic Lecture Tutorial


Hours Hours
1 Introduction 3 2
Overview of algorithms and data structures. Algorithm language.
Mathematical preliminaries.

2 Principles of Algorithm Analysis 4 2


Growth rates of functions. Asymptotic notations. Basic recurrences.
Analysis of algorithms.

3 Data Structures 7 6
Elementary data structures. Abstract data types. Stacks and queues.
Vectors, Lists, and Sequences, Trees, Priority Queues & Heaps, Dictionaries
& Hash tables.

4 Search Trees 3 2
Binary Search Trees, AVL trees, Bounded-Depth Search Trees

1
5 Sorting 6 4
Elementary sorting algorithms. Quicksort. Merge Sort, Bucket Sort, Radix
Sort, Heapsort. Comparisons of Sorting Algorithms, Order statistics.

6 Searching 8 6
Binary search. Breadth-first search. Depth-first search. Text searching.
Backtracking.

7 Algorithm Design Techniques 8 4


The Greedy Method. Divide and conquer. Dynamic programming

Lab Description (6 hours)


Two 3-hour lab modules are incorporated in this course. The two lab modules will strengthen and re-
enforce concepts taught in the class.

L2008A : Abstract Data Types & Their Implementations (3 hours)

This experiment aims to provide students with hands-on training so that they are able to gain a better
understanding on the design and implementation of abstract data types (ADTs). Students will be required
to write programs to:
(i) implement ADTs using appropriate data structures
(ii) process and/or manipulate data elements associated with ADTs

L2008B: Algorithmic Approach to Problem Solving (3 hours)

This experiment aims to provide students with hands-on training so that they are able to gain a better
understanding on a range of problem solving strategies (algorithms) and their application in the solution
of problems by computer. In particular, given a problem scenario, students are required to write a
program to implement an appropriate problem-solving strategy to solve the problem.

Assessment (includes both continuous and summative assessment)


Components Course Related Weighting Team / Assessment Rubrics
ILOs Programme LO Individual
Tested or Graduate
Attributes*
1. Final
1,2,3,5 EAB SLO a,b,c,e 60% Individual
Examination
2. Continuous
Assessment 1 EAB SLO
1,2,3,5 5% Individual
(Homework a,b,c,d,e
assignment 1)
3. Continuous
Assessment 2 EAB SLO
1,2,3,5 5% Individual
(Homework a,b,c,d,e
assignment 2)
4. Continuous EAB SLO
1,2,3,4,5 5% Individual
Assessment 3 a,b,c,d,e

2
(Practical Work
(L2008A)
5. Continuous
Assessment 4 EAB SLO
1,2,3,4,5 5% Individual
(Practical Work a,b,c,d,e
L2008B)
6. Continuous
EAB SLO
Assessment 5 1,2,3,5 10% Individual
a,b,c,d,e
(Quiz)
7. Continuous
Assessment 6
(Individual 1,2,3,5 EAB SLO a,b,c 10% Individual
Readiness
Assessment)
Total 100%

* From the NTU website: EEE & IEM Programme Accreditation (Refer to Student Learning Outcomes)
http://www.eee.ntu.edu.sg/Programmes/CurrentStudents/undergraduate/accreditation/Pages/Home.a
spx

Formative feedback
Students will be able to know their weakness and strength with the feedback through marked home
assignments. Lab supervisors will discuss with students in practical lab sessions of this subject so that
students can improve their practical skills.

Learning and Teaching approach


Approach How does this approach support students in achieving the learning outcomes?

LECTURE Active learning

TUTORIAL Interactive learning

LABORATORY Practical learning

Reading and References


TEXTBOOK
1. Huang Guangbin and Ng Jim Mee, Data Structures and Algorithms, Pearson Education, 2007.
(QA76.9.D35D232DS)

REFERENCES
1. Johnsonbaugh Richard and Schaefer Marcus, Algorithms, Pearson Education, 2004.
(QA76.9.A43J65)
2. Levitin Anany, Introduction to The Design & Analysis of Algorithms, 3rd Edition, 2012.
(QA76.9.A43L666 2012)
3. Michael Goodrich and Robert Tamassia, Algorithm Design : Foundations, Analysis, & Internet
Examples, 2002. (QA76.9.A43G655)

3
Course Policies and Student Responsibilities
Students need to attend all lab sessions punctually. Students with valid reasons such as MC are allowed
to have lab makeup in a week.

Academic Integrity
Good academic work depends on honesty and ethical behaviour. The quality of your work as a student
relies on adhering to the principles of academic integrity and to the NTU Honour Code, a set of values
shared by the whole university community. Truth, Trust and Justice are at the core of NTU’s shared values.

As a student, it is important that you recognize your responsibilities in understanding and applying the
principles of academic integrity in all the work you do at NTU. Not knowing what is involved in maintaining
academic integrity does not excuse academic dishonesty. You need to actively equip yourself with
strategies to avoid all forms of academic dishonesty, including plagiarism, academic fraud, collusion and
cheating. If you are uncertain of the definitions of any of these terms, you should go to the academic
integrity website for more information. Consult your instructor(s) if you need any clarification about the
requirements of academic integrity in the course.

Course Instructors
Instructor Office Location Phone Email
Prof Huang Guangbin S2.1-B2-06 67904489 [email protected]
Assoc Prof Low Chor Ping S2-B2c-86 67906368 [email protected]
Assoc Prof Tay Wee Peng S2.2-B2-51 67906280 [email protected]

Planned Weekly Schedule


Week Topics Course ILOs Readings/Activities
1 Introduction Have fundamental 2 hours interactive
Overview of algorithms and data structures. knowledge on tutorials
Algorithm language. Mathematical pseudo codes,
preliminaries. algorithms.

ILO 1,2,3,5
2 Principles of Algorithm Analysis Have fundamental 2 hours interactive
Growth rates of functions. Asymptotic knowledge on tutorials
notations. Basic recurrences. Analysis of complexity
algorithms. estimation.

ILO1, 3
3 Data Structures Have fundamental 2 hours interactive
Elementary data structures. Abstract data knowledge on data tutorials, the
types. Stacks and queues. structures. relevant contents
will also be tested in
ILO2 separate lab
sessions.
4 Data Structures Have fundamental 2 hours interactive
Stacks and queues. Vectors, Lists, and knowledge on data tutorials
Sequences, Trees. structures.

4
ILO 1, 2, 3, 5
5 Data Structures Have fundamental 2 hours interactive
Priority Queues & Heaps, Dictionaries & knowledge on data tutorials
Hash tables. structures

ILO 1, 2, 3, 5
6 Search Trees Have fundamental 2 hours interactive
Binary Search Trees, AVL trees, Bounded- knowledge on data tutorials, the
Depth Search Trees structures relevant contents
will also be tested in
ILO 1, 2, 3, 5 separate lab
sessions.
7 Sorting Have essential 2 hours interactive
Elementary sorting algorithms. Quicksort. knowledge on tutorials
Merge Sort, Bucket Sort, Radix Sort. sorting

ILO 1, 2, 3, 5
8 Sorting Have essential 2 hours interactive
Heapsort. Comparisons of Sorting knowledge on tutorials
Algorithms, Order statistics. sorting

ILO 1, 2, 3, 5
9 Searching Have essential 2 hours interactive
Binary search. Breadth-first search. knowledge on graph tutorials
searching

ILO 1, 2, 3, 5
10 Searching Have essential 2 hours interactive
Depth-first search. knowledge on graph tutorials
searching

ILO 1, 2, 3, 5
11 Searching Have essential 2 hours interactive
Text searching. Backtracking knowledge on text tutorials
searching

ILO 1, 2, 3, 5
12 Algorithm Design Techniques Have essential 2 hours interactive
The Greedy Method. Divide and conquer. knowledge on tutorials
Dynamic programming algorithm design
techniques

ILO 1, 2, 3, 5
13 Algorithm Design Techniques Have essential 2 hours interactive
The Greedy Method. Divide and conquer. knowledge on tutorials
Dynamic programming algorithm design
techniques

5
ILO 1, 2, 3, 5

You might also like