Dancing to the Tunes of Algorithms

Course Name
Data Structures and Algorithms and Data Structures and Algorithms Lab
Course Code
19ECSC201 and 19ECSP201
Course Instructor
Prakash Hegade
University
KLE Technological University, Hubballi-31

If you can think, you can code. If you can think better, you can code better.

PH

Note:

You will find all the course resources and related information on this page. The page is divided into four major sections.

  1. Challenges
  2. Course Notes and Details
  3. Lab Resources
  4. Course Project

Every programmer must have an owned library of codes. They come in handy at need. Here is mine: Day-Today Codes. If you create and have a library of your own, well, you should!

Check out the HONEST DSA DASHBOARD.


Prerequisites


Challenges

Note: Look out for All Challenge Results

Challenge 01: Essay

One of the essential skill for a problem solver is Comprehension capability. Hence, the first challenge is an essay challenge. Read the ebook: Design of a Programmer and write an essay of 300-500 words. Your essay must not be a book review. It must be your take away thoughts. Pen down your thoughts on an A4 sheet with your name and roll number and submit it by the end of the class on 17th Aug 2019, 10.00am.

This is a compulsory challenge. All essays will be reviewed and graded on a scale of 1 to 35. The Challenge scorecard can be accessed here: DOP Scorecard

Challenge 02: Code The Philosophy

You are given with a list of ten philosophies. You need to code a simple C program to realize it. More details in the pdf: Code The Philosophy Challenge. Deadline is 25th August 2019, 5.00pm, Sunday. Adhere to submission guidelines as mentioned. Use the template given to code. Fill up all the TO-DO sections. Template can be found Here.

The top submission will receive a DSA PUDDINGA trophy.

Challenge 03: MAT Challenge

Look out for the MAT Challenge. Along with students, even the course instructor will be taking up this challenge. Any student who designs and codes a better solution than course instructor scores a 100/100. More details in the supplied pdf. The submission deadline is 1 September 2019, 2.00am. Instructors solution can be accessed HERE. This is a compulsory challenge evaluated for Lab 04.

Challenge 04: The ToH Challenge

After 2 code challenges, we come back to a report challenge. Check out the ToH Challenge. The deadline is NOW! This challenge carries 20 points.

Challenge 05: The 100 Challenge

100 is an interesting number! Solve this problem that has 100 test cases - The 100 Challenge. The contest is hosted on HackerRank and the problem was developed based on the idea given by Samsung R&D team. The contest ends on 16 Sept 2019. 100 Test Cases, 100 Points. Break a leg!

Challenge 06: Tree Traversal Fortnight

A fortnight worth head scrath of DFS and BFS! Tree Traversal Fortnight is hosted on HackerRank with 8 questions and 380 points. The contest ends on 30 Sept 2019. Yes, I want you all to go a little crazy(okay, not little. extreme. ) and work your ass off!

Challenge 07: 100 Questions Challenge

The 100 Questions challenge was conducted on 19 Sept 2019. The class was divided into even and odd team. The challenge questions can be found here. Even team won the challenge with a small margin of 0.22% (08 marks).

Challenge 08: Movie Notes Challenge

Watch the movie: The Secret Rules of Modern Living: Algorithms and prepare a 2-3 page report. Submission Deadline: 02 Oct 2019, EOD. You can find the details here: Movie Challenge

Challenge 09: Knit Challenge

Knit Arena has announced a challenge with exciting prizes. The challenge is open to all 5 divisions. The challenge details cna be found here: Knit Challenge 2019. The challenge is deadlined on 09 Oct 2019, EOD.

Challenge 10: Graph Case Study Challenge

Well, this challenge was announced as a festival bonus. The class is supposed to bring a solution to an interesting graph case study. The solution will be discussed on 9 Oct 2019 at 4.45pm. The best design solution will win bonus marks for minor 2.

Challenge 11: 100 Again

