copyright: uc riverside 1 cs-279-i: design project in computer science computer networks michalis...

14
1 Copyright: UC Riverside CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 [email protected] www.cs.ucr. edu/~michalis

Post on 19-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

1Copyright: UC Riverside

CS-279-I: DesignProject In Computer ScienceComputer Networks

Michalis FaloutsosSurge [email protected]/~michalis

Page 2: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

2

This is THE Class!

The ultimate challengeDeveloping a complete systemReal engineeringDress rehearsal for when you go out there

Page 3: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

3

What is different here

Open-ended definition of the problemFreedom to designFreedom to define the scopeFruitful interaction with colleagues

Page 4: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

4

This Translates to:

Problem-solving engineering skillsDesigning complete systems• Design, Implement, Test

Exercise self motivation and independent thinkingCultivate teamwork skills

Page 5: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

5

Freedom Comes At a Price

Responsible behaviorProactive approachNeed for communication• Towards me and among yourselves

Page 6: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

6

How Real Engineering Differs from School Assignments

Development is a process, not an all-nighterThe user defines features not guidelinesThe design is half the solutionMost design decisions attempt to strike the balance in a trade-offYou need to justify your approachTeamwork is critical for success

Page 7: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

7

The Project

Develop a distributed file sharing systemRequirements scalable to large number of usersOther requirements• Exchange arbitrary type files• Search for the files of interest (id, keywords,

description)

Page 8: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

8

Illustrating the Project

New “users” can joinUsers can leaveUsers can search for informationUsers acquire information

Application levelconnections

Page 9: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

9

The Process and the Phases

Understanding the problem and previous workDesign of the systemImplementationTestingEvaluation of the process

Page 10: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

10

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• Desing and Tool selection, mode of operation

Page 11: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

11

Timetable of work

End of 2nd week: project proposal ver 1End of 3-4th week: project proposal ver 2End of 5-6th week: midpoint presentation• Design of system

End of 10th week: Deliver project, presentation, demonstration

Page 12: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

12

What needs to be delivered

Page 13: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

13

Tasks

Design of systemImplementationTestingDeliver deliverables

Page 14: Copyright: UC Riverside 1 CS-279-I: Design Project In Computer Science Computer Networks Michalis Faloutsos Surge 333 michalis@cs.ucr.edu michalis

14

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