Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: UNYT Logo

University of New York Tirana

Komuna e Parisit,Tirana, Albania

Web Site Address: http://www.unyt.edu.al

Data Structures

Spring 2017

 

Course            : Data Structures (3 credit hours)

Instructor       : Assoc. Prof. Marenglen Biba

Office              : Faculty building 2nd floor

Office Hours  : Wednesday 12-14 or by appointment

Phone             : 42273056 / ext. 112

E-mail             : marenglenbiba@unyt.edu.al

Course page    : http://www.marenglenbiba.net/ds/

 

Course Location and Time

 

Laboratory Room LAB 3, Monday 14-17.

 

Catalog Description

 

This course couples work on program design, analysis, and verification with an introduction to the study of data structures. Data structures capture common ways to store and manipulate data, and they are important in the construction of sophisticated computer programs. Students write JAVA 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 Outcomes

 

Upon course completion, students will have demonstrated the ability to do the following:

  • understand the advantages of data structures as useful abstractions in programming
  • understand the concept of a linked list structure, recite different implementations of linked lists.
  • understand the concept of a LIFO structure; implement and use stacks
  • understand the concept of a FIFO structure; implement and use queues
  • understand the concept of the tree data structure; implement and use trees in applications
  • understand the concept of hash tables; implement and use them effectively
  • understand the concept of graphs; implement and use effectively
  • understand algorithm analysis and evaluate performance

 

Required Readings

 

Data Structures and Problem Solving Using Java, 4/E. Mark A. Weiss. Addison-Wesley, 2010. ISBN-10: 0321541405.

 

Schaum's Outline of Data Structures with Java, Second Edition 2nd, John Hubbard, McGraw-Hill Education; 2 edition (April 22, 2007), 2007.

 

 

Content of the Course

 

  • Introduction to Data Structures
  • Algorithm analysis
  • Linked Lists
  • Stacks
  • Queues
  • Trees
  • Hash tables
  • Graphs
  • Priority Queues

 

 

Prerequisite courses

 

Object-Oriented Programming in Java

 

Course Requirements

 

Students are required to attend lectures and labs. Lecture handouts and lab notes will be available before commencement of the class. Students are expected to participate in class discussions. In the event of illness or emergency, contact your instructor IN ADVANCE to determine whether special arrangements are possible.

 

Participation: Participation extends beyond mere attendance. You may miss up to two classes without penalty. Each absence beyond the first two will cost you points off of your participation grade. The only exceptions to this rule are severe illness (doctor’s note required) and UNYT approved trips/activities. Appropriate documentation for absences beyond the first two is necessary and is to be provided on the class day directly before or after the one you miss. Students are expected to collect materials from the online course page, their classmates or see the instructor during consultation hours.

 

Exams: Two examinations will be taken one midterm and one final. Test format may combine a mixture of Definitions, Blanks, and short answers, two or three Essay questions covering all readings, lecture, and hand-out and class discussion content. No Student may miss a scheduled exam without receiving permission before the administration of the exam. Make-up exams might be significantly different from the regular tests, and will be administered at a time of instructor own convenience.

 

Reading assignments: You will be required to read all the handouts, slides, and other relevant materials. Each week, I will notify you in class what specific materials to read and/or assignments to prepare for the week. The reading assignments are selected to give you adequate understanding of the course material.

 

Project: I will announce projects usually based on the chapters/materials covered in class. Due dates will be specified accordingly. Projects must be submitted as specified to be considered on-time. Late assignments are accepted with the following penalties: -2 if submitted the next day it is due, and -1 for each day late after that. I will accept e-mail submissions.

 

Make-up policy Midterm/Final exam: Only students who miss an exam for university-approved and verifiable reasons will be allowed to take a make-up exam. Even then, except in the most extreme circumstances, no student may miss a scheduled exam without receiving permission before the administration of the exam. Make-up exams might be significantly different in format from the regular tests, and will be administered at a time of my own convenience.

 

Cheating policy: Cheating policy: Exams, assignments, projects and quizzes are subject to the STUDENT HONOUR CODE. The University’s rules on academic dishonesty (e.g. cheating, plagiarism, submitting false information) will be strictly enforced. Please familiarize yourself with the STUDENT HONOUR CODE, or ask me for clarification.

 

Grading Policy

 

Project

40%

Midterm

30%

Final

30%

 

Grading Scale (Standard UNYT grading scale)

 

Letter Grade

Percent (%)

Generally Accepted Meaning

      A

96-100

Outstanding work

      A-

90-95

      B+

87-89

Good work, distinctly above average

      B

83-86

      B-

80-82

      C+

77-79

Acceptable work

      C

73-76

      C-

70-72

      D+

67-69

Work that is significantly below average

      D

63-66

      D-

60-62

      F

0-59

Work that does not meet minimum standards for passing the course

 

 

Technology Expectations

 

1.      Internet use is necessary since students should regularly check the course home page.

2.      Continued and regular use of e-mail is expected

3.      Students must keep copies of all assignments and projects sent by e-mail.

 

Teaching Material

 

 

1.   Introduction to abstract data types. The Stack              Code Lab1

2.   The FIFO structures, Queues                                       Code Lab2

3.   Algorithm Analysis, Linked Lists                                 Code Lab3

4.   Doubly Linked Lists                                                    Code Lab4

5.   Exercises on Lists                                                        Code Lab5

6.   Recursions, trees and binary trees                                Code Lab6

      Midterm exam

7.   Binary Search Trees                                                    

8.   Hashing and hash tables

9.   Priority queues, Heaps

10. Graphs                                                                         Code

11. Sorting algorithms                                                        Demo

12. Fun and games with data structures and algorithms     Code   

13. Summary and wrap-up for final exam

 

 

Midterm Mock Exam

 

Results

 

Last updated Wednesday, 28 June 2017, by Assoc. Prof. Marenglen Biba