Learning Objectives For A Course On Software Architecture: September 2015

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/281723347

Learning Objectives for a Course on Software Architecture

Conference Paper · September 2015


DOI: 10.1007/978-3-319-23727-5_14

CITATIONS READS

2 452

2 authors:

Arvind Kiwelekar Hansaraj Wankhede


Dr. Babasaheb Ambedkar Technological University Dr. Babasaheb Ambedkar Technological University
25 PUBLICATIONS   37 CITATIONS    3 PUBLICATIONS   3 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Cluster Computing View project

Multi band Antenna for Wireless Applications View project

All content following this page was uploaded by Arvind Kiwelekar on 22 July 2016.

The user has requested enhancement of the downloaded file.


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Learning Objectives for a Course on Software


Architecture

Arvind W. Kiwelekar, Hansraj S Wankhede


Department of Computer Engineering,
Dr. Babasaheb Ambedkar Technological University,
Lonere 402 103 Raigad (MS) India
{awk, hswankhede}@dbatu.ac.in

9th September 2015


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Outline

Introduction

Course Design

Bloom’s Taxonomy: Background

Learning Objectives

Conclusion
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Educational Problem and Stakeholders


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Which topics are to be included in a course on Software


Architecture?
Challenge 1
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

How to plan the instruction delivery or course scheduling?


Challenge2
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

On which architectural skills should students be evaluated?


Challenge 3
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Our Approach

1. Identify software architecture relevant topic from SWEBOK.


2. Define learning objectives for the course content .
3. Classify learning objectives using Revised Bloom’s Taxonomy
(RBT).
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Course Design
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Software Architecture: Course Content

Knowledge Areas Topics Subtopics


Requirements Requirements Architectural Design and Requirements Alloca-
Engineering Analysis tion
Software Design Key issues in Software Design Concurrency, Control and Handling of events,
data persistence, distribution of components, er-
ror and exception handling, interaction and pre-
sentation, Security.
Software Design Strategies and Component based design methods
Methods
Software Structure and Architec- Architectural Structures and Viewpoints, Archi-
ture tectural Styles, design patterns, architecture de-
sign decisions, families of programs and frame-
works
Software Design Notations Structural and behavioral descriptions
Software Design Quality Analysis Quality Attributes, Quality Analysis and Evalu-
and Evaluation ation Techniques, Measures
Software Engineer- Initiation and Scope definition Determination and negotiation of requirements,
ing Management feasibility analysis
Software Project Planning Risk and Quality Management

Based on Guide to Software Engineering Body of Knowledge(SWEBOK v.30), 2014


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Bloom’s Taxonomy: Introduction

Bloom’s taxonomy is a set of categories to


organize educational objectives.
• Categories describe the student’s learning
behavior.
• Categories show logical relationships
among the categories.
• Categories represent current
understanding of psychological processes
involved in learning, teaching and
assessment.
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Bloom’s Taxonomy: Introduction

Learning Levels
Applications
• To write and revise learning objectives
• To plan curriculum
• To identify simple to most difficult
skills
• To effectively align objectives to
assessment techniques and standards
• To formulate appropriate questions

The original Bloom’s taxonomy has been criticized for ordering


learning levels.
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Revised Bloom’s Taxonomy


Addition of Knowledge
Dimension
Changes in Learning Levels
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Classification categories in Revised Bloom’s Taxonomy

Remember Understand Apply Analyze Evaluate Create


Factual
Knowledge
Conceptual
Knowledge
Procedural
Knowledge
Meta-
Cognitive
Knowledge
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Cognitive Processes and Associated Action Verbs

