Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp.

Slides:



Advertisements
Similar presentations
SYMBOL TABLES &CODE GENERATION FOR EXECUTABLES. SYMBOL TABLES Compilers that produce an executable (or the representation of an executable in object module.
Advertisements

Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Select New Project from Project menu to create a new project File.
Background for “KISS: Keep It Simple and Sequential” cs264 Ras Bodik spring 2005.
HORIZONT 1 ProcMan ® The Handover Process Manager Product Presentation HORIZONT Software for Datacenters Garmischer Str. 8 D München Tel ++49(0)89.
J4www/jea Week 3 Version Slide edits: nas1 Format of lecture: Assignment context: CRUD - “update details” JSP models.
Simulating 2 FSA’s with 1 FSA. Purpose This presentation presents an example execution of the algorithm which takes as input two FSA’s and produces as.
Chapter 5 - Menus, Sub Procedures, and Sub Functions  Menus - controls - properties and events –menu editor - create and change –defining menus - menu.
8 September How Computers Work: Storing Data -- Numbers.
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
Operating Systems Simulator Jessica Craddock Kelvin Whyms CPSC 410.
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
Guide To UNIX Using Linux Third Edition
Introduction to Classes and Objects CS-2303, C-Term Introduction to Classes and Objects CS-2303 System Programming Concepts (Slides include materials.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
OOSE 01/17 Institute of Computer Science and Information Engineering, National Cheng Kung University Member:Q 薛弘志 P 蔡文豪 F 周詩御.
INTRODUCTION TO C PROGRAMMING LANGUAGE Computer Programming Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
1 Shawlands Academy Higher Computing Software Development Unit.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Spreadsheet-Based Decision Support Systems Chapter 22:
Data Structures Using C++ 2E
Chapter 3: Completing the Problem- Solving Process and Getting Started with C++ Introduction to Programming with C++ Fourth Edition.
PROGRAMMING Functions. Objectives Understand the importance of modular programming. Know the role of functions within programming. Use functions within.
Data Structures Week 6: Assignment #2 Problem
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
TEAM LOVELACE GROUP FORMATION PROJECT. OBJECTIVE Our project is designed to take a large group of people and divided them into teams based on  Time Availability.
9/20/6Lecture 3 - Instruction Set - Al1 Program Design.
Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Programming with Visual C++: Concepts and Projects Chapter 2B: Reading, Processing and Displaying Data (Tutorial)
IR Homework #2 By J. H. Wang Mar. 31, Programming Exercise #2: Query Processing and Searching Goal: to search relevant documents for a given query.
FusionInspector & FusionInspectorWeb Galaxy-integration.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Adding Parameters to Commands ADO.NET - Lesson 06  Training time: 15 minutes.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
Introduction to Compilers. Related Area Programming languages Machine architecture Language theory Algorithms Data structures Operating systems Software.
Computer Security coursework 1 Dr Alexei Vernitski.
The Software Development Process
Cross Language Clone Analysis Team 2 October 13, 2010.
Reflecting Proxies Mini != Small Jon Babbage Tony Lambert Michael Malinak Paul Middlin CSE870 Advanced Software Engineering, Spring 2001 Instructor: Dr.
IR Homework #1 By J. H. Wang Mar. 5, Programming Exercise #1: Indexing Goal: to build an index for a text collection using inverted files Input:
Structural Design Software TYLER HUTCHISON. Requirements  Develop an interface to generate a text file.  The text file is then passed to one of five.
1 Introduction Purpose  This course gives an overview of assembler settings of the High-performance Embedded Workshop (HEW), used for developing software.
 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone.
1 Project 2: Sorting Cats. Write a C++ console application to read a text file containing information about cats and output the information to the screen.
Compiler Construction CPCS302 Dr. Manal Abdulaziz.
IR Homework #1 By J. H. Wang Mar. 25, Programming Exercise #1: Indexing Goal: to build an index for a text collection using inverted files Input:
An overview of C Language. Overview of C C language is a general purpose and structured programming language developed by 'Dennis Ritchie' at AT &T's.
XTRP Software Nathan Eddy University of Illinois 2/24/00.
Weekly Report By Gabriella Suarez 06/08/2015. Goals Normal/Abnormal- The normal/abnormal team needed to meet to discuss the implementation of this project.
CS1010: Programming Methodology
TEAM LOVELACE GROUP FORMATION PROJECT DESIGN PRESENTATION.
+ Auto-Testing Code for Teachers & Beginning Programmers Dr. Ronald K. Smith Graceland University.
IR Homework #2 By J. H. Wang Apr. 13, Programming Exercise #2: Query Processing and Searching Goal: to search for relevant documents Input: a query.
Software Engineering Algorithms, Compilers, & Lifecycle.
Project CS 116 Section 4 Deadline 04/28 11:59PM Points: 12.
1-1 Logic and Syntax A computer program is a solution to a problem.
Soo Park and Janine Aquino
Programming Right from the Start with Visual Basic .NET 1/e
TransCAD Vehicle Routing 2018/11/29.
Twenty Questions Subject: Time.
3.5 Solving Nonlinear Systems
CHAPTER 6 Testing and Debugging.
Overview of Computer system
Presentation transcript:

Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp

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

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

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 W 6:00pm ~ 8:00 pm Example: UMTWRFSUMTWRFS

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…

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. … … … … … … … … Sched ule1 Sched ule2 Sched ule3 Inters ection

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.

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.

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

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

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

Sample Execution