Fall 2014 (both sections) Assignment #1 Feedback • Elapsed time (How long): – – – – Ranged from 45 minutes to 10 days About 1/4 said less than 1 day About 1/2 said 2-5 days About 1/4 said 5- 10 days • Effort (in person hours): – Ranged from .4 person-hour to 22.4 person-hours – More than 1/2 said 2 - 4 person hours Some were a bit confused and reversed the data; some gave me just the effort part. Comments on Assignment # 1 (Fall 2014) • Basic Programming Skill: – There were some good programming with input validity checks, error messages, and features which gave the users opportunities to correct their mistakes. (e.g. Java programmers usage of “try –catch” combination) – Small group “over-simplified” the problem - limited and fixed number of inputs with no input validation check. ---- hopefully not because of lack of programming skills Assignment #1 was a “how are you assignment.” So --- graded very leniently on assignment #1 ------ scores range : 16 to 20 More Comments on Assignment #1 (Fall 2014) Software Engineering Related: • “Enhanced Problem Statements” = Requirements Specification (needed for developing and testing your solution): – • Generally Weak : 1. Input definition not clear (e.g. acceptable type/size/format) 2. Output definition not clear (e.g. type/size/format) 3. Limited specification about what happens with “illegal” inputs (incomplete feature analysis of “tributary” path). Adding “extra” features NOT in the problem (requirement) statement: 1. Performing Extra functionalities --- not asked in the Problem --- extra effort(cost) 2. Support people surprised; hard to maintain and enhance unexpected extra code 3. If there is a bug in that portion ---- causes chaos for “unsuspecting” users and fixers • Testing (Generally Weak): [Evidence for ---- How Good is your solution? ] – Some --- testing only limited amount of legitimate inputs – Input some very large or small number, illegitimate number, etc. – Not trying the initial condition and the ending condition separately. • Testing termination condition before processing --- e.g. dividing by zero problem • “Graceful” termination with “quit”, “end”, or some other indicator – Not testing illegitimate cases to show stability and robustness of solution (show error conditions and all error/warning statements do work.). Comments on Past Classes (Fall-2011) Assignment 1 Feedback • (Pre-project) How long do you think assignment #1 would take? – – – – 1 hr 2 hrs 3 hrs 10 hrs --------- 7 people 6 people 2 people 3 people • (Post project) Actual data from class: – Elapsed time: • range was 5 days to 46 minutes • mostly between 1 to 3 hours – Effort: • range was 8 person-hours to 40 person-minutes • mostly between 1 person-hour to 3 person-hours Comments on Assignment # 1 (fall 2011) • While a lot of “good” programming was done ---- there is more to learn about software engineering: • Enhanced Problem Statements (requirements spec.) was generally weak: 1. Input definition not clear (e.g. acceptable type/size/format) 2. Output definition not clear (e.g. type/size/format) 3. Some use terminating character that may be considered a “legitimate” input (some do not say anything about it) 4. Little or limited specification about what happens with “illegal” inputs. • Extra Solutions or Adding complexities: 1. Performing Extra functionalities --- not asked in the Problem • Testing: – Testing only the legitimate inputs – Not trying the initial condition and the ending condition separately. • Testing termination condition before processing --- dividing by zero problem – Not testing illegitimate cases to show stability and robustness of solution (show error conditions and warning statements do work.). Graded fairly leniently on assignment #1 ------ score range : 12 to 20