1 Remember Choose, Define, Find, How, Label, List, Match, Name, Omit, Recall, Relate, Se-
lect, Show, Spell, Tell, What, When, Where, Which, Who, Why
2 Understand Classify, Compare, Contrast, Demonstrate, Explain, Extend, Illustrate, Infer, Inter-
pret, Outline, Relate, Rephrase, Show, Summarize, Translate
3. Apply Apply, Build, Choose, Construct, Develop, Experiment with, Identify, Interview,
Make use of, Model, Organize, Plan, Select, Solve, Utilize
4 Analyze Analyze, Assume, Categorize, Classify, Compare, Conclusion, Contrast, Discover,
Dissect, Distinguish, Divide, Examine, Function, Inference, Inspect, List, Motive,
Relationships, Simplify, Survey, Take part in, Test for, Theme
5 Evaluate Agree, Appraise, Assess, Award, Choose, Compare, Conclude, Criteria, Criticize,
Decide, Deduct, Defend, Determine, Disprove, Estimate, Evaluate, Explain, Im-
portance, Influence, Interpret, Judge, Justify, Mark, Measure, Opinion, Perceive,
Prioritize, Prove, Rate, Recommend, Rule on, Select, Support, Value
6 Create Adapt, Build, Change, Choose, Combine, Compile, Compose, Construct, Create,
Delete, Design, Develop, Discuss, Elaborate, Estimate, Formulate, Happen, Imag-
ine, Improve, Invent, Make up, Maximize, Minimize, Modify, Original, Originate,
Plan, Predict, Propose, Solution, Solve, Suppose, Test, Theory
Source: http://www.apu.edu/live data/files/333/blooms taxonomy action verbs.pdf
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Types of Knowledge in RBT


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

What are Learning Objectives


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Requirements Analysis

Course Content
• Requirements Analysis
• Architectural Design and Requirements Allocation

Learning Objectives
Identifier Learning Objectives Cognitive Knowledge
Category Category
LO1 To detect and resolve conflicts between requirements. Analyze Conceptual
LO2 To discover the bounds of the software in terms of organizational and Analyze Conceptual
operational environment.
LO3 To describe software requirements through conceptual models. Create Conceptual
LO4 To classify requirements into functional and non-functional requirements Understand Conceptual
LO5 To classify requirements into product requirements and Understand Conceptual
process requirements
LO6 To classify requirements into volatile and stable requirements Understand Conceptual
LO7 To define the scope of requirements i.e. global versus component specific Understand Conceptual
requirements.
LO8 To prioritize requirements. Understand Conceptual
LO9 To allocate requirements to architectural components. Create Conceptual
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Key Issues in Software Design and Design Methods

Course Content
Key issues in Software Design: Concurrency, Control and Handling of events, data
persistence, distribution of components, error and exception handling, interaction and
presentation, Security.
Identifier Learning Objectives Cognitive Knowledge
Category Category
LO10 To decompose a software system in terms of processes, tasks, and threads Create Conceptual
which will meet the design requirements of efficient, synchronization, schedul-
ing and atomicity.
LO11 To differentiate between information presentation and processing concerns for Analyze Conceptual
the given application.
LO12 To specify data and control flow through various mechanisms such as implicit Apply Conceptual
invocations and call backs.
LO13 To specify a scheme of allocation of software components across various hard- Create Conceptual
ware platforms handling issues of fault tolerance, heterogeneity and depend-
ability.
LO14 To recognize application domain data elements. Understand Conceptual
LO15 To specify interactions between information processing and presentation con- Analyze Conceptual
cerns.
LO16 To specify the mechanisms to be used for ensuring security of application Apply Conceptual
specific information such as access controls, and authorization.
LO17 To apply a design methodologies specific to architecture design such as Apply Procedural
Attribute-Driven design(ADD), pattern-oriented software architecture, model-
driven architecture, and DRAMA.
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Software Structure and Architecture

Course Content
Software Structure and Architecture Architectural Structures and Viewpoints,
Architectural Styles, design patterns, architecture design decisions, families of
programs and frameworks
Identifier Learning Objectives Cognitive Knowledge
Category Category
LO18 To differentiate between high-level architectural design vs detailed design. Analyze Conceptual
LO19 To create architectural description in multiple viewpoints. Create Conceptual
LO20 To apply techniques of recovering design information from low-level system Apply Procedural
implementation.
LO21 To acquire the knowledge of various architectural styles. Understand Conceptual
LO22 To apply the knowledge of various architectural tactics and styles in given Apply Procedural
scenario.
LO23 To comprehend an architectural style described in a pattern language. Understand Conceptual
LO24 To apply architectural styles for designing software systems. Apply Conceptual
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Software Design Notations

