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

1 / 10

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

Team assignments in CS 322 “Data Structures &amp; Algorithms II”. Jey Veerasamy CIS Adjunct Faculty Baker College Online. CS 321 &amp; 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.

PowerPoint Slideshow about 'Team assignments in CS 322 “Data Structures &amp; Algorithms II”' - brielle-brock

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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Team assignments inCS 322 “Data Structures & Algorithms II”

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 