SlideShare a Scribd company logo
1 of 44
Somya Jain
Assistant Professor
CSE/IT, JIIT-Noida 62
Six main chapters
1. Introduction
2. Problems with current and traditional teaching
approaches
3. Different trends to teaching software
engineering
4. Key issues
5. Curriculum Design and Delivery
6. Different Approaches to teaching software
engineering
Software Engineering
 Software Engineering is defined as the “application of
a systematic, disciplined, quantifiable ap-proach to the
development, operation and maintenance of software”
(Petkovic, Thompson, & Todtenhoefer, 2006, p. 294).
The need to teach software engineering in colleges has
been identi-fied for decades.
Problems :
Nurkkala & Brandle (2011) summarize the problems
 Short duration – single semester, or two-semester, courses impose an artificial time
constraint .
 High turnover – new students each semester means the talent pool remains shallow
and student skills are not developing based on previous experience
 Low complexity – by necessity given time constraints and skill sets
 In terms of the delivery medium, the educator can deliver the message via the “board-
and- talk” method
Jordanian Universities SE Analysis
 There are great inconsistencies among the SE courses taught at the different
universities.
 Most of the learning is theoretical and there is no incorporation of real projects or case
Studies from the Jordanian or global software market.
Different trends to teaching software
engineering
 For many years since early 1970’s, the “waterfall model” life-cycle
was considered the most successful for a structured approach to
software development. Popular textbooks espoused its techniques
and students were taught its methods.
 Subsequently, focus was placed on more incremental approaches
such as spiral development (Clinton, 1998) and rapid prototyping
(Boehm, 2006).
 More recently, techniques such as extreme programming (LeJeune,
2006), agile programming (Lu & DeClue, 2011), and software
performance in programming (Dugan, 2004) have been incorporated
in the educational experience.
 Some universities have courses which focus on programming
techniques versus software engineering processes and team work
(Petkovic et al., 2006).
 Callele et al., (2006) recommend a “stealth approach” of teaching
underlying software engineering principles, such as requirements
engineering, early in the students education without labeling it as
software engineering.
 Razmov & Anderson (2006) present a more overt approach to
creating a positive atmosphere by incorporating innovative
technology, such as tablet PC’s, in the classroom to mo-tivate
students.
 Offutt(2013) mentioned that engineering education must focus on
multiple quality attributes and mentioned that the following subject
should be in the core courses in study plan: usability, testing,
security, design modelling, project management, quality control,
standards, architecture, and so on.
 Perez and Alonso (2003) Proposed a SE curriculum composed of
two levels, the first level provides the students with the basic
knowledge of SE that may help students to start developing
software, in the second level the students got the knowledge on the
development stage such as software architecture, reengineering or
components
Key Issue
Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in
Computer Science, The Joint Task Force on Computing Curricula Association for Computing
Machinery (ACM) IEEE Computer Society
For example, specialized systems include:
• Real time systems
• Client-server systems
• Distributed systems
• Games
Domain specific software (e.g., scientific computing or business
applications)
Issues raised by each of these specialized systems demand
specific treatments in each phase of software engineering so
that there is no software crisis.
Key Issue
Stiller, E., & LeBlanc, C. (2002). Effective software engineering pedagogy. Journal of Computing
Sciences in Colleges, 17(6), 124-134.
 Stiller and LeBlanc (2002) suggest that the complex and
challenging nature of software engineering make the
effectiveness of such courses difficult and outline six steps to
convince students of the importance of effective software
engineering approaches: make it real, make it fun, make it
critical, make it accessible, make it successful, and speak with a
clear consistent voice in outlining strategies for students.
They suggest that it is the responsibility of the faculty to sell
the students on the value of software engineering by
convincing them that it is not a boring subject.
Curriculum Design and Delivery
Lesson plan
consists of
P. Desai, G.H. Joshi, Activity Based Teaching Learning in Software
Engineering – An Experience, IEEE International Conference on Engineering Education:
Innovative Practices and Future Trends, 2012
Courses
Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in
Computer Science, The Joint Task Force on Computing Curricula Association for Computing
Machinery (ACM) IEEE Computer Society
Learning Outcomes :
Example(Software Requirement)
1. List the key components of a use case or similar description of
some behavior that is required for a system.
2. Describe how the requirements engineering process supports the
elicitation and validation of behavioral requirements.
3. Interpret a given requirements model for a simple software system.
4. Describe the fundamental challenges of and common techniques
used for requirements elicitation.
5. List the key components of a data model (e.g., class diagrams or
ER diagrams).
6. Identify both functional and non-functional requirements in a given
requirements specification for a software system.
7. Conduct a review of a set of software requirements to determine
the quality of the requirements with respect to the characteristics of
good requirements
Analyzing the percentages of SE courses to non SE courses at
each SE department at the Jordanian Universities as well as a
sample of UK and USA universities.
S. Hanna, H. Jaber, F. Jaber, T. Shalaby, A. Almasalmeh,” Enhancing the Software
Engineering Curriculums: A Case Study of the Jordanian Universities”, 978-1-4799-
4970- IEEE,2014
 The Average percentages of the core SE course in the SE
departments are almost similar among Jordanian and UK
Universities which is about 34%, however the USA universities has a
higher percentages of about 50% of the courses.
 The Average percentages of the CS course in the SE departments
are almost similar among Jordanian and USA Universities which is
about 30%, however the UK universities has a higher percentages of
about 56% of the courses.
 There is over emphasis of the non Computers relates course in the
Jordanian Universities; 33.5% of courses comparing to only 21% and
9% in USA and UK Universities respectively.
Different Approaches to teaching
software engineering
1. Activity Based Teaching Learning in Software
Engineering
 The theory course on
Software Engineering was
redesigned by tightly coupling
a Mini project course with it.
Different activities are
designed along with Class
room teaching to make
Software Engineering as
joyful course for the students.
P. Desai, G.H. Joshi, Activity Based Teaching Learning in Software Engineering – An Experience, IEEE International Conference
on Engineering Education: Innovative Practices and Future Trends, 2012
Results:
The feedback is taken for the class strength of 140 students. This curriculum
is successfully implemented for consecutive years.
 The approach followed helped to improve their performance in