100 Again was conducted on 04 Nov 2019. The class was divided into even and odd team. The challenge questions can be found here. The class attendance was low (45/72) which was a little disappointing. Odd team Won the Challenge.

Challenge 12: Mock Minor 2

Mock minor question paper was given to students to be solved as diwali take home assignment. The question paper can be accessed here.


Course Resources

Chapter 01: Fundamentals of Algorithms and Problem Solving

We started off the course with motivation and MATH FOUNDATIONS. The chapter is about understanding the fundamental problem types and analyzing efficiency with respect to time. INTRODUCTION NOTES cover the summary. We did solve 23 problems using EXERCISE HANDOUT.

Chapter 02: Hashing and Hash Tables

Hashing is a black box. The INTRODUCTORY NOTES cover the evolution and popular hash algorithms. Refer to HASHING EBOOK for more details. Kindly note that two concepts were given for self-study as homework. Forget not to cover them.

Chapter 03: Graphs and Trees

We realized that most real time scenarios are hierarchical and we need trees. Here is the introductory notes: GRAPHS AND TREES. Do refer class notes for more and various examples. We covered two IMPORTANT graph algorithms DFS AND BFS and a promising data structure TRIE. Keep all the code and other handouts given in the class with you!

Minor 01

The class has performed with an average score of 14/20 with 5 students scoring 20/20. Minor 01 Solutions

Chapter 04: Sorting Algorithms

Sorting could be a task or a subtask to achieve a task. The basics sorts: Bubble, selection and insertion can be read here: BUBBLE-INSERTION-SELECTION and the merge, quick and heap can be read here: MERGE-QUICK-HEAP. Forget not be well versed with efficiency analysis of each. Heap, the most important of all - HEAP EFFICIENCY ANALYSIS. You can also look for SORTING ALGORITHMS HANDOUT.

Chapter 05: Substring Search Algorithms

We have studied four major substring search algorithms. Brute Force, Boyer-Moore, KMP and Rabin-Karp. Plelase refer to class notes for Rabin-Karp. Remaining notes can be read here: SUBSTRING SEARCH ALGORITHMS. Refer class notes for more examples.

Chapter 06: Graph Algorithms

Graphs rule the world. They are the future. Read, understand and realize the shortest paths and spanning trees algorithms. GRAPH ALGORITHMS. Forget not to read the Graphs handbook HANDBOOK - which has more examples, intuition, algorithm and efficiency analysis.

Minor 02

The class has performed with an average score of 14/20 with 2 students scoring 20/20. Minor 02 Solutions

Chapter 07: Problem Case Studies

In this chapter we see different problem types and their analysis and advantages. They vary over different design techniques. Study PROBLEM CASE STUDIES. There is also a supporting notes that briefs through different design techniques studied so far: ALGORITHM DESIGN TECHNIQUES.

Chapter 08: Limitations of Algorithm Power

Nopes, machines cannot solve everything. There are more languages than Turing Machines. Here is a summary notes of the chapter: LIMITATIONS OF ALGORITHM.


Lab Resources

LAB CIE SHEET

  1. Lab 01 - Revisiting the Basics

  2. Lab 02 - Applications of Stack and Queue

  3. Lab 03 - Efficiency Analysis

  4. Lab 04 - MAT Challenge

  5. Lab 05 - Binary Search Trees

  6. Lab 06 - DFS and BFS

  7. Lab 07- Shortest Path Algorithms: Dijkstras

  8. Lab 08 - Spanning Tree Algorithm: Kruskal

  9. Lab 09 - Search and Recommendation Engine

  10. Lab 10 - Substring Search

  11. Lab 11 - Inventory

  12. Lab 12 - Sorting Algorithms


Course Project Details

  • The course project will carry 30 marks - 20 Marks from lab Open Ended Experiment and 10 marks from course ISA.
  • The project will be carried out in a team of 4

The team details can be submitted here: Team Registration Form. The sheet will also track scores and status of the project. The Project Report can be downloaded HERE