Data Structures and ALGORITHMS Using Java: Course Introduction
Data Structures and ALGORITHMS Using Java: Course Introduction
Data Structures and ALGORITHMS Using Java: Course Introduction
1/11
Objectives
• Instructor introduction
• Course description
• Text book(s) & Reference Recourses
• Learing Tools
• Requirements of the course
• Grading policy
• Academic policy
2/11
Instructor introduction
3/11
Course description
• This course introduce the fundamental concepts of
data structures and the algorithms that proceed from
them. Topics include the basics of algorithmic
analysis, fundamental data structures (including
stacks, queues, linked lists, hash tables, trees),
recursion, and some important applications of these
data stuctures and algorithms.
• Such data structures and algorithms as being
implemented in Java are also given in this course.
4/11
Text book(s) & Reference Recourses
• Main books/resources:
• 1) Michaelt T. Goodrich, Roberto Tamassia, Michael H.
Goldwasser: Data Structures and Algorithms in Java, 6th Edition,
2014 (ebook)
• 2) Link to the book: http://coltech.vnu.edu.vn/~sonpb/DSA/Data
%20Structures%20and%20Algorithms%20in%20Java,%206th
%20Edition,%202014.pdf
• 3) FU slides (ppt)
• 4) FU exercises (pdf)
• 5) Code files for students (java files)
• 6) FU CMS at http://lms-undergrad.fpt.edu.vn.
5/11
Objectives
• Knowledge
• the connection between data structures
and their algorithms, including an analysis
of algorithms' complexity
• data structure in the context of object-
oriented program design
• how data structure are implemented in an
OO programming language such as Java
6/11
Objectives
• Skills
• organize and manipulate basic structures:
array, linked list, stack, queue, graph, tree,
heap, hash
• use algorithms for traversing, sorting,
searching on studying structures
• select a suitable algorithm to solve a
practical problem
7/11
Objectives
• Skills
• use JAVA programming language for
solving some problems
• use NetBean/Eclipse tool for developing
programs in JAVA
• implement some programs in JAVA to
solve practical problems based on the
studying algorithms
8/11
Learning Tools
– JDK 1.7
– JDK 1.7 Documentation
– NetBeans 7.x
9/11
Requirements of the course
• Following lessons in classrooms
• Reading textbooks at home
• Completing workshops in time
• Completing and submitting assignment in time
• Discussing actively in your teams and in
classrooms
• Presenting your presentations in classroom
10/11
Grading policy
• On-going assessment:
- 2 Assignments (AS): 20%
- 2 Progress tests (PT): 20%
• Practical and Final Exams:
- 1 Practical Exam (PE): 30%
- 1 Final Exam (FE): 30%
• Total score (TS) = 0.2*AS + 0.2*PT + 0.3*PE + 0.3*FE
• Completion Criteria:
1) Every on-going assessment (average) component > 0
2) PE > 0 (no resit)
3) FE >= 4 & TS >= 5
11/11
FPT-University Academic policy
Cheating, plagiarism and breach of copyright are serious
offenses under this Policy.
• Cheating
– Cheating during a test or exam is construed as talking,
peeking at another student’s paper or any other
clandestine method of transmitting information.
• Plagiarism
– Plagiarism is using the work of others without citing it; that
is, holding the work of others out as your own work.
• Breach of Copyright
– If you photocopy a textbook without the copyright holder's
permission, you violate copyright law. 12/11
Assignments submission guide
13/11
OOP notion conventions
14/11