Continuous Internal Exams (CIE) and Semester End Exams (SEE)
both in theory and mini project course, 80% of the students have
got marks above 50. Performance in SEE is shown in Fig. This
indicate that students passing percentage in Software Engineering
theory is 96% and in mini projects results is 99% which is better
compared to previous year results.
2. Project based Approach
 A common approach to providing this type of experience to students
is to assign projects to small teams of students to complete during a
one-semester SE class.
 Project-based approaches are commonly used, but these
approaches have the weakness of creating an artificial "one man
shop" in which all aspects of the project are designed by one or a
small group of students to work on a single project throughout the
semester .
 A weakness of the "one project" design is that there is little or no
requirement to communicate technical details of the project to
another person or group.
 This "one man team“ structure does not accurately reflect the "real
world" of software development In many software development
companies as different groups are tasked with developing
requirements, selecting, installing, and maintaining hardware,
database management, overall system design, testing,
documentation, and support.
AN INNOVATIVE PROJECT STRUCTURE
FOR TEACHING SOFTWARE ENGINEERING
 They present a project structure that provides students the opportunity
to engage in all aspects of the software development life cycle while
also requiring that they produce clear documentation of their outputs at
each stage and communicate effectively with other teams who are
working on the same project.
 Hawker [1] identified a similar need for a SE project design that more
closely replicates the experience of working on a "real world" software
project. His approach was also based on the idea of having students
fulfill different roles within different projects at the same time.
T. Rishel, “An innovative project structure for teaching software engineering”, CCSC,
Southeastern Conference, University of Southern Mississippi Gulf Coast, 2012
Project Design:
 The basic structure of the project is a N x N x N matrix involving N
applications, N groups of students, and N tasks in the software
development process. For the structure to work as designed, the
number of projects, number of groups, and number of tasks all need to
be equal.
 Other changes to the course included :
How projects were selected : brainstorming session
who acted the role of “customer : The group that developed the
requirements document was also designated as the "customer" for the
application throughout the project lifecycle, so if there was ever a
question of general design or implementation of a feature the "customer"
group served as a resource to resolve the question.)
Cont..
The SE tasks were organized into a sequential order following a
general design framework. The order used was:
1. Requirements Data
2. Design/Architecture
3. Classes/Component
4. User Interface
5. Test Plan
Benefits:
 It required all groups to complete all phases of a SE project.
 The proposed project structure motivated students to do their best
work as It is required each group to document their work not only for
evaluation by the instructor, but to actually pass their output to their
peers in the class.
 The peer-centric design of this project structure also emulates
working conditions in the software development industry. How
software design operates in the real world and gave the students a
realistic experience of interacting with others throughout the SE
process.
 Promotes "best-practices" within the class, encourage learning and
using proper terminology, and motivate students to seek out
documentation techniques that encourage clear and concise
communication of technical details of a project.
 It enhance the teamwork performance by Consider and adopt
suggestions from others, providing help and ask to other team
members and Completing assignments on time.
Assessing Teamwork Skills:
 Independent observation
 Evaluating the evidence of individual team member contributions
 Conduct peer reviews
Peer Evaluation Form
R. W. Lingard, “Teaching and Assessing Teamwork Skills in Engineering and Computer
Science” , VOLUME 8 - NUMBER 1, ISSN: 1690-4524, California State University, Northridge,
2010
3. Teaching using Open Source Development
Tools
 Regardless of the specific pedagogical approach taken, many software
engineering educators have noted the importance of teaching students
the use of tools in software development, both to familiarize students
with current industry practices as well as to aid their own development
effort.
Some offerings use existing development tools such as:
• project planning software
• Integrated Development Environments (IDE’s)
• Configuration management tools.
• UML Modeling Tools
• Testing Tools
• Personal Assistant for Software Engineers (PASE) for project and
metric tracking.
• Facebook and Google Docs, to promote team communication and
collabo-ation
S. Teel, D. Schweitzer, S. Fulton , “Teaching Undergraduate Software Engineering Using Open Source
Development Tools ”, vol. 9,2012, United States Air Force Academy, Colorado, USA
 Wiki Tab to create Wiki pages for their projects and use Google
Project Hosting Wiki feature to document their project. Wiki based
web-tools are popular for creating and sharing project documents
enabling collaboration and team-work. All the members of the
project team had permissions to add, modify and delete their
respective project related documents and were helpful in knowledge
management and project communication.
Readmine:
It is an open source which provides both Project Management and Project
Communication capabilities for all student project teams.
 Multiple projects support
 Each project had the following built-in features: Wiki, News,
Document/Files, Forums, Issue tracking (requirements, bugs, tasks,
and enhancements) with associated scheduling, versioning, time-
tracking, calendar, and Gantt charts,Feeds & email notifications.
 Instructors find that it is much easier to monitor the status of each
project team on a regular basis -- and can provide mentoring to more
teams than previously With a single click.
 A central, web-accessible project information repository that provides
an easy-to-update and reference location for all students wherever
they are, whenever they need.
 This approach also helps enforce the need to keep project
documents continually up-to-date -- rather than the common
approach of “wait until later” which can result in extremely out-of-date
documentation.
Who uses Readmine?
Education & Research
 Quality & Usability Lab, Technische Universität Berlin
 Thiagarajar College of Engineering
 Ukrainia University Linux Competence Center at
Chernigiv State Technological University and Students '
Team work site of CS department
 Michigan State University, MSU Hydrogeology Lab
Companies and others
 alaTest, Product Reviews
 Applidium, iPad and iPhone application development
 Puppet Labs
Open Source tools which can be
used in Software Engineering labs:
4. Emphasizing Experiences in Teaching
Software Engineering Courses
 Although universities put much effort into preparing students for
software industry, a great portion of employers complain about level
of readiness of university graduates for working in this industry. They
are usually unsatisfied with lack of graduates' knowledge and
expertise in some aspects such as requirement engineering, team
working, testing, and measuring.
 This approach focused on instructing engineering practices and
principles and helping students to perceive their applications and
advantages through properly designed experiments.
 If we think that software is a product that can be engineered, it has to
