Key Ideas The course is strong on concepts, principles, methods and techniques and short on...

Preview:

DESCRIPTION

Programming-in-the-Small vs. Programming-in-the-Large [cont] solves a specific problem that meets an immediate need runs in isolation all the code was written from scratch and you have control over it Functional requirements are the only concern solves a specific problem today with a system that is also able to grow over time and adapt to new environments and requirements. expected to interoperate and exchange data with many other systems. system is a mix of commercial off- the-shelf (COTS) and custom components Non-functional requirements (how the system behaves) is as important as what it does.

Citation preview

Key Ideas• The course is strong on concepts, principles, methods

and techniques and short on technologies.• This is important because the best solutions to many

problems in software development must be derived from first principles or by adapting existing processes and techniques.

• Because of the rapid pace of innovation and the fact that all software development is new development, there are few routine solutions.

• Following prescribed processes is a bridge from working from instinct to working from first principles

Programming-in-the-Small vs. Programming-in-the-Large

Programming-in-the-Small vs. Programming-in-the-Large [cont]

• solves a specific problem that meets an immediate need

• runs in isolation

• all the code was written from scratch and you have control over it

• Functional requirements are the only concern

• solves a specific problem today with a system that is also able to grow over time and adapt to new environments and requirements.

• expected to interoperate and exchange data with many other systems.

• system is a mix of commercial off-the-shelf (COTS) and custom components

• Non-functional requirements (how the system behaves) is as important as what it does.

Tradeoffs associated with investing effort in acquiring different types of knowledge

Value proposition of being a topic expert

Value proposition of a broad education

Six levels of learning

Full Professional

Technician

Three stages of practice

Course Organization

Recommended