Team assignments in CS 322 “Data Structures & Algorithms II” - PowerPoint PPT Presentation

1 / 10

Team assignments in CS 322 “Data Structures & Algorithms II”. Jey Veerasamy CIS Adjunct Faculty Baker College Online. CS 321 & CS 322 contents. CS 321 focuses on data structures: arrays, linked lists, vectors, stacks and queues, then a little about recursion algorithms.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Team assignments in CS 322 “Data Structures & Algorithms II”

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Team assignments inCS 322 “Data Structures & Algorithms II”

Jey VeerasamyCIS Adjunct Faculty

Baker College Online

CS 321 & CS 322 contents

• CS 321 focuses on data structures: arrays, linked lists, vectors, stacks and queues, then a little about recursion algorithms.

• CS 322 covers advanced data structures like hash tables, binary trees, AVL trees, and graphs, but the focus is more on algorithms: divide-and-conquer, greedy & dynamic programming approaches to solve various problems.

CS 322 Team Assignments

• Goals:

• Make students analyze the problems (a.k.a. critical thinking)

• Bring ideas to solve them based on those three approaches to the table

• Validate each other’s ideas

• Settle on the “right” data structures & arrive at the detailed pseudocode

What problems?

• I use classic problems like Knapsack problem, company party problem, activity scheduling problem, Huffman coding algorithm.

• Typically these algorithms are taught in graduate courses. So, I try my best to provide “just enough” help to start meaningfully and progress meaningfully.

S1

P

S2

S3

When & How?

• Spans 2 weeks: High level approach in Week 4 and low level pseudocode in Week 5.

• I assign 2 to 3 designers & 2 to 3 reviewers for each problem.

• All discussions done in Weekly discussion forums, NOT in group forums.

Student’s roles

• Each student is a designer for one problem (40 points) and also a reviewer for another problem (20 points). I reverse the roles in Week 5 for each problem.

Week 4

Week 5

P1

P1

Design

Review

S

S

Review

Design

P2

P2

Week 4 Process

• Start of Week 4: designers find the optimal solution for sample input manually and reviewers test it out.

• Week 4: designers come up with a few workable ideas, reviewers comment on them.

• End of Week 4: Try to zero in on one approach & verify it for a few sample inputs manually.

Week 5 process

• Start Week 5 with solid understanding of high level approach.

• Bring in the right data structures & details

• Verify its validity again by testing with a sample inputs.

What is good

• Students enjoy the experience. When one student hits the wall, another student brings up an idea, that keeps the team moving.

• Students learn to work with other’s “incomplete” ideas, practice their skills to give “constructive criticisms”.

Need to work on

• Sometimes students become impatient and find the solution using “web search”  even though I stress on the “thinking process”, NOT the “end-result”.

• I try to ensure there is at least one “leader” in each team. But, there are times I end up with no leaders in the team  No one starts the discussion!

• Some students refuse to post their ideas since they are not sure those ideas will work 