be developed with the help of scientific hand outs, we have to use
tools in all stages of development and we have to evaluate our final
and intermediate products according to some well-defined standards.
S. Hosseinabadi, Z. Aghakasiri, A. Sadeghi, P. Delfani, M. Ghandehari, “Emphasizing
Experiences in Teaching Software Engineering Courses”, 2nd International Conference on
Education Technology and Computer (ICETC), IEEE, 2010
5. The Company Approach to Software
Engineering Project Courses
 Teaching larger software engineering project courses at
the end of a computing curriculum is a way for students to
learn some aspects of real-world jobs in industry. Such
courses, often referred to as capstone courses, are
effective for learning how to apply the skills they have
acquired in, for example, design, test, and configuration
management. However, these courses are typically
performed in small team.
 The company approach describes the general ideas and
concepts in the form of a course template, i.e., a generic
description from which a specific software engineering
course can be designed.
D. Broman, K. Sandah, M. Baker, “The Company Approach to Software Engineering Project
Courses”, ACCEPTED TO IEEE TRANSACTIONS ON EDUCATION, VOLUME 55, ISSUE 4, 2012,IEEE
Teaching/learning activities of the methodology:
1. Role selection
2. Company meetings
3. Requirements elicitation
4. Preliminary study and business meetings
5. Iteration planning and reviews
6. Time reporting and project planning
7. Transformation of organizational structure
8. Retrospectives and process improvements
9. Release planning and expo
10. Self reflection and experience documentation
Assessing and grading project-based
courses
 For the current course (2011) a new concept is being tested where
students also write individual reports during the project. These reports
include:
(1) what the student claims he/she has contributed with in the project, and
(2) what are the most important things that he/she learned during the
project.
 A particular component of the company approach assumed to help
with the individual assessment is the individual time budgets and time
reporting. The key idea of using constrained time budgets is to
achieve the learning outcome that student realize that resources are
limited and therefore prioritization is necessary.
6. Studio-Based Instruction Model
A.Sureka, M. Gupta, D. Sarkar, V. Chaudhary, “A Case-Study on Teaching Undergraduate-
Level
Software Engineering Course Using Inverted-Classroom, Large-Group, Real-Client and
Studio-Based Instruction Model”
 Software Studio is a studio-based learning (SBL) curriculum
designed to train students as professional software engineers.
 Traditional software engineering courses remain important, but suffer
significant gaps in preparing students for professional engagement.
 The seating arrangement was different than the lecture-based model
