100 likes | 277 Views
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.
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