Presentation is loading. Please wait.

Presentation is loading. Please wait.

Student Projects in the Course Data Structures

Similar presentations

Presentation on theme: "Student Projects in the Course Data Structures"— Presentation transcript:

1 Student Projects in the Course Data Structures
Hristina Mihajloska

2 Outline About the course Data Structures Student Projects in Java
Gains and Conclusion

3 About the course Data Structures
Big team for a large number of students  Lectures Ana Madevska-Bogdanova Anastas Mishev Auditory exercises Boro Jakimovski Magdalena Kostoska Laboratory exercises Hristina Mihajloska Panche Ribarski

4 About the course Data Structures
Weekly schedule: 2 hours – lectures 3 hours – auditory exercises 3 hours – laboratory exercises (in computer laboratory) Practice: laboratory groups up to 20 students Projects: two compulsorily practical single-handed projects

5 Assumed Background Student has taken the course Object-oriented Programming Knowledgeable about Java language basics Object-oriented design Recursion

6 Grading Information Two theory exams: 30% Two practical exams: 30%
Assignments: 20% Projects: 20% Class participation: 5% (bonus)

7 Course Objectives Learning some of the common data structures
Different ways for their implementation Ability for analyzing the complexity of algorithms which use data structures Using data structures for solving practical problems

8 Course Topics Algorithm complexity Fundamental Data Structures
Abstract Data Types Stacks and Queues Hash Tables Trees Priority queues and Heaps Sorting Search trees

9 Course Difficulties Student perspective
practical exams much harder then weekly assignments

10 Course Difficulties Teacher perspective Solution
few of the students could pass practical exams Solution Implementing single-handed student project one week before every practical exam (during course semester)

11 Student Projects Goals good preparation for practical exam
to improve analytical reasoning and programming skills to distinguish which data structure to be used in practical problem

12 Student Projects For every project exists three levels of complexity which are graded differently Students are asked to choose one of them and find a solution in given time no points for programs that do not compile

13 Student Projects First level (easiest) Second level (middle)
Identification of the data structure in the practical problem It is obvious Second level (middle) Students have to combine two data structures to solve the problem Third level (hardest) To build a new data structure which is combination of data structures covered by the material To implement it in a different way

14 Examples Third-level project
Write an implementation for data structure Bag as a Java class, which is similar to a set, but it may contain several instances of the same member. For example, {'to', 'be', 'or', 'not', 'to', 'be'} is a bag of words, which is equal to {'be', 'be', 'not', 'or', 'to', 'to'} (since order of members is insignificant), but is unequal to {'be', 'not', 'or', 'to'} (since the number of instances is significant). Adding (removing) a member increases (decreases) the number of instances in the bag by one. The member is deleted from the bag when it has no instances . . .

15 Examples Third-level project . . .
Design a bag ADT. Provide set-like operations, including bag union and bag subsumption (but not bag intersection or difference). In addition, provide an operation that returns the number of instances of a given member. How would you represent a bag without actually storing multiple instances of the same member? Implement a bag ADT using a sorted array Implement a bag ADT using a sorted SLL

16 Examples Middle-level project
One arithmetic expression is given within an xml file. Process this xml file and put it in an adequate structure. The structure should enable evaluation of the expression. For a given xml file find the value of the expression. . . .

17 Student Projects Gains
increased the number of students that passed practical exams conceptual and concrete ways to organize data for efficient storage and efficient manipulation make use of data structures in the design of efficient algorithms

18 Conclusion We got good programming solutions for the given problems
Good students like this way of teaching If students did their projects alone, they are well prepared for practical exams

19 Thank you for your attention

Download ppt "Student Projects in the Course Data Structures"

Similar presentations

Ads by Google