Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

American University of Nigeria

School of Information Technology & Computing


Course Information:
A. Course Title : DATA STRUCTURES AND ALGORITHMS
B. Course Number: CSC202
C. Prerequisites : CIE 106
D. Term : Fall 2019
E. Sections : 1
F. Meeting Times : Tue/Thu 09:45 – 11.15 Tutorial AS 126

Instructor Information:
Instructor Office Hours (AS 133) Telephone E-mail
Dr. Ignace 8161324451 djitog.ignace@aun.edu.ng
Djitog

Catalog Description:
This course couples work on program design, analysis, and verification with an introduction
to the study of data structures and algorithms. Data structures capture common ways to store
and manipulate data, and they are important in the construction of sophisticated computer
programs. Students write programs, ranging from very short programs to more elaborate
systems. Upon completion of this course, students should be able to: work on almost all
widely used data structures.
Course Objectives:
DATA STRUCTURES AND ALGORITHMS: Covers from an High level / object-oriented
programming language perspective fundamental data structures, algorithms for manipulating
and retrieving information from these data structures, and techniques for analyzing their
efficiency in terms of space and time. The distinction between an Abstract Data Type and its
implementation is emphasized. Topics include recursion: factorial function, recursive
implementation of the factorial function, types of recursion(linear recursion, tail recursion
and binary recursion), complexity analysis: analysis of algorithms (experimental studies,
primitive operations and asymptotic notation) linear data structures: stacks (the stack ADT i.e
algorithm for push and pop, an array-based stack implementation, a generic linked list stack
implementation), queues (the queues ADT i.e algorithm for enqueue and dequeue, an array-
based queue implementation, a generic linked list queue implementation), priority queues:
(keys, priorities and total order, relations, priority queue ADT, sorting with priority queue
and implementing it with a List), lists and strings), and non-linear data structures (hash tables,
binary trees, search trees, balanced trees, heaps), searching and sorting algorithms and graph
algorithms. The course includes substantial programming assignments and projects.

Page 1
Learning Outcomes:
Upon successful completion of this course you should be able to:

 Understand the advantages of data structures as useful abstractions in programming.


 Explore the concept of a linked list structure as well as the different implementations
of linked lists.
 Analyzing the algorithms in terms of asymptotic complexities.
 Apply the concept of a LIFO structure; implement and use stacks.
 Apply the concept of a FIFO structure; implement and use queues.
 Understand the concept of the tree data structure; implement and use trees in
applications.
 Explore hash tables; implement and use them effectively.
 Perform various traversals of a binary tree.
 Understand the concept of graphs; implement and use them effectively.
 Explore algorithm analysis and evaluate performance.
 Gain familiarity with various sorting techniques (bubble sort, insertion sort, quick sort
and shell sort) and be able to apply their respective algorithms to solve problems
through coding.
 Demonstrate the limitation of each sorting algorithm and decide which sorting
algorithm is appropriate for a given application.

Course Activities:
The focus of most class days shall be a formal lecture, presentations, exercises, and
classroom discussions on relevant topics. The students shall be organized in groups to do
their course tasks.

Course Requirements

Participation: Participation extends beyond mere attendance. Expect your instructor to keep
track of how often you contribute to class discussion (as a whole), particularly during the
panel discussion section. You may miss up to three classes without penalty - your first two
absences count whether you have a good excuse or not. Each absence beyond the first three
will cost you points off of your participation grade. The only exceptions to this rule are
severe illness (doctor’s note required) and AUN approved trips/activities. Appropriate
documentation for absences beyond the first three is necessary the class day directly before or
after the one you miss. In general: this class is intensive and interactive. Missing class could
seriously affect your grade!

Exams: Two examinations will be taken, a midterm and a final exam covering all course
content during the final examination period. Test format may combine a mixture of short
answer, true/false, matching, sort answer, and one or two essay questions covering all
readings, lecture, hand-out and class discussion content.

General Requirements: Late assignments and absence from tests will not be tolerated. In
the event of illness or emergency, contact your instructor IN ADVANCE to determine
whether special arrangements are possible. The University’s rules on academic dishonesty
(e.g. cheating, plagiarism, submitting false information) will be strictly enforced.

