Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication...
Transcript of Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication...
![Page 1: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/1.jpg)
Emina Torlak [email protected]
CSE 403: Software Engineering, Spring 2015courses.cs.washington.edu/courses/cse403/15sp/
Introduction
![Page 2: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/2.jpg)
outlineStaff, About, Format, Advice, Goals
2
![Page 3: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/3.jpg)
Course staff: [email protected]
3
Emina Torlak
(emina)
Darioush Jalali
(darioush)
Meg Campbell
(meganca)
![Page 4: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/4.jpg)
focusThis course is about engineering software.
4
![Page 5: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/5.jpg)
What is software engineering?
5
![Page 6: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/6.jpg)
What is software engineering?
5
software engineering ≠ programming
![Page 7: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/7.jpg)
What is software engineering?
5
software engineering ≠ programming
Software engineering, broadly defined: creating and maintaining software applications by applying technologies and practices from computer science, project management, and other fields.
![Page 8: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/8.jpg)
What is software engineering?
5
software engineering ≠ programming
Software engineering, broadly defined: creating and maintaining software applications by applying technologies and practices from computer science, project management, and other fields.
Software engineering is about people working in teams under constraints to create value for their customers.
![Page 9: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/9.jpg)
What is software engineering?
6
“The first step toward the management of disease was replacement of demon theories and humours theories by the germ theory. That very step, the beginning of hope, in itself dashed all hopes of magical solutions. It told workers that progress would be made stepwise, at great effort, and that a persistent, unremitting care would have to be paid to a discipline of cleanliness. So it is with software engineering today.”
Fred Brooks
![Page 10: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/10.jpg)
Aspects of software engineering
7
1. Processes, methods, and techniques necessary to turn a concept into a robust deliverable that can evolve over time
2. Working with limited time and resources
3. Satisfying a customer
4. Managing risk
5. Teamwork and communication
![Page 11: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/11.jpg)
Ties to many fields
8
• computer science (algorithms, data structures, languages, tools)• business/management (project mgmt, scheduling)• economics/marketing (selling, niche markets, monopolies)• communication (managing relations with stakeholders: customers,
management, developers, testers, sales)• law (patents, licenses, copyrights, reverse engineering)• sociology (modern trends in societies, localization, ethics)• political science (negotiations; topics at the intersection of law,
economics, and global societal trends; public safety)• psychology (personalities, styles, usability, what is fun)• art (GUI design, what is appealing to users)
![Page 12: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/12.jpg)
Ties to many fields
8
• computer science (algorithms, data structures, languages, tools)• business/management (project mgmt, scheduling)• economics/marketing (selling, niche markets, monopolies)• communication (managing relations with stakeholders: customers,
management, developers, testers, sales)• law (patents, licenses, copyrights, reverse engineering)• sociology (modern trends in societies, localization, ethics)• political science (negotiations; topics at the intersection of law,
economics, and global societal trends; public safety)• psychology (personalities, styles, usability, what is fun)• art (GUI design, what is appealing to users)
![Page 13: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/13.jpg)
Ties to many fields
8
• computer science (algorithms, data structures, languages, tools)• business/management (project mgmt, scheduling)• economics/marketing (selling, niche markets, monopolies)• communication (managing relations with stakeholders: customers,
management, developers, testers, sales)• law (patents, licenses, copyrights, reverse engineering)• sociology (modern trends in societies, localization, ethics)• political science (negotiations; topics at the intersection of law,
economics, and global societal trends; public safety)• psychology (personalities, styles, usability, what is fun)• art (GUI design, what is appealing to users)
Necessarily “softer” than other parts of CS; fewer clearly right/wrong answers
![Page 14: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/14.jpg)
• customer / client: wants software built
• often doesn't know what he/she wants
• managers: make plans, coordinate team
• hard to foresee all problems in advance
• developers: design and write code
• hard to write complex code for large systems
• testers: perform quality assurance (QA)
• impossible to test every combination of actions
• users: purchase and use software product
• can be fickle and can misunderstand the product
Roles of people in software
9
![Page 15: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/15.jpg)
• customer / client: wants software built
• often doesn't know what he/she wants
• managers: make plans, coordinate team
• hard to foresee all problems in advance
• developers: design and write code
• hard to write complex code for large systems
• testers: perform quality assurance (QA)
• impossible to test every combination of actions
• users: purchase and use software product
• can be fickle and can misunderstand the product
Roles of people in software
9
![Page 16: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/16.jpg)
• customer / client: wants software built
• often doesn't know what he/she wants
• managers: make plans, coordinate team
• hard to foresee all problems in advance
• developers: design and write code
• hard to write complex code for large systems
• testers: perform quality assurance (QA)
• impossible to test every combination of actions
• users: purchase and use software product
• can be fickle and can misunderstand the product
Roles of people in software
9
![Page 17: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/17.jpg)
• customer / client: wants software built
• often doesn't know what he/she wants
• managers: make plans, coordinate team
• hard to foresee all problems in advance
• developers: design and write code
• hard to write complex code for large systems
• testers: perform quality assurance (QA)
• impossible to test every combination of actions
• users: purchase and use software product
• can be fickle and can misunderstand the product
Roles of people in software
9
![Page 18: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/18.jpg)
• customer / client: wants software built
• often doesn't know what he/she wants
• managers: make plans, coordinate team
• hard to foresee all problems in advance
• developers: design and write code
• hard to write complex code for large systems
• testers: perform quality assurance (QA)
• impossible to test every combination of actions
• users: purchase and use software product
• can be fickle and can misunderstand the product
Roles of people in software
9
![Page 19: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/19.jpg)
• customer / client: wants software built
• often doesn't know what he/she wants
• managers: make plans, coordinate team
• hard to foresee all problems in advance
• developers: design and write code
• hard to write complex code for large systems
• testers: perform quality assurance (QA)
• impossible to test every combination of actions
• users: purchase and use software product
• can be fickle and can misunderstand the product
Roles of people in software
9
![Page 20: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/20.jpg)
formatCourse format
10
![Page 21: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/21.jpg)
A typical 403 week
11
![Page 22: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/22.jpg)
• Class sessions to discuss best practices (MWF)
A typical 403 week
11
![Page 23: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/23.jpg)
• Class sessions to discuss best practices (MWF)
• Sections to dig deeper, discuss pragmatics and tools (Th)
A typical 403 week
11
![Page 24: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/24.jpg)
• Class sessions to discuss best practices (MWF)
• Sections to dig deeper, discuss pragmatics and tools (Th)
• Reading assignments to reinforce the concepts
A typical 403 week
11
![Page 25: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/25.jpg)
• Class sessions to discuss best practices (MWF)
• Sections to dig deeper, discuss pragmatics and tools (Th)
• Reading assignments to reinforce the concepts
• Group project: to give you hands-on experience with the material
• Technical challenges given the larger project
• Social challenges given the team effort
• Frequent meetings (at minimum, each Tuesday)
A typical 403 week
11
![Page 26: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/26.jpg)
What is a software project?
12
Projects are a balance of three dimensions, with the goal of producing a successful deliverable.
Features & Quality
Time Resources
SOFTWARE DELIVERABLE
![Page 27: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/27.jpg)
What is a software project?
12
“Good, fast, cheap … choose two”
Projects are a balance of three dimensions, with the goal of producing a successful deliverable.
Features & Quality
Time Resources
SOFTWARE DELIVERABLE
![Page 28: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/28.jpg)
The project
13
![Page 29: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/29.jpg)
The project
13
• You make product proposals
• And then vote on which products to “fund”
This Thursday and Friday!
![Page 30: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/30.jpg)
The project
13
• You make product proposals
• And then vote on which products to “fund”
• You’re divided into project teams of 6-8 students
• Larger teams, larger projects, like industry
This Thursday and Friday!
![Page 31: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/31.jpg)
The project
13
• You make product proposals
• And then vote on which products to “fund”
• You’re divided into project teams of 6-8 students
• Larger teams, larger projects, like industry
• You develop your deliverable in stages
• Reflects modern methodologies for effective development
This Thursday and Friday!
![Page 32: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/32.jpg)
The project
13
• You make product proposals
• And then vote on which products to “fund”
• You’re divided into project teams of 6-8 students
• Larger teams, larger projects, like industry
• You develop your deliverable in stages
• Reflects modern methodologies for effective development
• A TA will act as your customer
• A project is successful only if it satisfies its customer
This Thursday and Friday!
![Page 33: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/33.jpg)
Project development stages
14
• Proposal
• Requirements
• Design
• Implementation
• Testing, validation, verification
• Documentation
• Customer exposure
• Final deliverable
Choose your own tools and frameworks!
![Page 34: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/34.jpg)
We’ll hit the ground running …
15
• Your chance to turn a great idea into a product!
• Prepare a 3-slide, 3-minute product pitch in teams of 2
• Vision and novelty
• Architecture
• Challenges and risks
• Turn in Wed by 11pm and present on Thu & Fri
• Vote next Friday by 11pm
• Rank your choices
• Self-select groups (or the staff will …)
![Page 35: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/35.jpg)
Project culture
16
![Page 36: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/36.jpg)
Project culture
16
• This is a real project
• We expect you to work to build a real system
• To be used by real people
![Page 37: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/37.jpg)
Project culture
16
• This is a real project
• We expect you to work to build a real system
• To be used by real people
• This is real engineering
• Take initiative
• Find and solve problems yourselves
• Coding is only part of the job
• Good planning and design, hitting your market, and working well with your team, are all needed for success
![Page 38: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/38.jpg)
Grading and academic integrity
17
• Grading
• Project: 65%
• Reading assignments: 15%
• Final exam: 20%
• Academic integrity
• Simple: do not cheat!
• Do individual work by yourself.
• Do group work with your teammates only.
![Page 39: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/39.jpg)
adviceLessons from past students
18
![Page 40: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/40.jpg)
Communication
19
![Page 41: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/41.jpg)
Communication
19
• Foundation of the success of our team was communication
![Page 42: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/42.jpg)
Communication
19
• Foundation of the success of our team was communication
• Team communication and cooperation are all-important
![Page 43: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/43.jpg)
Communication
19
• Foundation of the success of our team was communication
• Team communication and cooperation are all-important
• Working together (physically) was good
![Page 44: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/44.jpg)
Communication
19
• Foundation of the success of our team was communication
• Team communication and cooperation are all-important
• Working together (physically) was good
• Well-run and consistently scheduled meetings help a project a lot
![Page 45: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/45.jpg)
Scheduling
20
Features & Quality
Time Resources
SOFTWARE DELIVERABLE
![Page 46: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/46.jpg)
Scheduling
20
• We often underestimated tasks. If we had spent more time analyzing each task and breaking it down into more manageable chunks our estimated completion times would have been more accurate.
Features & Quality
Time Resources
SOFTWARE DELIVERABLE
![Page 47: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/47.jpg)
Scheduling
20
• We often underestimated tasks. If we had spent more time analyzing each task and breaking it down into more manageable chunks our estimated completion times would have been more accurate.
• Get things done early; don’t cram at the end
Features & Quality
Time Resources
SOFTWARE DELIVERABLE
![Page 48: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/48.jpg)
Scheduling
20
• We often underestimated tasks. If we had spent more time analyzing each task and breaking it down into more manageable chunks our estimated completion times would have been more accurate.
• Get things done early; don’t cram at the end
• Remember you can cut features (triple constraint)
Features & Quality
Time Resources
SOFTWARE DELIVERABLE
![Page 49: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/49.jpg)
Scheduling
20
• We often underestimated tasks. If we had spent more time analyzing each task and breaking it down into more manageable chunks our estimated completion times would have been more accurate.
• Get things done early; don’t cram at the end
• Remember you can cut features (triple constraint)
• Don’t underestimate the difficulty of learning new programming languages, frameworks, and tools
Features & Quality
Time Resources
SOFTWARE DELIVERABLE
![Page 50: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/50.jpg)
Testing and coordination
21
![Page 51: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/51.jpg)
Testing and coordination
21
• Thoroughly testing your code and ensuring that your code passes all current tests before submitting is very helpful
![Page 52: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/52.jpg)
Testing and coordination
21
• Thoroughly testing your code and ensuring that your code passes all current tests before submitting is very helpful
• We needed a better upfront testing design
![Page 53: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/53.jpg)
Testing and coordination
21
• Thoroughly testing your code and ensuring that your code passes all current tests before submitting is very helpful
• We needed a better upfront testing design
• We learned (through some pain) to ensure to do small, frequent updates and commits. Failing to do this results in merges that can be a nightmare.
![Page 54: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/54.jpg)
goalsThis sounds like a lot of work! Why take this course?
22
![Page 55: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/55.jpg)
What’s in it for you?
23
![Page 56: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/56.jpg)
What’s in it for you?
23
• See how software is produced, from idea to ship to maintenance
![Page 57: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/57.jpg)
What’s in it for you?
23
• See how software is produced, from idea to ship to maintenance
• Get exposure to software development practices in use today
![Page 58: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/58.jpg)
What’s in it for you?
23
• See how software is produced, from idea to ship to maintenance
• Get exposure to software development practices in use today
• Get experience collaborating in a team toward a common goal
![Page 59: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/59.jpg)
What’s in it for you?
23
• See how software is produced, from idea to ship to maintenance
• Get exposure to software development practices in use today
• Get experience collaborating in a team toward a common goal
• Be able to articulate and understand technical ideas
![Page 60: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/60.jpg)
Unique aspects of CSE 403
24
• Cross-disciplinary nature of the subject
• Larger teams
• Propose and work on your own ideas
• Course staff in the "coach" role
• Mistakes along the way are encouraged, not penalized
• Few clearly right/wrong answers
• Plans always change
• Content: software design, testing, project management, etc.
![Page 61: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/61.jpg)
Isn’t this just like an internship?
25
• It’s not:
• Focused on one role in the team (often dev. or test)
• Requirements, arch, high-level design may be set
• Less opportunity for reflection
• Less generalization (such as from reading papers)
• Mentor may be more focused on results than process and developing you as an engineer
• Internships are complementary to CSE 403
• People who have had internships learn different things in CSE 403, but no less
![Page 62: Introduction - courses.cs.washington.edu• Foundation of the success of our team was communication • Team communication and cooperation are all-important • Working together (physically)](https://reader033.fdocuments.in/reader033/viewer/2022041723/5e507035f0e429455609acc5/html5/thumbnails/62.jpg)
CSE403courses.cs.washington.edu/courses/cse403/15sp/
26