Presentation is loading. Please wait.

Presentation is loading. Please wait.

Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp.

Similar presentations


Presentation on theme: "Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp."— Presentation transcript:

1 Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp

2 Original Project  Group Formation Software  Designed by Team Lovelace.  Uses a Random Restart Hill Climbing Algorithm for assigning teams.  Takes in a list of individuals and weights as a text file.  Outputs a text file listing all groups. Original Sample InputOriginal Sample Output

3 Improvement  Parameters  Team Size  Skill Sets  Weights GPA Gender Skills Schedule  Students  ID#  Name  Gender  GPA  Skill Sets  Time Availability +=  Output  Team Set Criteria  Suggested Team Sets What to add?  Team Meeting Times

4 Times  Input file takes in a list of times sperated by semicolons.  Format : [DayOfWeek] [FromHour] : [FromMinute] [FromAM/PM] ~ [ToHour] [ToMinute] [ToAM/PM]  Example: M 10:00pm ~ 11:30pm; W 6:00am ~ 8:00am; R 1:00pm ~ 2:00pm  Times are parsed and store as a bit array.  One bit for every half hour period.  1 = Occupied, 0 = free  24 * 2 * 7 = 336 Bits to represent each student’s weekly schedule. 1111111111111111111111111111111 11111111111111111 1111111111111111111111111111111 11111000011111111 1111111111111111111111111111111 11111111111111111 W 6:00pm ~ 8:00 pm Example: UMTWRFSUMTWRFS

5 Bug  Symptoms:  We set up the program to output schedule bitarrays for debugging purposes.  These bitarrays were various sizes. They should all have a size of 336.  Narrowed things down to times with an hour of 12.  Problem:  Program was checking for the number 12, but the string 12 was being passed in.  Solution: Five hours later…

6 Finding Common Times  Simply perform a bitwise intersection on each team member’s schedule.  Keep a zero if the bit is zero for all team members.  Then translate into human-readable time string. …0011110010011 1100… …1000110101111 1111… …0000000111111 0000… …1011110111111 1111… Sched ule1 Sched ule2 Sched ule3 Inters ection

7 Input Times Format Change  Original Time Input:  W 11:00pm ~ 11:30 pm; R 12:00am ~ 1:00am  No way to set the last 30 minutes of the day.  Modified Time Input:  W 11:00pm ~ R 1:00am  Both to and from time must contain a day prefix.

8 Summary of Additions  Modified Input Time Strings  Ex: W 11:00pm ~ R 1:00am  Finding Common Times  Bitwise Intersection  Translating time bit arrays into human-readable times.  All added/moved to our new common times module.

9 Original Design Driver Formulas Random Number Generator AVL Tree Input file Output file... More... Common Times Modified Design

10 Testing  Check Expects  Edge Cases  Property Tests  DefRandom for generating a random schedule: Simply generate a list of 336 random bits.  Round Trips BitArray -> String -> BitArray U 12:30am ~ U 1:00am; U 2:30am ~ U 3:30am; U 5:30am ~ U 6:00am; U 8:30am ~ U 10:00am; U 10:30am ~ U 1:30pm; U 2:00pm ~ U 3:00pm; U 5:00pm ~ U 7:30pm; U 8:30pm ~ U 9:30pm; U 10:00pm ~ U 11:30pm; M 12:00am ~ M 12:30am; M 2:00am ~ M 2:30am; M 3:30am ~ M 4:00am; M 4:30am ~ M 5:30am; M 6:30am ~ M 7:00am; M 8:30am ~ M 9:00am; M 9:30am ~ M 10:00am; M 10:30am ~ M 11:00am; M 11:30am ~ M 12:30pm; M 2:30pm ~ M 4:00pm; M 5:00pm ~ M 5:30pm; M 6:00pm ~ M 7:00pm; M 8:00pm ~ M 9:30pm; M 10:00pm ~ M 11:00pm; M 11:30pm ~ T 12:00am; T 1:00am ~ T 2:30am; T 3:30am ~ T 5:00am; T 7:00am ~ T 8:00am; T 8:30am ~ T 9:30am; T 10:00am ~ T 10:30am; T 11:00am ~ T 12:00pm; T 1:30pm ~ T 2:00pm; T 2:30pm ~ T 3:00pm; T 3:30pm ~ T 4:00pm; T 4:30pm ~ T 6:30pm; T 9:00pm ~ T 10:00pm; T 11:30pm ~ W 12:30am; W 1:00am ~ W 2:30am; W 3:00am ~ W 3:30am; W 4:30am ~ W 5:00am; W 9:00am ~ W 10:00am; W 10:30am ~ W 11:00am; W 12:00pm ~ W 12:30pm; W 2:00pm ~ W 2:30pm; W 3:00pm ~ W 3:30pm; W 5:30pm ~ W 6:00pm; W 6:30pm ~ W 7:30pm; W 9:30pm ~ W 10:00pm; W 10:30pm ~ R 1:30am; R 3:00am ~ R 3:30am; R 4:00am ~ R 5:00am; R 6:00am ~ R 6:30am; R 7:00am ~ R 7:30am; R 8:00am ~ R 8:30am; R 9:00am ~ R 9:30am; R 10:00am ~ R 10:30am; R 11:00am ~ R 12:00pm; R 12:30pm ~ R 2:30pm; R 3:00pm ~ R 4:30pm; R 7:30pm ~ R 8:00pm; R 8:30pm ~ R 9:00pm; R 11:00pm ~ F 12:30am; F 1:30am ~ F 2:30am; F 4:00am ~ F 4:30am; F 6:30am ~ F 8:00am; F 9:00am ~ F 9:30am; F 10:30am ~ F 11:30am; F 12:00pm ~ F 12:30pm; F 1:00pm ~ F 1:30pm; F 2:00pm ~ F 2:30pm; F 3:00pm ~ F 4:30pm; F 5:00pm ~ F 5:30pm; F 7:00pm ~ F 8:00pm; F 8:30pm ~ F 10:00pm; F 11:00pm ~ F 11:30pm; S 12:00am ~ S 1:30am; S 2:30am ~ S 3:30am; S 4:00am ~ S 6:00am; S 6:30am ~ S 7:00am; S 7:30am ~ S 9:30am; S 12:00pm ~ S 1:00pm; S 2:00pm ~ S 3:00pm; S 4:00pm ~ S 4:30pm; S 5:00pm ~ S 6:30pm; S 7:30pm ~ S 10:00pm; S 10:30pm ~ S 11:00pm 101110011110111110001000000100111100000110010001011 101101001101110101010011110001101001100010010110001 100011110010010100111010101000011111001110010001011 011111111001011011101011110100111101000000111010011 010101010100100001000111111010111100011001110111100 011011001010101000101110010001101000110010000101000 011111001100110100011000001011

11 Probe ComponentLines of Code Common Times Interface6 Common Times Module206 Common Times Testing Suite65 Total:277

12 Sample Execution


Download ppt "Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp."

Similar presentations


Ads by Google