and is motivated by studio-based learning model applied in
architecture schools.
Survey result:
A.Sureka, M. Gupta, D. Sarkar, V. Chaudhary, “A Case-Study on Teaching Undergraduate-Level Software
Engineering Course Using Inverted-Classroom, Large-Group, Real-Client and Studio-Based Instruction Model”
References
1. ACM, IEEE. (2008). Computer science curriculum 2008, An interim revision of CS 2001. Retrieved
March 14, 2012 from http://www.acm.org/education/curricula/ComputerScience2008.pdf
2. A.Sureka, M. Gupta, D. Sarkar, V. Chaudhary, “A Case-Study on Teaching Undergraduate-Level
Software Engineering Course Using Inverted-Classroom, Large-Group, Real-Client and Studio-
Based Instruction Model”
3. Callele, D., & Makaroff, D. (2006). Teaching requirements engineering to an unsuspecting
audience. ACM SIGCSE Bulletin, 38(1), 433-437.
4. Claypool, K., & Claypool, M. (2005). Teaching software engineering through game design.
Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer
science educa-tion (ITiCSE '05), 123-127.
5. Clinton J. (1998). Tight spiral projects for communicating software engineering concepts.
Proceedings of the 3rd Australasian conference on Computer science education (ACSE '98), 136-
144.
6. Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in
Computer Science, The Joint Task Force on Computing Curricula Association for Computing
Machinery (ACM) IEEE Computer Society
7. C. Wohlin, B. Regnell, "Strategies for industrial relevance in software engineering education", The
Journal of Systems and Software, vol. 49, 1999,pp. 125-134.
8. D. Broman, K. Sandah, M. Baker, “The Company Approach to Software Engineering Project
Courses”, ACCEPTED TO IEEE TRANSACTIONS ON EDUCATION, VOLUME 55, ISSUE 4,
2012,IEEE
9. Lingard, R. and Berry, E., “Improving Team Performance in Software Engineering”, Selected Papers from the 11th
International Conference on College Teaching and Learning, Chambers, C. (ed.), Florida Community College at
Jacksonville, 2000.
10. Lu, B., & DeClue, T. (2011). Teaching agile methodology in a software engineering capstone course. Jour-nal of
Computing Sciences in Colleges, 26(5), 293-299.
11. P. Desai, G.H. Joshi, Activity Based Teaching Learning in Software Engineering – An Experience, IEEE
International Conference on Engineering Education: Innovative Practices and Future Trends, 2012
12. Petkovic, D., Thompson, G., & Todtenhoefer, R. (2006). Teaching practical software engineering and global
software engineering: evaluation and comparison. ACM SIGCSE Bulletin, 38(3), 294-298.
13. Razmov, V., & Anderson, R. (2006). Pedagogical techniques supported by the use of student devices in teaching
software engineering. ACM SIGCSE Bulletin, 38(1) 344-348.
14. R. Conn, "Developing software engineers at the C-BOJ software factory", IEEE Software, vol. 19,2002, pp. 25 -
29.
15. R. W. Lingard, “Teaching and Assessing Teamwork Skills in Engineering and Computer Science” , VOLUME 8 -
NUMBER 1, ISSN: 1690-4524, California State University, Northridge, 2010
16. S. Mirian-Hosseinabadi, Z .Aghakasiri, A. Sadeghi, P. Delfani, M. Ghandehari, “Emphasizing Experiences in
Software engineering Courses”, International Conference on Education Technology and Computer (ICETC),
IEEE, 978-1-4244-6370-11.
17. T. Rishel, “An innovative project structure for teaching software engineering”, CCSC, Southeastern Conference,
University of Southern Mississippi Gulf Coast, 2012

More Related Content

What's hot

Www whidbey com_frodo_isd_htm
Www whidbey com_frodo_isd_htmWww whidbey com_frodo_isd_htm
Www whidbey com_frodo_isd_htmElsa von Licy
 
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...ijma
 
Beyond the technical barriers oral communication barriers of engineering stu...
Beyond the technical barriers  oral communication barriers of engineering stu...Beyond the technical barriers  oral communication barriers of engineering stu...
Beyond the technical barriers oral communication barriers of engineering stu...Alexander Decker
 
Enhancing quality in e-Learning by knowledge-based IT support
Enhancing quality in e-Learning by knowledge-based IT supportEnhancing quality in e-Learning by knowledge-based IT support
Enhancing quality in e-Learning by knowledge-based IT supportBaker Khader Abdallah, PMP
 
Secured cloud support for global software
Secured cloud support for global softwareSecured cloud support for global software
Secured cloud support for global softwareijseajournal
 
B tech cse syllabus - MITAOE
B tech cse syllabus - MITAOEB tech cse syllabus - MITAOE
B tech cse syllabus - MITAOEMITAcademy1
 
E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...
E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...
E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...IJITE
 
Adaboost-multilayer perceptron to predict the student’s performance in softwa...
Adaboost-multilayer perceptron to predict the student’s performance in softwa...Adaboost-multilayer perceptron to predict the student’s performance in softwa...
Adaboost-multilayer perceptron to predict the student’s performance in softwa...journalBEEI
 
P2004079admin wei1
P2004079admin wei1P2004079admin wei1
P2004079admin wei1jhoy06
 
Determining the core part of software development curriculum applying associa...
Determining the core part of software development curriculum applying associa...Determining the core part of software development curriculum applying associa...
Determining the core part of software development curriculum applying associa...csandit
 
IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...
IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...
IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...IRJET Journal
 
IRJET- Placement Recommender and Evaluator
IRJET- Placement Recommender and EvaluatorIRJET- Placement Recommender and Evaluator
IRJET- Placement Recommender and EvaluatorIRJET Journal
 
iBaTs: Interactive Bash Shell Adaptive Tutoring System
iBaTs: Interactive Bash Shell Adaptive Tutoring SystemiBaTs: Interactive Bash Shell Adaptive Tutoring System
iBaTs: Interactive Bash Shell Adaptive Tutoring SystemCSCJournals
 
Ed 633 persuasive arguement presentation
Ed 633 persuasive arguement presentationEd 633 persuasive arguement presentation
Ed 633 persuasive arguement presentationstrandbr
 
E-learning's contribution to workforce development
E-learning's contribution to workforce developmentE-learning's contribution to workforce development
E-learning's contribution to workforce developmentIndustry System Change
 

What's hot (17)

Www whidbey com_frodo_isd_htm
Www whidbey com_frodo_isd_htmWww whidbey com_frodo_isd_htm
Www whidbey com_frodo_isd_htm
 
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
 
Beyond the technical barriers oral communication barriers of engineering stu...
Beyond the technical barriers  oral communication barriers of engineering stu...Beyond the technical barriers  oral communication barriers of engineering stu...
Beyond the technical barriers oral communication barriers of engineering stu...
 
Enhancing quality in e-Learning by knowledge-based IT support
Enhancing quality in e-Learning by knowledge-based IT supportEnhancing quality in e-Learning by knowledge-based IT support
Enhancing quality in e-Learning by knowledge-based IT support
 
Students’ Performance and Satisfaction with the Cisco Academy Networking Pr...
Students’ Performance and Satisfaction  with the Cisco Academy Networking  Pr...Students’ Performance and Satisfaction  with the Cisco Academy Networking  Pr...
Students’ Performance and Satisfaction with the Cisco Academy Networking Pr...
 
Secured cloud support for global software
Secured cloud support for global softwareSecured cloud support for global software
Secured cloud support for global software
 
B tech cse syllabus - MITAOE
B tech cse syllabus - MITAOEB tech cse syllabus - MITAOE
B tech cse syllabus - MITAOE
 
E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...
E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...
E-Learning Readiness Assessment Tool for Philippine Higher Education Institut...
 
Adaboost-multilayer perceptron to predict the student’s performance in softwa...
Adaboost-multilayer perceptron to predict the student’s performance in softwa...Adaboost-multilayer perceptron to predict the student’s performance in softwa...
Adaboost-multilayer perceptron to predict the student’s performance in softwa...
 
P2004079admin wei1
P2004079admin wei1P2004079admin wei1
P2004079admin wei1
 
Determining the core part of software development curriculum applying associa...
Determining the core part of software development curriculum applying associa...Determining the core part of software development curriculum applying associa...
Determining the core part of software development curriculum applying associa...
 
IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...
IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...
IRJET- Impact of Audio-Visual Teaching in Relation to Academic Performance of...
 
IRJET- Placement Recommender and Evaluator
IRJET- Placement Recommender and EvaluatorIRJET- Placement Recommender and Evaluator
IRJET- Placement Recommender and Evaluator
 
iBaTs: Interactive Bash Shell Adaptive Tutoring System
iBaTs: Interactive Bash Shell Adaptive Tutoring SystemiBaTs: Interactive Bash Shell Adaptive Tutoring System
iBaTs: Interactive Bash Shell Adaptive Tutoring System
 
Vilnius pres dianne lalancette
Vilnius pres dianne lalancetteVilnius pres dianne lalancette
Vilnius pres dianne lalancette
 
Ed 633 persuasive arguement presentation
Ed 633 persuasive arguement presentationEd 633 persuasive arguement presentation
Ed 633 persuasive arguement presentation
 
E-learning's contribution to workforce development
E-learning's contribution to workforce developmentE-learning's contribution to workforce development
E-learning's contribution to workforce development
 

Viewers also liked (13)

Mini Project- Shopping Cart Development
Mini Project- Shopping Cart DevelopmentMini Project- Shopping Cart Development
Mini Project- Shopping Cart Development
 
Online recruitment system
Online recruitment systemOnline recruitment system
Online recruitment system
 
Online Recruitment
Online RecruitmentOnline Recruitment
Online Recruitment
 
E recruitment system
E recruitment systemE recruitment system
E recruitment system
 
Online examination system
Online examination systemOnline examination system
Online examination system
 
E Recruitments
E RecruitmentsE Recruitments
E Recruitments
 
Online Recruitment Portal
Online Recruitment PortalOnline Recruitment Portal
Online Recruitment Portal
 
Online Bus ticket reservation
Online Bus ticket reservationOnline Bus ticket reservation
Online Bus ticket reservation
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination system
 
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
 
Employee Recruitment System srs
Employee Recruitment System srsEmployee Recruitment System srs
Employee Recruitment System srs
 
Employee Management System
Employee Management SystemEmployee Management System
Employee Management System
 
Methods, approaches and techniques of teaching english
Methods, approaches and techniques of teaching englishMethods, approaches and techniques of teaching english
Methods, approaches and techniques of teaching english
 

Similar to Software Engineering Education and Teaching

CS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning CourseCS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning Coursedrboon
 
NEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONNEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONcsandit
 
A Systematic Literature Review Of Requirements Engineering Education
A Systematic Literature Review Of Requirements Engineering EducationA Systematic Literature Review Of Requirements Engineering Education
A Systematic Literature Review Of Requirements Engineering EducationEmma Burke
 
Prin itppt k_texler_v2_062609
Prin itppt k_texler_v2_062609Prin itppt k_texler_v2_062609
Prin itppt k_texler_v2_062609NAFCareerAcads
 
Cg31350353
Cg31350353Cg31350353
Cg31350353IJMER
 
A Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software EngineeringA Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software EngineeringAmy Cernava
 
Applicability of Extreme Programming In Educational Environment
Applicability of Extreme Programming In Educational EnvironmentApplicability of Extreme Programming In Educational Environment
Applicability of Extreme Programming In Educational EnvironmentCSCJournals
 
Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...Muhammad Ahmad
 
software engineering
software engineeringsoftware engineering
software engineeringTayfun Çelik
 
Plan curricular Sistemas de información.pdf
Plan curricular Sistemas de información.pdfPlan curricular Sistemas de información.pdf
Plan curricular Sistemas de información.pdfJose Diaz Gomez
 
A Domain Engineering For Interactive Learning Modules
A Domain Engineering For Interactive Learning ModulesA Domain Engineering For Interactive Learning Modules
A Domain Engineering For Interactive Learning ModulesNathan Mathis
 
Development of Indonesian National Qualification Framework-Based teaching mod...
Development of Indonesian National Qualification Framework-Based teaching mod...Development of Indonesian National Qualification Framework-Based teaching mod...
Development of Indonesian National Qualification Framework-Based teaching mod...IJAEMSJORNAL
 
Final project program evaluation module 8
Final project program evaluation module 8Final project program evaluation module 8
Final project program evaluation module 8Daniel Downs
 
Project Management Courses in IS Graduate Programs What is Being .docx
Project Management Courses in IS Graduate Programs What is Being .docxProject Management Courses in IS Graduate Programs What is Being .docx
Project Management Courses in IS Graduate Programs What is Being .docxwkyra78
 
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...cscpconf
 
Case Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of ArtCase Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of ArtDr Sukhpal Singh Gill
 
An Integrated Approach To Teaching Introductory Programming
An Integrated Approach To Teaching Introductory ProgrammingAn Integrated Approach To Teaching Introductory Programming
An Integrated Approach To Teaching Introductory ProgrammingRichard Hogue
 
ASEE Paper Using Online Endless Quizzes as Graded Homework.pdf
ASEE Paper  Using Online Endless Quizzes as Graded Homework.pdfASEE Paper  Using Online Endless Quizzes as Graded Homework.pdf
ASEE Paper Using Online Endless Quizzes as Graded Homework.pdfBrittany Allen
 

Similar to Software Engineering Education and Teaching (20)

CS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning CourseCS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning Course
 
NEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONNEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSION
 
Teaching agile
Teaching agileTeaching agile
Teaching agile
 
A Systematic Literature Review Of Requirements Engineering Education
A Systematic Literature Review Of Requirements Engineering EducationA Systematic Literature Review Of Requirements Engineering Education
A Systematic Literature Review Of Requirements Engineering Education
 
Prin itppt k_texler_v2_062609
Prin itppt k_texler_v2_062609Prin itppt k_texler_v2_062609
Prin itppt k_texler_v2_062609
 
Cg31350353
Cg31350353Cg31350353
Cg31350353
 
A Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software EngineeringA Practical Approach Of Teaching Software Engineering
A Practical Approach Of Teaching Software Engineering
 
Applicability of Extreme Programming In Educational Environment
Applicability of Extreme Programming In Educational EnvironmentApplicability of Extreme Programming In Educational Environment
Applicability of Extreme Programming In Educational Environment
 
Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...Student perceptions and attitudes towards the software factory as a learning ...
Student perceptions and attitudes towards the software factory as a learning ...
 
software engineering
software engineeringsoftware engineering
software engineering
 
Plan curricular Sistemas de información.pdf
Plan curricular Sistemas de información.pdfPlan curricular Sistemas de información.pdf
Plan curricular Sistemas de información.pdf
 
A Domain Engineering For Interactive Learning Modules
A Domain Engineering For Interactive Learning ModulesA Domain Engineering For Interactive Learning Modules
A Domain Engineering For Interactive Learning Modules
 
Development of Indonesian National Qualification Framework-Based teaching mod...
Development of Indonesian National Qualification Framework-Based teaching mod...Development of Indonesian National Qualification Framework-Based teaching mod...
Development of Indonesian National Qualification Framework-Based teaching mod...
 
Final project program evaluation module 8
Final project program evaluation module 8Final project program evaluation module 8
Final project program evaluation module 8
 
Project Management Courses in IS Graduate Programs What is Being .docx
Project Management Courses in IS Graduate Programs What is Being .docxProject Management Courses in IS Graduate Programs What is Being .docx
Project Management Courses in IS Graduate Programs What is Being .docx
 
Virtual Flipped Classroom
Virtual Flipped ClassroomVirtual Flipped Classroom
Virtual Flipped Classroom
 
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
 
Case Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of ArtCase Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of Art
 
An Integrated Approach To Teaching Introductory Programming
An Integrated Approach To Teaching Introductory ProgrammingAn Integrated Approach To Teaching Introductory Programming
An Integrated Approach To Teaching Introductory Programming
 
ASEE Paper Using Online Endless Quizzes as Graded Homework.pdf
ASEE Paper  Using Online Endless Quizzes as Graded Homework.pdfASEE Paper  Using Online Endless Quizzes as Graded Homework.pdf
ASEE Paper Using Online Endless Quizzes as Graded Homework.pdf
 

Recently uploaded

complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage examplePragyanshuParadkar1
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture designssuser87fa0c1
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 

Recently uploaded (20)

complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage example
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture design
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 

Software Engineering Education and Teaching

  • 2. Six main chapters 1. Introduction 2. Problems with current and traditional teaching approaches 3. Different trends to teaching software engineering 4. Key issues 5. Curriculum Design and Delivery 6. Different Approaches to teaching software engineering
  • 3. Software Engineering  Software Engineering is defined as the “application of a systematic, disciplined, quantifiable ap-proach to the development, operation and maintenance of software” (Petkovic, Thompson, & Todtenhoefer, 2006, p. 294). The need to teach software engineering in colleges has been identi-fied for decades.
  • 4. Problems : Nurkkala & Brandle (2011) summarize the problems  Short duration – single semester, or two-semester, courses impose an artificial time constraint .  High turnover – new students each semester means the talent pool remains shallow and student skills are not developing based on previous experience  Low complexity – by necessity given time constraints and skill sets  In terms of the delivery medium, the educator can deliver the message via the “board- and- talk” method Jordanian Universities SE Analysis  There are great inconsistencies among the SE courses taught at the different universities.  Most of the learning is theoretical and there is no incorporation of real projects or case Studies from the Jordanian or global software market.
  • 5. Different trends to teaching software engineering
  • 6.  For many years since early 1970’s, the “waterfall model” life-cycle was considered the most successful for a structured approach to software development. Popular textbooks espoused its techniques and students were taught its methods.  Subsequently, focus was placed on more incremental approaches such as spiral development (Clinton, 1998) and rapid prototyping (Boehm, 2006).  More recently, techniques such as extreme programming (LeJeune, 2006), agile programming (Lu & DeClue, 2011), and software performance in programming (Dugan, 2004) have been incorporated in the educational experience.  Some universities have courses which focus on programming techniques versus software engineering processes and team work (Petkovic et al., 2006).
  • 7.  Callele et al., (2006) recommend a “stealth approach” of teaching underlying software engineering principles, such as requirements engineering, early in the students education without labeling it as software engineering.  Razmov & Anderson (2006) present a more overt approach to creating a positive atmosphere by incorporating innovative technology, such as tablet PC’s, in the classroom to mo-tivate students.  Offutt(2013) mentioned that engineering education must focus on multiple quality attributes and mentioned that the following subject should be in the core courses in study plan: usability, testing, security, design modelling, project management, quality control, standards, architecture, and so on.  Perez and Alonso (2003) Proposed a SE curriculum composed of two levels, the first level provides the students with the basic knowledge of SE that may help students to start developing software, in the second level the students got the knowledge on the development stage such as software architecture, reengineering or components
  • 8. Key Issue Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) IEEE Computer Society
  • 9. For example, specialized systems include: • Real time systems • Client-server systems • Distributed systems • Games Domain specific software (e.g., scientific computing or business applications) Issues raised by each of these specialized systems demand specific treatments in each phase of software engineering so that there is no software crisis.
  • 10. Key Issue Stiller, E., & LeBlanc, C. (2002). Effective software engineering pedagogy. Journal of Computing Sciences in Colleges, 17(6), 124-134.
  • 11.  Stiller and LeBlanc (2002) suggest that the complex and challenging nature of software engineering make the effectiveness of such courses difficult and outline six steps to convince students of the importance of effective software engineering approaches: make it real, make it fun, make it critical, make it accessible, make it successful, and speak with a clear consistent voice in outlining strategies for students. They suggest that it is the responsibility of the faculty to sell the students on the value of software engineering by convincing them that it is not a boring subject.
  • 13. Lesson plan consists of P. Desai, G.H. Joshi, Activity Based Teaching Learning in Software Engineering – An Experience, IEEE International Conference on Engineering Education: Innovative Practices and Future Trends, 2012
  • 14. Courses Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) IEEE Computer Society
  • 15. Learning Outcomes : Example(Software Requirement) 1. List the key components of a use case or similar description of some behavior that is required for a system. 2. Describe how the requirements engineering process supports the elicitation and validation of behavioral requirements. 3. Interpret a given requirements model for a simple software system. 4. Describe the fundamental challenges of and common techniques used for requirements elicitation. 5. List the key components of a data model (e.g., class diagrams or ER diagrams). 6. Identify both functional and non-functional requirements in a given requirements specification for a software system. 7. Conduct a review of a set of software requirements to determine the quality of the requirements with respect to the characteristics of good requirements
  • 16. Analyzing the percentages of SE courses to non SE courses at each SE department at the Jordanian Universities as well as a sample of UK and USA universities. S. Hanna, H. Jaber, F. Jaber, T. Shalaby, A. Almasalmeh,” Enhancing the Software Engineering Curriculums: A Case Study of the Jordanian Universities”, 978-1-4799- 4970- IEEE,2014
  • 17.  The Average percentages of the core SE course in the SE departments are almost similar among Jordanian and UK Universities which is about 34%, however the USA universities has a higher percentages of about 50% of the courses.  The Average percentages of the CS course in the SE departments are almost similar among Jordanian and USA Universities which is about 30%, however the UK universities has a higher percentages of about 56% of the courses.  There is over emphasis of the non Computers relates course in the Jordanian Universities; 33.5% of courses comparing to only 21% and 9% in USA and UK Universities respectively.
  • 18. Different Approaches to teaching software engineering
  • 19. 1. Activity Based Teaching Learning in Software Engineering  The theory course on Software Engineering was redesigned by tightly coupling a Mini project course with it. Different activities are designed along with Class room teaching to make Software Engineering as joyful course for the students. P. Desai, G.H. Joshi, Activity Based Teaching Learning in Software Engineering – An Experience, IEEE International Conference on Engineering Education: Innovative Practices and Future Trends, 2012
  • 20. Results: The feedback is taken for the class strength of 140 students. This curriculum is successfully implemented for consecutive years.
  • 21.  The approach followed helped to improve their performance in Continuous Internal Exams (CIE) and Semester End Exams (SEE) both in theory and mini project course, 80% of the students have got marks above 50. Performance in SEE is shown in Fig. This indicate that students passing percentage in Software Engineering theory is 96% and in mini projects results is 99% which is better compared to previous year results.
  • 22. 2. Project based Approach  A common approach to providing this type of experience to students is to assign projects to small teams of students to complete during a one-semester SE class.  Project-based approaches are commonly used, but these approaches have the weakness of creating an artificial "one man shop" in which all aspects of the project are designed by one or a small group of students to work on a single project throughout the semester .  A weakness of the "one project" design is that there is little or no requirement to communicate technical details of the project to another person or group.  This "one man team“ structure does not accurately reflect the "real world" of software development In many software development companies as different groups are tasked with developing requirements, selecting, installing, and maintaining hardware, database management, overall system design, testing, documentation, and support.
  • 23. AN INNOVATIVE PROJECT STRUCTURE FOR TEACHING SOFTWARE ENGINEERING  They present a project structure that provides students the opportunity to engage in all aspects of the software development life cycle while also requiring that they produce clear documentation of their outputs at each stage and communicate effectively with other teams who are working on the same project.  Hawker [1] identified a similar need for a SE project design that more closely replicates the experience of working on a "real world" software project. His approach was also based on the idea of having students fulfill different roles within different projects at the same time. T. Rishel, “An innovative project structure for teaching software engineering”, CCSC, Southeastern Conference, University of Southern Mississippi Gulf Coast, 2012
  • 24. Project Design:  The basic structure of the project is a N x N x N matrix involving N applications, N groups of students, and N tasks in the software development process. For the structure to work as designed, the number of projects, number of groups, and number of tasks all need to be equal.  Other changes to the course included : How projects were selected : brainstorming session who acted the role of “customer : The group that developed the requirements document was also designated as the "customer" for the application throughout the project lifecycle, so if there was ever a question of general design or implementation of a feature the "customer" group served as a resource to resolve the question.)
  • 25. Cont.. The SE tasks were organized into a sequential order following a general design framework. The order used was: 1. Requirements Data 2. Design/Architecture 3. Classes/Component 4. User Interface 5. Test Plan
  • 26.
  • 27. Benefits:  It required all groups to complete all phases of a SE project.  The proposed project structure motivated students to do their best work as It is required each group to document their work not only for evaluation by the instructor, but to actually pass their output to their peers in the class.  The peer-centric design of this project structure also emulates working conditions in the software development industry. How software design operates in the real world and gave the students a realistic experience of interacting with others throughout the SE process.  Promotes "best-practices" within the class, encourage learning and using proper terminology, and motivate students to seek out documentation techniques that encourage clear and concise communication of technical details of a project.  It enhance the teamwork performance by Consider and adopt suggestions from others, providing help and ask to other team members and Completing assignments on time.
  • 28. Assessing Teamwork Skills:  Independent observation  Evaluating the evidence of individual team member contributions  Conduct peer reviews
  • 29. Peer Evaluation Form R. W. Lingard, “Teaching and Assessing Teamwork Skills in Engineering and Computer Science” , VOLUME 8 - NUMBER 1, ISSN: 1690-4524, California State University, Northridge, 2010
  • 30. 3. Teaching using Open Source Development Tools  Regardless of the specific pedagogical approach taken, many software engineering educators have noted the importance of teaching students the use of tools in software development, both to familiarize students with current industry practices as well as to aid their own development effort. Some offerings use existing development tools such as: • project planning software • Integrated Development Environments (IDE’s) • Configuration management tools. • UML Modeling Tools • Testing Tools • Personal Assistant for Software Engineers (PASE) for project and metric tracking. • Facebook and Google Docs, to promote team communication and collabo-ation S. Teel, D. Schweitzer, S. Fulton , “Teaching Undergraduate Software Engineering Using Open Source Development Tools ”, vol. 9,2012, United States Air Force Academy, Colorado, USA
  • 31.  Wiki Tab to create Wiki pages for their projects and use Google Project Hosting Wiki feature to document their project. Wiki based web-tools are popular for creating and sharing project documents enabling collaboration and team-work. All the members of the project team had permissions to add, modify and delete their respective project related documents and were helpful in knowledge management and project communication.
  • 32. Readmine: It is an open source which provides both Project Management and Project Communication capabilities for all student project teams.  Multiple projects support  Each project had the following built-in features: Wiki, News, Document/Files, Forums, Issue tracking (requirements, bugs, tasks, and enhancements) with associated scheduling, versioning, time- tracking, calendar, and Gantt charts,Feeds & email notifications.  Instructors find that it is much easier to monitor the status of each project team on a regular basis -- and can provide mentoring to more teams than previously With a single click.  A central, web-accessible project information repository that provides an easy-to-update and reference location for all students wherever they are, whenever they need.  This approach also helps enforce the need to keep project documents continually up-to-date -- rather than the common approach of “wait until later” which can result in extremely out-of-date documentation.
  • 33. Who uses Readmine? Education & Research  Quality & Usability Lab, Technische Universität Berlin  Thiagarajar College of Engineering  Ukrainia University Linux Competence Center at Chernigiv State Technological University and Students ' Team work site of CS department  Michigan State University, MSU Hydrogeology Lab Companies and others  alaTest, Product Reviews  Applidium, iPad and iPhone application development  Puppet Labs
  • 34. Open Source tools which can be used in Software Engineering labs:
  • 35. 4. Emphasizing Experiences in Teaching Software Engineering Courses  Although universities put much effort into preparing students for software industry, a great portion of employers complain about level of readiness of university graduates for working in this industry. They are usually unsatisfied with lack of graduates' knowledge and expertise in some aspects such as requirement engineering, team working, testing, and measuring.  This approach focused on instructing engineering practices and principles and helping students to perceive their applications and advantages through properly designed experiments.  If we think that software is a product that can be engineered, it has to be developed with the help of scientific hand outs, we have to use tools in all stages of development and we have to evaluate our final and intermediate products according to some well-defined standards. S. Hosseinabadi, Z. Aghakasiri, A. Sadeghi, P. Delfani, M. Ghandehari, “Emphasizing Experiences in Teaching Software Engineering Courses”, 2nd International Conference on Education Technology and Computer (ICETC), IEEE, 2010
  • 36. 5. The Company Approach to Software Engineering Project Courses  Teaching larger software engineering project courses at the end of a computing curriculum is a way for students to learn some aspects of real-world jobs in industry. Such courses, often referred to as capstone courses, are effective for learning how to apply the skills they have acquired in, for example, design, test, and configuration management. However, these courses are typically performed in small team.  The company approach describes the general ideas and concepts in the form of a course template, i.e., a generic description from which a specific software engineering course can be designed. D. Broman, K. Sandah, M. Baker, “The Company Approach to Software Engineering Project Courses”, ACCEPTED TO IEEE TRANSACTIONS ON EDUCATION, VOLUME 55, ISSUE 4, 2012,IEEE
  • 37. Teaching/learning activities of the methodology: 1. Role selection 2. Company meetings 3. Requirements elicitation 4. Preliminary study and business meetings 5. Iteration planning and reviews 6. Time reporting and project planning 7. Transformation of organizational structure 8. Retrospectives and process improvements 9. Release planning and expo 10. Self reflection and experience documentation
  • 38.
  • 39. Assessing and grading project-based courses  For the current course (2011) a new concept is being tested where students also write individual reports during the project. These reports include: (1) what the student claims he/she has contributed with in the project, and (2) what are the most important things that he/she learned during the project.  A particular component of the company approach assumed to help with the individual assessment is the individual time budgets and time reporting. The key idea of using constrained time budgets is to achieve the learning outcome that student realize that resources are limited and therefore prioritization is necessary.
  • 40.
  • 41. 6. Studio-Based Instruction Model A.Sureka, M. Gupta, D. Sarkar, V. Chaudhary, “A Case-Study on Teaching Undergraduate- Level Software Engineering Course Using Inverted-Classroom, Large-Group, Real-Client and Studio-Based Instruction Model”  Software Studio is a studio-based learning (SBL) curriculum designed to train students as professional software engineers.  Traditional software engineering courses remain important, but suffer significant gaps in preparing students for professional engagement.  The seating arrangement was different than the lecture-based model and is motivated by studio-based learning model applied in architecture schools.
  • 42. Survey result: A.Sureka, M. Gupta, D. Sarkar, V. Chaudhary, “A Case-Study on Teaching Undergraduate-Level Software Engineering Course Using Inverted-Classroom, Large-Group, Real-Client and Studio-Based Instruction Model”
  • 43. References 1. ACM, IEEE. (2008). Computer science curriculum 2008, An interim revision of CS 2001. Retrieved March 14, 2012 from http://www.acm.org/education/curricula/ComputerScience2008.pdf 2. A.Sureka, M. Gupta, D. Sarkar, V. Chaudhary, “A Case-Study on Teaching Undergraduate-Level Software Engineering Course Using Inverted-Classroom, Large-Group, Real-Client and Studio- Based Instruction Model” 3. Callele, D., & Makaroff, D. (2006). Teaching requirements engineering to an unsuspecting audience. ACM SIGCSE Bulletin, 38(1), 433-437. 4. Claypool, K., & Claypool, M. (2005). Teaching software engineering through game design. Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science educa-tion (ITiCSE '05), 123-127. 5. Clinton J. (1998). Tight spiral projects for communicating software engineering concepts. Proceedings of the 3rd Australasian conference on Computer science education (ACSE '98), 136- 144. 6. Computer Science Curricula 2013, Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) IEEE Computer Society 7. C. Wohlin, B. Regnell, "Strategies for industrial relevance in software engineering education", The Journal of Systems and Software, vol. 49, 1999,pp. 125-134. 8. D. Broman, K. Sandah, M. Baker, “The Company Approach to Software Engineering Project Courses”, ACCEPTED TO IEEE TRANSACTIONS ON EDUCATION, VOLUME 55, ISSUE 4, 2012,IEEE
  • 44. 9. Lingard, R. and Berry, E., “Improving Team Performance in Software Engineering”, Selected Papers from the 11th International Conference on College Teaching and Learning, Chambers, C. (ed.), Florida Community College at Jacksonville, 2000. 10. Lu, B., & DeClue, T. (2011). Teaching agile methodology in a software engineering capstone course. Jour-nal of Computing Sciences in Colleges, 26(5), 293-299. 11. P. Desai, G.H. Joshi, Activity Based Teaching Learning in Software Engineering – An Experience, IEEE International Conference on Engineering Education: Innovative Practices and Future Trends, 2012 12. Petkovic, D., Thompson, G., & Todtenhoefer, R. (2006). Teaching practical software engineering and global software engineering: evaluation and comparison. ACM SIGCSE Bulletin, 38(3), 294-298. 13. Razmov, V., & Anderson, R. (2006). Pedagogical techniques supported by the use of student devices in teaching software engineering. ACM SIGCSE Bulletin, 38(1) 344-348. 14. R. Conn, "Developing software engineers at the C-BOJ software factory", IEEE Software, vol. 19,2002, pp. 25 - 29. 15. R. W. Lingard, “Teaching and Assessing Teamwork Skills in Engineering and Computer Science” , VOLUME 8 - NUMBER 1, ISSN: 1690-4524, California State University, Northridge, 2010 16. S. Mirian-Hosseinabadi, Z .Aghakasiri, A. Sadeghi, P. Delfani, M. Ghandehari, “Emphasizing Experiences in Software engineering Courses”, International Conference on Education Technology and Computer (ICETC), IEEE, 978-1-4244-6370-11. 17. T. Rishel, “An innovative project structure for teaching software engineering”, CCSC, Southeastern Conference, University of Southern Mississippi Gulf Coast, 2012