Page 2
Student Assessment Methods

Class Participation 10%


Assignments 10%
Quiz 10%
Midterm 35%
Final Exam 35%

Grading Scale
Letter Percent Quality Points
Generally Accepted Meaning
Grade (%)
A 96-100 4.00
Outstanding work
A- 90-95 3.67
B+ 87-89 3.33
B 83-86 3.00 Good work, distinctly above average
B- 80-82 2.67
C+ 77-79 2.33
Acceptable work
C 73-76 2.00

Resources:
Text Book:
1. Data Structures and Algorithms: Schaum’s outline
2. Data Structures & Algorithms in Java: 2nd Edition by Adam Drozdek. ISBN-13:
9780534376680 (Required)

3. Data Structures and Problem Solving using Java, Mark Allen Weiss, 4th Edition,
Pearson Addison Wesley, ISBN: 9780321541406. (Required)

4. Data Structures and Algorithms in Java. Peter Drake. Pearson Prentice Hall. ISBN:
0131469142. (Recommended Reading)

5. Data Structures and the Java Collections Framework. William J. Collins. 3rd Edition.
John Wiley & Sons Inc. ISBN 10: 0470482672. (Recommended Reading)

Tutorial / Video tutorials


1. https://www7.in.tum.de/~kretinsk/teaching/fa.html
2. https://www.khanacademy.org/computing/computer-science/algorithms
3. https://www.w3schools.in/data-structures-tutorial/intro/
4. http://www.sitesbay.com/data-structure/index

Page 3
Detailed syllabus

Complexity Analysis: Algorithm, analysis of algorithms, asymptotic notations (O, 


and). Complexity of various algorithms / program. Recurrence relations and Master method
for solving the recurrence.
Arrays: Data Structures, Data Abstraction, Abstract Data Types, Detailed explanation of arrays
and practical examples on how to use array. Row major and column major representation.
Application of arrays: sorting, searching: bubble sort, insertion sort, quick sort, merge sort,
linear search and binary search

Stack and Queue data structure: Push and Pop operation on stack, Evaluation of
expression: infix, prefix and postfix. Evaluation of recursion, Tower of Hanoi problem Insert
and delete operation on queue, circular queue and deque

Linked List: Singly linked list: creation, deletion. Doubly liked list: creation, deletion.
Operation on linked list: Traversal, concatenation, counting etc.

Tree and Graph: General tree, forest, binary tree, tree traversal, expression tree, Heap
and heap sort, binary search tree and AVL tree. Graph: terminology, representation, shortest
path, BFS, DFS and spanning tree.

Hashing: Introduction, types of hashing, collision and its resolution

Course Outline
1. Java Review
a. Arrays: 1D and 2D (one dimensional and multidimensional)
2. Searching Algorithms
a. Linear Search
b. Binary Search
3. Sorting Algorithms
a. Bubble Sort, insertion sort, quick sort, merge sort, etc.
4. Stacks and Queues
5. Linked Lists
a. Singly Linked Lists
b. Doubly Linked Lists
6. Complexity Analysis
7. Recursion
8. Trees and Graphs
9. Hash Tables

Course Policies:
Students are expected to individually invest at least 12 hours a week outside of class on the
course material (approximately, twice the formal class time, a common expectation at
university level). This shall include reading, problem solving and any other practical work.

Page 4
You are advised not to build up any backlog. Be forewarned that if you do not personally
apply the necessary effort on a weekly basis then you shall, in all likelihood, fail this course.

Students are expected to attend all classes; to be prepared for and participate constructively to
any class discussions; and finally to take all examinations.

All students must comply with the AUN Student Academic Integrity Code.

Classroom Etiquette:
 Cell phones. Turn off cellphones before entering the classroom (without exception)
 Other mobile, tablets, and recording devices. Turn off all tablet, mobile and/or
recording devices before entering the classroom (except where required as part of the
proceedings of the class and only if expressly authorized by the instructor)
 Be on time for class. The only circumstance in which lateness may be tolerated is
