120 likes | 129 Views
CS-279-I: Design Project In Computer Science Computer Networks. Michalis Faloutsos EBU II 332 michalis@cs.ucr.edu www.cs.ucr.edu/~michalis. This is THE Class!. The ultimate challenge Developing a complete system Real engineering Dress rehearsal for when you go out there.
E N D
CS-279-I: DesignProject In Computer ScienceComputer Networks Michalis Faloutsos EBU II 332 michalis@cs.ucr.edu www.cs.ucr.edu/~michalis
This is THE Class! • The ultimate challenge • Developing a complete system • Real engineering • Dress rehearsal for when you go out there
What is different here • Open-ended definition of the problem • Freedom to design • Freedom to define the scope • Fruitful interaction with colleagues
This Translates to: • Problem-solving engineering skills • Designing complete systems • Design, Implement, Test • Exercise self motivation and independent thinking • Cultivate teamwork skills
Freedom Comes At a Price • Responsible behavior • Proactive approach • Need for communication • Towards me and among yourselves
How Real Engineering Differs from School Assignments • Development is a process, not an all-nighter • The user defines features not guidelines • The design is half the solution • Most design decisions attempt to strike the balance in a trade-off • You need to justify your approach • Teamwork is critical for success
The Project • Develop a nework monitoring system • Provide • Statistics • Classify traffic (originating application) • Detect abnormalities
The Process and the Phases • Understanding the problem and previous work • Design of the system • Implementation • Testing • Evaluation of the process
Some Tips • Start early: it is a lot of work! • Find ways to distribute the work equally • Maximize parallelism • Modularity (contain errors, facilitate testing) • Thinking ahead and organizing is critical • Design and Tool selection, mode of operation
Layout of work • End of 3nd week: project proposal ver 1 • End of 5-6th week: checkpoint • Design of system • Challenges • Features • End of 10th week: Deliver project, presentation, demonstration
Tasks • Design of system • Implementation • Testing • Deliver deliverables
Final deliverable • A thick white binder • Introduction • Design • Implementation details • Source code • Manual - Documentation • Source code - CD ROM • Testing • Lessons Learned - Process Evaluation • Additional Features • Misc • Presentations