Course Content
Software Design Notations Structural and behavioral descriptions.

Learning Objectives
Identifier Learning Objectives Cognitive Knowledge
Category Category
LO25 To differentiate between structural and behavioral aspects of a software Analyze Conceptual
system.
LO26 To create structural and behavioral models in design notations such as ADL Create Conceptual
and UML.
LO27 To interpret structural and behavioral models of a software system. Analyze Conceptual
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Quality Analysis and Evaluation Techniques

Course Content
Quality Analysis and Evaluation Techniques Quality Attributes, Quality Analysis and
Evaluation Techniques, Measures.

Learning Objectives
Identifier Learning Objectives Cognitive Knowledge
Category Category
LO28 To provide the definitions of various quality attributes such as modifiability, Understand Factual
dependability, portability etc.
LO29 To classify quality attributes as run-time, non-run-time and intrinsic quality Analyze Factual
attributes.
LO30 To apply evaluation techniques such as static analysis, simulation and pro- Apply Procedural
totyping and design reviews to ascertain design quality.
LO 31 To remember and recognize architectural elements in a reference architec- Remember Factual
ture such as CORBA.
LO32 To check the compliance of a given software system such as a light-weight Evaluate Conceptual
implementation of an Object Request Broker (ORB) (eg., Mico) against its
reference architecture CORBA.
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Software Engineering Management

Course Content
Software Engineering Management Initiation and Scope definition Determination and
negotiation of requirements, feasibility analysis Software Project Planning Risk and
Quality Management

Learning Objectives
Identifier Learning Objectives Cognitive Knowledge
Category Category
LO33 To build an architectural prototype for requirements negotiation and feasi- Create Conceptual
bility analysis.
LO34 To perform risk management activities (e.g.,Identifications and prioritize of Apply Procedural
risk factors and risk mitigation strategies.) using architectural models.
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Organization of Learning Objectives in RBT Framework

Remember Understand Apply Analyze Evaluate Create


Factual Knowledge LO31 LO28 LO29
Conceptual Knowl- LO4, LO12, LO1, LO2, LO32 LO3, LO9,
edge LO5, LO6, LO16, LO11, LO10,
LO7, LO8, LO24 LO15, LO13,
LO14, LO18, LO19,
LO21, LO25, LO26,
LO22, LO27 LO33
LO23
Procedural Knowl- LO17,
edge LO20,
LO30,
LO34
Meta-Cognitive
Knowledge
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Analysis of Learning Objectives

Cognitive Dimension Knowledge Dimension


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Open Questions

• Is it appropriate to design a course on Software Architecture


using the knowledge areas specified in SWEBOK?
• Is it appropriate to adopt the Blooms Taxonomy to organize
the learning objectives for a course on Software Architecture?
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Conclusion

• The paper describes the design of a course on Software


architecture.
• The course content are drawn from the architecture related
topics included in SWEBOK.
• A set of learning objectives for a course on Software
Architecture is also defined with an intention to plan
systematic instruction delivery.
• The analysis of learning objectives shows that the nature of
the course described in this paper includes mainly Conceptual
knowledge.
• The analysis also shows that students need to be trained on
diverse cognitive abilities that range from the level of
Understand to Evaluate.
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Future Work

• To select an appropriate teaching methodology(e.g.,


Collaborative learning, experiential learning)
• To devise small-sized architectural case-studies for collecting
evidences for achievements of learning objectives.
Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Questions and Answers


Introduction Course Design Bloom’s Taxonomy: Background Learning Objectives Conclusion

Frequently Asked Questions

• What are the typical challenges faced while implementing a


course on Software Architecture?
• How the attainment of objectives are assessed?
• Which is the most difficult learning objective to achieve?

View publication stats

You might also like