PBL in Data Structure and Algorithm course, HANU

Course overview

The objective of the module is to equip learners with basic knowledge about algorithms, data structures and their practical applications. This helps learners be able to understand and apply algorithms and data structures properly; know how to evaluate, choose appropriate algorithms or data structures; know how to design and implement algorithms or data structures in the Java programming language to serve the purpose of learning, researching and working.

Normally, this course is conducted offline; however, due to corona virus outbreak, all classes are conducting online in semester 2, 2019/2020.

Participants in piloting 

This is an obligatory course conducted to 3rd year students. There were about 32 students took this course in Semester 2, 2019/2020 session.

Timeframe

Spring 2020.

Use of ALIEN services and tools

In this course, the teacher has used few approaches to achieve the goal of enabling students to gain competence in data structures, algorithms and Java programming. Students work in team and are given problem statement to discuss among themselves and come with solution. After that they again sit separately and write programs. These activities encourage student involvement in class. Besides, quizes are used in the class to increase the competency. Sometimes the students are required to solve new problems with respect to known solved problems in order to increase confidence to solve any kind of problems.

For example, students are asked to implement the sorting algorithms including Selection sort, Insertion sort, Bubble sort, Merge sort. The students may refer to some examples given by the teacher for see the implementation code of 4 mentioned sorting algorithms. After that, the students will try to use sorting algorithms to solve several related problems like the following:

  • Given a list of N students including student’s name and student’s mark (an integer in the range .10). We want to find M students who has the highest marks. Please write a Java program to solve this problem. Your program should:
  • Ask user to input n, list of student including name and mark.
  • Ask user to input an integer m
  • Show the name of m students who has the highest mark.

There are some problems for this course published with detailed instruction on ALIEN PBL platform.