16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

such system are assigned to the core and those that are concerned with other qualities and tradeoffs<br />

between them are assigned to the elective material.<br />

In general, students can best learn to apply much of the material defined in the Sofware<br />

Engineering KA by participating in a project. Such projects should require students to work on a<br />

team to develop a software system through as much of its lifecycle as is possible. Much of<br />

software engineering is devoted to effective communication among team members and<br />

stakeholders. Utilizing project teams, projects can be sufficiently challenging to require students<br />

to use effective software engineering techniques and to develop and practice their<br />

communication skills. While organizing and running effective projects within the academic<br />

framework can be challenging, the best way to learn to apply software engineering theory and<br />

knowledge is in the practical environment of a project. The minimum hours specified for some<br />

knowledge units in this document may appear insufficient to accomplish associated applicationlevel<br />

learning outcomes. It should be understood that these outcomes are to be achieved through<br />

project experience that may even occur later in the curriculum than when the topics within the<br />

knowledge unit are introduced.<br />

Further, there is increasing evidence that students learn to apply software engineering principles<br />

more effectively through an iterative approach, where students have the opportunity to work<br />

through a development cycle, assess their work, and then apply the knowledge gained through<br />

their assessment to another development cycle. Agile and iterative lifecycle models inherently<br />

afford such opportunities.<br />

Software lifecycle terminology in this document is based on that used in earlier sources, such as<br />

the Software Engineering Body of Knowledge (SWEBOK) and the ACM/IEEE-CS Software<br />

Engineering 2004 Curriculum Guidelines (SE2004). While some terms were originally defined<br />

in the context of plan-driven development processes, they are treated here as generic, and thus<br />

equally applicable to agile processes.<br />

Note: The SDF/Development Methods knowledge unit includes 9 Core-Tier1 hours that<br />

constitute an introduction to certain aspects of software engineering. The knowledge units,<br />

topics and core hour specifications in this Software Engineering Knowledge Area must be<br />

understood as assuming previous exposure to the material described in SDF/Development<br />

Methods.<br />

- 174 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!