EE2008 Data Structures and Algorithms - OBTL
EE2008 Data Structures and Algorithms - OBTL
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.
Course Content
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.
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
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.
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.
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]
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