when it is due to a scheduling issue. Late arrivals can be distracting to the instructor
and disruptive to the class. If you arrive late, take the first seat available rather than
hunting around for a “good” seat.
 Talking in class. Conversations need to stop when the instructor is ready to begin
class. Some classes shall involve a class discussion and those shall be conducted in an
orderly and respectful manner throughout.
 Reading in class. Avoid at all cost any behavior that indicates to the instructor that
you are not paying attention.
 Assignment day. All assignments due shall be turned in at the beginning of class
without exception. It is rude simply to turn up to turn in an assignment at the
beginning of class and then to leave immediately after – this behavior is strongly
discouraged
 Leaving early. Sometimes you have to leave the class early. You should let the
instructor know in advance if this is going to happen; and sit near the door to make
less of a disturbance when leaving.
If you fail to comply with the above, and in particular, if any prohibited device is discovered
being used in the classroom then the student discovered using the device as well as the
owner, if present, shall be asked to leave the class. In those circumstances the student(s) are
considered absent from the class.

Examination Rules:
For all common examinations, you must bring your ID card. The following items are
prohibited inside the room where the examination will take place:
 Study materials including notes, papers, textbooks, study guides, scratch paper,
present/future value tables, or calculator manuals.
 Cellular telephones, pagers, headsets, computers, electronic organizers, personal data
assistants, or any other remote communication or photographic devices.
 A watch with an engaged audible alarm or timer.

The following items may be used in the exam room.


 Writing instruments.
 Medicine, tissues, and other medically necessary personal items.
 Erasers, calculator batteries, pencil sharpeners, eyeglasses, earplugs
Notes to Students:
 It is not possible for an instructor to deal with all material in the text, therefore the
onus is on the student to read and fill in the gaps.

Page 5
 All the mandatory exercises and homework assignments must be completed by all
students at the time specified. The instructor will review these in class to enable you
to identify your mistakes. On completion of both any mandatory and self study
quizzes a student should be adequately prepared for the exam.
 The onus is on the student to complete all the book review questions. These will assist
in testing your theoretical knowledge.
 Regular quizzes will be given. A few of the quizzes will be standardized, while the
instructor will decide if he finds a need for additional quizzes.
 Grades are allocated for mandatory homework assignments.
 There are homework assignments to be done in groups. Your grades for such
assignments are jointly earned as a group.
 We learn from our mistakes, failure is the stepping stone to success. Therefore it is
not a requirement that homework be correct, but that you learn from your errors.
 To appeal a grade, send an e-mail to your instructor's e-mail address within two weeks
of publication. Overdue appeals will not be considered.
Frequently Asked Questions:
Q1: If my instructor does not insist on a particular topic in the book, or does not cover it,
does it mean it can’t be in the exam?
 You are responsible for all parts of the chapters that are indicated in the Syllabus
and/or assigned in the homework. Refer to the course sequence to know what will be
covered in each exam. You are also encouraged to read other references besides the
book for other perspectives on the concepts and principles needed.
Q2: Why a comprehensive (cumulative) final exam?
 Many concepts will be used in subsequent courses, and later at work. It also covers
everything and hence gives a broader picture of what you have learned. It carries the
most weight.
Q3: Will there be any possibilities of re-do exams?
 In very, very rare circumstances! The Dean must approve.
Q4: Will the lowest exam be dropped?
 No. No exam will be dropped.
Q5: What happens if I am late for an exam?
 If you show up late, you will not have extra time.
 If you show up very late (late enough that some students have left the examination
room), you will not be allowed to take the exam and this will result in a mark of 0%
for you.
Q6: Can my instructor do anything about my final grade?
 No. You are in control of your grade depending on your mastering of the topics and
performance in the exams.
Q7: What do I have to do if I find an error in the grading of one of my exams?
 You should definitely check your exam copy as you receive it.
 You must report any grading error to your instructor during the class session where
your exam will be handed back to you. Your instructor will then take the necessary
steps to rectify the situation if there was, indeed, a grading error (which is obviously
humanly possible).
 There will be no grading corrections if an error is not reported in the same class
session as the exam is handed back to you.

Page 6
Page 7

You might also like