Software Engineering 10. Teaching introductory and advanced courses in software engineering IAN SOMMERVILLE
|
|
|
- Lorraine Sutton
- 5 years ago
- Views:
From this document you will learn the answers to the following questions:
What is the topic based approach to teaching software engineering?
What does the term " scale " mean?
What type of software development does not work well together?
Transcription
1 Software Engineering 10 Teaching introductory and advanced courses in software engineering IAN SOMMERVILLE 1
2 Every course is different and what s included depends on the interests of the instructor, the background of the students, the type of software being discussed and the resources available. There is no right or wrong way to present a software engineering course so I have designed the book so that it can be used in a variety of different ways in both introductory and more advanced courses. The way that I think about designing a course is to think about three fundamental learning areas that I want to cover: 1. Principles - what do I want students to understand that is fundamental to a large area of the discipline and (largely) independent of technology. For example, the notion of configuration management (CM), what's involved, why it's essential is a software engineering principle. We need CM in all kinds of software engineering project and have done so since we started writing non-trivial software systems. There are lots of CM approaches and technologies that embody these fundamental principles. 2. Skills and technology - what students have to do to apply software engineering principles in practical software development. This covers things like programming, APIs etc. and to continue the CM example, say the use of git and github for practical configuration management. These need to be applied in the context of practical work where students complete requirements and design exercises and/or write programs. 3. Awareness - things students need to be aware of but which are, in practice, impossible, meaningless or artificial in a university environment Most project management issues fall into this category as do some more advanced technologies such as safety engineering. In a CM context, an example of awareness might be continuous integration and deployment - you could do this as a practical topic but it doesn't really mean much when you don't have dependent teams and customers. The other key issue that you have to think about is the kind of software that you are considering. The engineering techniques that you use for software products are completely different from those used in projects to develop real-time control systems or large-scale enterprise systems. This is not well-understood by students and I have made a point in Chapter 1 of discussing the different types of software and the fact that different types of software engineering techniques are required. I think it's pretty important to make students aware that one size does not fit all and that we need a range of software technologies to cope with different kinds of system. Too many people who are promoting their own techniques present a view of software engineering that suggests there are universally applicable techniques. This is complete nonsense and anyone who suggests that some technique is universal either doesn t understand the discipline or is a charlatan. The book's focus is project-based software development where specialized systems are developed rather than product based applications. This reflects my background and experience in critical systems and large-scale systems. Some of the material is, of course, relevant to product development especially the sections dealing with agile development. 2
3 Introductory Courses In introductory courses, I believe that most of the course should focus on principles and on skills and technology focused on applying these principles. There is little point in making students aware of more advanced issues if they are only just starting in the area. The key issue in designing an introductory course is what do the students already know? I don t think that software engineering courses work unless students have completed at least an introductory course in programming and have some experience of using a programming environment such as Eclipse. I think it much better if they have also completed courses in algorithms and data structures and have written several nontrivial programs themselves. They have then some understanding of the issues that can arise when developing software. A difficulty that I have found in presenting introductory courses in software engineering is that students now have a view that equates software engineering with coding, especially coding apps. This has been exacerbated by political statements about the need for coders and teaching coding in school. Students find it hard to understand that there are many different types of software and, for large-scale systems and many real-time systems, programming is only a small part of the problem. I try to get round this by asking students how many software systems they think they have at home its usually well over 30, mostly real-time systems. I then talk about the key characteristics of these systems and how they differ from apps. Topic- based courses One approach that you can adopt to the teaching of software engineering is to take a topic based approach where you present an overview of topics such as requirements engineering, design, testing, etc. The first nine chapters of the book can support this approach, with all fundamental life-cycle topics covered in Part 1. In theory, you could fit all 9 chapters into a 12 week, 1 semester course but I think this would be pretty rushed. The problem with trying to cover too much in a 1 semester course is that you spend all your time presenting material so that students acquire quite superficial knowledge of the course topics. Essentially, your focus is on awareness rather than principles or skills. There isn t enough time to discuss examples and case studies and I think that these are essential to bring a course to life and to demonstrate the importance of software engineering. The conventional approach to a topic-based course is to base this around the fundamental software engineering activities of requirements, design, development, testing and software maintenance. You start the course by introducing software engineering (Chapter 1) and software processes (Chapter 2), then cover the other lifecycle activities with the following chapters in Part 1. You can pick and choose topics depending on your own background although I recommend that you always include requirements engineering, architectural design and, unless it has already been covered in a programming course, software testing. An alternative approach to a life-cycle based course is to use an inverted approach where you start with programming (which students already know) in the middle of the life cycle than move outwards so that you end with requirements and maintenance. I haven t tried this personally but I think it might be more effective than a life-cycle based course. 3
4 Your starting point would be Chapter 7, where you might discuss issues such as host-target development, configuration management and open-source software. You could follow this with Chapter 3 (Agile methods) and Chapter 8 (Software testing), with a focus on test-driven development. I would then move from there to architectural design (Chapter 6) and finish the course with a discussion of requirements engineering and why it is important. I don t think that modeling and agile development go well together but if you are interested in this topic, this could be introduced after a discussion of agile development when you might cover approaches to the high-level design of software. I think that examples and case studies are critically important in topic-based courses. The difficulty in all examples is that students do not understand the business or operational domain they don t understand how business works, hospitals, etc. For this reason, many instructors fall back on university examples student record systems, course selection systems, etc. I don t like these examples much as they are quite artificial and (in fact) most students don t understand the university domain either. While I have provided some information about various types of system, I recommend that you chose examples for your teaching that you know and understand. You can then talk about the issues and problems that arose and where software engineering techniques did and did not work. I worked on a system like the Mentcare system and I developed the high-level architecture for the ilearn system so these are my preferred examples; my wife is diabetic, so I know a bit about insulin pumps. Project-based courses Project-based courses focus around the development of a software project, ideally a group project undertaken by groups of three or four students. The best type of project is a large project, such as the development of the ilearn digital learning environment that I cover in the book. This can be split into a number of sub-projects, with each of these sub-projects undertaken by a different group. The key benefit from this approach is that students learn about how to work in a group and also the importance of inter-group collaboration. Each group has to design and publish an API so that other groups can use their software; there may have to be collaboration on the system specification (who does what) and there needs to be an understanding of configuration management and agreement on the tools to be used. The basic difficulty that students have here is that they can spend far too much time arguing about collaboration and not enough time in development. Therefore, as an instructor, you need to provide some guidance and to think in advance how a major project can be split into sub-projects (leaving this to inexperienced students will not usually work). It helps a lot of students are used to using a development environment, such as Eclipse. If not, you will have to set up tools for use and provide clear instructions on how to use these. Given the timescale involved, project-based courses are inevitably based around agile development. Relevant chapters of the book are therefore Chapter 3 (Agile software development), Chapter 4 (Requirements engineering), Chapter 6 (Architectural design), Chapter 7 (Design and implementation), Chapter 8 (Software testing) and Chapter 25 (Configuration management). You may also include some material from Chapter 23 (Project planning) as some instructors like to introduce notations such as bar charts at this stage. The difficulty with agile development, of course, is that it requires close customer involvement with the development team. If you have graduate students to help you, then 4
5 they can be briefed on the project and can act as customers. Otherwise, it is up to the course instructor and this can be very demanding and time-consuming. You need to be very specific about times for student interaction and to make clear that you are not available 24/7 to answer students questions. Project-based courses, when they go well, can be very effective but they can be riskier than other kinds of course. Sometimes, groups simply do not gel in the time available, with some people in the group doing less work than others. In those circumstances, students do not enjoy the work and it is important to try and bring out emergent difficulties as soon as possible. For this reason, I suggest that some group meetings should be timetabled rather than left to the group themselves and that the instructor should sit in on group discussions, intervening when necessary. An approach that I trialed (once) was in a 2 semester course where each group developed some software in the 1 st semester than handed this over to another group for maintenance. I acted as a customer and invented a set of changes that were required. Students were very unhappy with this approach as some groups felt that the software they were asked to maintain was not as good as the software that they had developed and they felt that they were at a disadvantage to the group maintaining their software. This was a fair point and I abandoned the approach part-way through the semester. If you want happy students, I recommend that you don t do this. Ideally, a project-based course should be taken immediately after (or alongside) a life-cycle based course so that students have some understanding of requirements, design and testing. In St Andrews, students took an introductory SE course in semester 1, with a group project course in semester 2. As I discuss in my use of video document, you could use ask students to watch videos as background before class discussions, about the project work. Advanced courses These are courses where students have already taken an introductory software engineering course so are usually delivered in the final year of an undergraduate computer science degree or in a Masters degree course. In general, for an advanced course, you can use material in parts 2, 3 and 4 of the book as the core of the course but you should add some extra reading so that students can explore some topic or topics in more depth. I like to think of an advanced course following a T-model. The horizontal part of the T introduces a number of related advanced topics then one or two of these topics are expanded with further reading, practical work, etc. (the vertical leg of the T). You can construct your own advanced course by picking selected chapters and augmenting that with new material and addition reading (the further reading section in each chapter can be a start here). Some of the new material in the 10 th edition has come from advanced courses in systems engineering and in critical systems that I have taught. Over the past few years, I have taught three advanced software engineering courses using material from the book. These are reuse-based software engineering, systems engineering for large-scale complex IT systems and critical systems engineering. Reuse-based software engineering This was an advanced course that I taught where the focus of the course was software development with and for reuse. This was based on the 9 th edition but the relevant 5
6 chapters of the 10 th edition are Chapter 15 (Software reuse), Chapter 16 (Componentbased software engineering), bits of Chapter 17 (distributed software engineering) and Chapter 18 (Service-oriented software engineering). Within the course, I explored two topics in more depth. These were ERP systems and the construction of enterprise systems by configuring these systems and serviceoriented software engineering. Most students have no previous experience of ERP systems so much of that part the course was concerned with simply explaining what these systems were and how they were configured. I drew on my own experience of such systems to discuss the problems that frequently arise and why these problems occur. The other topic that I explored was service-oriented software engineering where the practical work of the course involved implementing a set of services that could process and analyze messages. This required students to learn how to implement services in Java. At that time, the implementation was based around traditional web services but if I was doing the same course now, I d use RESTful-services. I asked students to publish their services then created my own test data to run against these services. Very few managed to create services that successfully processed all of my test data. Critical systems engineering I have taught critical systems engineering courses for many years and have adopted two different approaches in these: 1. A life-cycle based approach where I covered topics such as critical systems specification, critical systems design, implementation technologies, verification and validation, etc. I used the example of the insulin pump system throughout this course. The area that I explored in more depth was safety-critical systems requirements engineering. Safety and security were mentioned throughout the course. 2. More recently, I changed the structure of the course to be topic based: a general introduction (Chapter 10), System reliability (Chapter 11), Safety engineering (Chapter 12), Security engineering (Chapter 13) and Resilience engineering (Chapter 14). Topics that I explored in more depth were the ethics of safetycritical systems development and cybersecurity. I make extensive use of cases studies in this course (see link below) and have experimented with using video alongside the lectures in the course. I briefly discuss this in my document on using video in teaching; Practical work in this area is quite difficult to set because students have little background knowledge of the area and because developing a critical system as part of a course is practically impossible. I have used a number of examples: 1. Survey based work where students are asked to explore some area (such as safetyrelated failures) and write a report on this. 2. Critical systems specification where I have used the Mentcare system case study and asked students to analyse the requirements and to find conflicts in these requirements. Previously, I have used the insulin pump case study and have asked students to develop a partial implementation and make arguments why it was safe. The website and teaching material for the course is: 6
7 Systems engineering for large-scale complex IT systems I have taught part of a Master s course in systems engineering for a number of years and some of the new material in the 10 th edition of the book is based on my experiences with this course. This course focused on large-scale IT systems, which are inevitably organizational systems of systems. It is a very good complement to programming-based courses as issues apart from programming dominate this type of systems engineering. The key topics that I covered in this course were an introduction to systems engineering (Chapter 19), system requirements engineering (Chapter 4),, sociotechnical systems (partly covered in Chapters 10 and 19 but with additional reading), systems of systems (Chapter 20) and resilience engineering (Chapter 14). My colleague covered topics such as architectural design (Chapter 6 is partly relevant), methods such as TOGAF (briefly introduced in Chapter 20), data management and integration plus a number of case studies. Practical work for my part of the course involved developing a conceptual design and a set of outline requirements for a road tolling system where drivers were charged according to distance travelled on a road. The website and teaching material for the course is: 7
!!! Software Engineering 10! Using videos in teaching software engineering IAN SOMMERVILLE
Software Engineering 10 Using videos in teaching software engineering IAN SOMMERVILLE 1 As part of the teaching material to support the book, I have made a number of videos on software engineering topics
Measuring the Impact of Volunteering
Measuring the Impact of Volunteering Why is measuring the impact of volunteering important? It is increasingly important for organisations or groups to describe the difference that volunteering makes to,
AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION
AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION Michael Black, American University Manoj Franklin, University of Maryland-College Park American Society for Engineering
Augmented reality enhances learning at Manchester School of Medicine
Augmented reality enhances learning at Manchester School of Medicine Welcome to the Jisc podcast. The University of Manchester is taking a unique approach to prescription training for its medical students
Chapter 3. Technology review. 3.1. Introduction
Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in
Software Engineering. Software Engineering. Software Costs
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation. Ian
2.2 Derivative as a Function
2.2 Derivative as a Function Recall that we defined the derivative as f (a) = lim h 0 f(a + h) f(a) h But since a is really just an arbitrary number that represents an x-value, why don t we just use x
Divine command theory
Today we will be discussing divine command theory. But first I will give a (very) brief overview of the semester, and the discipline of philosophy. Why do this? One of the functions of an introductory
Sub-question 6: What are student and faculty perceptions concerning their frequency of use of the DDP?
1 Sub-question 6: What are student and faculty perceptions concerning their frequency of use of the DDP? Data were gathered to describe this question from two of the three approaches. No data were gathered
Aim To help students prepare for the Academic Reading component of the IELTS exam.
IELTS Reading Test 1 Teacher s notes Written by Sam McCarter Aim To help students prepare for the Academic Reading component of the IELTS exam. Objectives To help students to: Practise doing an academic
Adopting Agile Testing
Adopting Agile Testing A Borland Agile Testing White Paper August 2012 Executive Summary More and more companies are adopting Agile methods as a flexible way to introduce new software products. An important
Software Engineering. Objectives. Designing, building and maintaining large software systems
Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software
PERSONAL LEARNING PLAN- STUDENT GUIDE
PERSONAL LEARNING PLAN- STUDENT GUIDE TABLE OF CONTENTS SECTION 1: GETTING STARTED WITH PERSONAL LEARNING STEP 1: REGISTERING FOR CONNECT P.2 STEP 2: LOCATING AND ACCESSING YOUR PERSONAL LEARNING ASSIGNMENT
Decision Making under Uncertainty
6.825 Techniques in Artificial Intelligence Decision Making under Uncertainty How to make one decision in the face of uncertainty Lecture 19 1 In the next two lectures, we ll look at the question of how
Neil Murray University of South Australia April 2011
Introduction When it comes to writing, academic disciplines particularly those within the humanities and social sciences have a good deal in common and, for the most part, they share very similar expectations
The 2014 Ultimate Career Guide
The 2014 Ultimate Career Guide Contents: 1. Explore Your Ideal Career Options 2. Prepare For Your Ideal Career 3. Find a Job in Your Ideal Career 4. Succeed in Your Ideal Career 5. Four of the Fastest
Relative and Absolute Change Percentages
Relative and Absolute Change Percentages Ethan D. Bolker Maura M. Mast September 6, 2007 Plan Use the credit card solicitation data to address the question of measuring change. Subtraction comes naturally.
McKinsey Problem Solving Test Top Tips
McKinsey Problem Solving Test Top Tips 1 McKinsey Problem Solving Test You re probably reading this because you ve been invited to take the McKinsey Problem Solving Test. Don t stress out as part of the
Writing Essays. SAS 25 W11 Karen Kostan, Margaret Swisher
Writing Essays A GOOD ESSAY CONTAINS: 1. An introductory paragraph 2. A clear thesis statement 3. A body consisting of supporting paragraphs 4. A concluding paragraph Step 1: Review Assignment Read the
15 Most Typically Used Interview Questions and Answers
15 Most Typically Used Interview Questions and Answers According to the reports made in thousands of job interviews, done at ninety seven big companies in the United States, we selected the 15 most commonly
Managing Agile Projects in TestTrack GUIDE
Managing Agile Projects in TestTrack GUIDE Table of Contents Introduction...1 Automatic Traceability...2 Setting Up TestTrack for Agile...6 Plan Your Folder Structure... 10 Building Your Product Backlog...
Sample interview question list
Sample interview question list Category A Introductory questions 1. Tell me about yourself. 2. Why would you like to work for this organisation? 3. So what attracts you to this particular opportunity?
First, Break All The Rules by Marcus Buckingham
EXECUTIVE DEVELOPMENT PROGRAM Executives need more tools too! They need different tools than other levels of management and leadership. The following tools are designed specifically for an executive leadership
Dom Jackson, Web Support Assistant Student Services Information Desk
Web Usability Testing Guidance Dom Jackson, Web Support Assistant Student Services Information Desk 02/03/2015 Contents Contents Introduction What are Usability Tests? Notes on users Notes on tasks Notes
Session 7 Bivariate Data and Analysis
Session 7 Bivariate Data and Analysis Key Terms for This Session Previously Introduced mean standard deviation New in This Session association bivariate analysis contingency table co-variation least squares
Sales Training Programme. Module 8. Closing the sale workbook
Sales Training Programme. Module 8. Closing the sale workbook Workbook 8. Closing the sale Introduction This workbook is designed to be used along with the podcast on closing the sale. It is a self learning
Instructional Design Final Paper. TeaM 3J: Melissa Ferry, Terri Golden, Jaclyn Hawkins, Jennifer Lanza, Jenna Ward. University of Akron
TeaM 3J 1 Running head: INSTRUCTIONAL DESIGN FINAL PAPER Instructional Design Final Paper TeaM 3J: Melissa Ferry, Terri Golden, Jaclyn Hawkins, Jennifer Lanza, Jenna Ward University of Akron INSTRUCTIONAL
Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.
Unit 1 Number Sense In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions. BLM Three Types of Percent Problems (p L-34) is a summary BLM for the material
Using games to support. Win-Win Math Games. by Marilyn Burns
4 Win-Win Math Games by Marilyn Burns photos: bob adler Games can motivate students, capture their interest, and are a great way to get in that paperand-pencil practice. Using games to support students
The Travel and Expense Management Guide for 2014
The Travel and Expense Management Guide for 2014 Trends for the Future March 2014 Louis Berard The Travel and Expense Management Guide for 2014: Trends for the Future In December 2013 and January 2014,
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
Introduction to Fractions
Section 0.6 Contents: Vocabulary of Fractions A Fraction as division Undefined Values First Rules of Fractions Equivalent Fractions Building Up Fractions VOCABULARY OF FRACTIONS Simplifying Fractions Multiplying
Determine If An Equation Represents a Function
Question : What is a linear function? The term linear function consists of two parts: linear and function. To understand what these terms mean together, we must first understand what a function is. The
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
Application and Infrastructure Monitoring In A Distributed World Beyond Summary Statistics
Beyond Summary Statistics Introduction As the world becomes ever more competitive, organizations are seeking ways to differentiate. Delivering data and applications to internal and external stakeholders
Object Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
Chapter 1- Introduction. Lecture 1
Chapter 1- Introduction Lecture 1 Topics covered Professional software development What is meant by software engineering. Software engineering ethics A brief introduction to ethical issues that affect
CMSC 435: Software Engineering Course overview. Topics covered today
CMSC 435: Software Engineering Course overview CMSC 435-1 Topics covered today Course requirements FAQs about software engineering Professional and ethical responsibility CMSC 435-2 Course Objectives To
Forex Success Formula
Forex Success Formula WWW.ForexSuccessFormula.COM Complimentary Report!! Copyright Protected www.forexsuccessformula.com - 1 - Limits of liability/disclaimer of Warranty The author and publishers of this
Performance Management Rating Scales
Performance Management Rating Scales When looking at Performance Management, a 5 point rating scale is the most common. A CIPD report suggests that: 47% of companies use 5 point scale 28% of companies
Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
Teaching cloud computing: a software engineering perspective
Teaching cloud computing: a software engineering perspective Ian Sommerville, School of Computer Science, St Andrews University, Scotland. When a new area of a discipline emerges, university teachers are
2.3 Solving Equations Containing Fractions and Decimals
2. Solving Equations Containing Fractions and Decimals Objectives In this section, you will learn to: To successfully complete this section, you need to understand: Solve equations containing fractions
Problem of the Month: Fair Games
Problem of the Month: The Problems of the Month (POM) are used in a variety of ways to promote problem solving and to foster the first standard of mathematical practice from the Common Core State Standards:
Chapter 3 FACTORS OF DISTANCE LEARNING
Chapter 3 FACTORS OF DISTANCE LEARNING 1. FACTORS OF DISTANCE LEARNING Distance learning, where the learner can be anywhere, anytime, is an important component of the future learning system discussed in
Reading and Taking Notes on Scholarly Journal Articles
Reading and Taking Notes on Scholarly Journal Articles Set aside enough time in your schedule to read material thoroughly and repeatedly, until you understand what the author is studying, arguing, or discussing.
for the Bill Hanlon [email protected]
Strategies for Learning the Math Facts Bill Hanlon [email protected] The more sophisticated mental operations in mathematics of analysis, synthesis, and evaluation are impossible without rapid and accurate
Getting the best from your 360 degree feedback
1 Contents Getting the best from your 360 degree feedback... 3 What it is.... 3 And isn t.... 4 Using the system... 5 Choosing your respondents... 5 Choosing your competencies... 5 Compiling your questionnaire...
Updates to Graphing with Excel
Updates to Graphing with Excel NCC has recently upgraded to a new version of the Microsoft Office suite of programs. As such, many of the directions in the Biology Student Handbook for how to graph with
Escalator to Pips Pipping Your Way to The Top
Pipping Your Way to the Top Page 1 of 1 Escalator to Pips Pipping Your Way to The Top Presented April 4, 2007 To the reader s of Forex Factory May all your trades be successful ones DISCLAIMER: We accept
Marketing scrum vs IT scrum two marketing case studies who now act first and apologize later
Marketing scrum vs IT scrum two marketing case studies who now act first and apologize later JEROEN MOLENAAR, XEBIA NETHERLANDS BV Read about Scrum being used in a Marketing department. Learn about differences.
Live Agent for Support Agents
Live Agent for Support Agents Salesforce, Spring 16 @salesforcedocs Last updated: February 18, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of
Forex Scalping Cheat Sheets
Forex Scalping Cheat Sheets By Jason Fielder IMPORTANT: As an added bonus for downloading this report, you also received additional Forex trading reports and videos. To access your bonuses, go to: http://www.triadformula.com/blog/download-cheat-sheets/
The Handbook of Program Management: How to Facilitate Project Success with Optimal Program Management. Dr. James T. Brown, McGraw Hill, 2008
The Handbook of Program Management: How to Facilitate Project Success with Optimal Program Management Dr. James T. Brown, McGraw Hill, 2008 I received this book unsolicited in the mail from Dr. Brown.
School of Computer Science
School of Computer Science Head of School Professor S Linton Taught Programmes M.Sc. Advanced Computer Science Artificial Intelligence Computing and Information Technology Information Technology Human
What is Organizational Communication?
What is Organizational Communication? By Matt Koschmann Department of Communication University of Colorado Boulder 2012 So what is organizational communication? And what are we doing when we study organizational
Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage
Universiteit Leiden ICT in Business Capability Maturity Model for Software Usage Name: Yunwei Huang Student-no: s1101005 Date: 16/06/2014 1st supervisor: Dr. Luuk Groenewegen 2nd supervisor: Dr. Nelleke
Chapter 1- Introduction. Lecture 1
Chapter 1- Introduction Lecture 1 Topics covered Professional software development What is meant by software engineering. Software engineering ethics A brief introduction to ethical issues that affect
Thinking Skills. Lesson Plan. Introduction
xxx Lesson 18 Thinking Skills Overview: This lesson provides basic foundational information about two types of thinking skills: critical and creative. Students have used critical and creative skills each
Decimal Notations for Fractions Number and Operations Fractions /4.NF
Decimal Notations for Fractions Number and Operations Fractions /4.NF Domain: Cluster: Standard: 4.NF Number and Operations Fractions Understand decimal notation for fractions, and compare decimal fractions.
What Is a Portfolio? Why develop a professional portfolio?
01-Forde-Ch-01:01-Forde-Ch-01 8/1/2008 7:36 PM Page 1 1 What Is a Portfolio? In this introductory chapter we discuss what we mean by a professional portfolio. We explore different models of portfolios
An Introduction to Software Engineering
An Introduction to Software Engineering ACSC 383 Software Engineering Efthyvoulos C. Kyriacou (PhD) Assoc. Prof. Computer Science and Engineering Department Resources : Ian Sommervile Software engineering,
Solar Energy MEDC or LEDC
Solar Energy MEDC or LEDC Does where people live change their interest and appreciation of solar panels? By Sachintha Perera Abstract This paper is based on photovoltaic solar energy, which is the creation
Course Overview CEN 5035 Software Engineering
Course Overview CEN 5035 Software Engineering Stephen M. Thebaut, Ph.D. University of Florida Contact Info Instructor: Steve Thebaut, E314-A Office Hours: Wed/Fri 9:15-10:15 or by appt. e-mail: smt AT
Born in Norway Pakistani Parents Fatima s Story
Born in Norway Pakistani Parents Fatima s Story Katrine Fangen and Brit Lynnebakke Fatima was born in Norway of Pakistani parents in 1985. When we first met her she was 23 years old, and was searching
The Life Story Interview
The Life Story Interview Dan P. McAdams, Northwestern University Revised 1995 Introductory Comments This is an interview about the story of your life. We are asking you to play the role of storyteller
The Public Policy Process W E E K 1 2 : T H E S C I E N C E O F T H E P O L I C Y P R O C E S S
The Public Policy Process W E E K 1 2 : T H E S C I E N C E O F T H E P O L I C Y P R O C E S S Why Study Public Policy Scientific Reasons To help us better understand the nature of political behavior
Cultural Relativism. 1. What is Cultural Relativism? 2. Is Cultural Relativism true? 3. What can we learn from Cultural Relativism?
1. What is Cultural Relativism? 2. Is Cultural Relativism true? 3. What can we learn from Cultural Relativism? What is it? Rough idea: There is no universal truth in ethics. There are only customary practices
VOYAGE CHARTERPARTIES DAMAGES AN ALTERNATIVE VIEW. Bruce Buchan LMAA Arbitrator
VOYAGE CHARTERPARTIES DAMAGES AN ALTERNATIVE VIEW Bruce Buchan LMAA Arbitrator What follows is an expanded version of the lecture given at the LMAA Spring Seminar 2 nd May 2012. Notwithstanding the title,
Chapter 2 Software Processes
Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering
Presentations Phrases Prepositions Pairwork Student A Choose one of the sections below and read out one of the example sentences with a gap or noise
Presentations Phrases Prepositions Pairwork Student A Choose one of the sections below and read out one of the example sentences with a gap or noise instead of the preposition. Your partner can guess the
Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition.
Software Requirements Descriptions and specifications of a system Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Objectives To introduce the concepts of user and system To describe
Preparing for the IELTS test with Holmesglen Institute of TAFE
Preparing for the IELTS test with Holmesglen Institute of TAFE The speaking component The IELTS speaking test takes around 15 minutes and is in the form of an interview. The interview will most probably
chapter >> Consumer and Producer Surplus Section 3: Consumer Surplus, Producer Surplus, and the Gains from Trade
chapter 6 >> Consumer and Producer Surplus Section 3: Consumer Surplus, Producer Surplus, and the Gains from Trade One of the nine core principles of economics we introduced in Chapter 1 is that markets
Lesson 26: Reflection & Mirror Diagrams
Lesson 26: Reflection & Mirror Diagrams The Law of Reflection There is nothing really mysterious about reflection, but some people try to make it more difficult than it really is. All EMR will reflect
Circuits and Boolean Expressions
Circuits and Boolean Expressions Provided by TryEngineering - Lesson Focus Boolean logic is essential to understanding computer architecture. It is also useful in program construction and Artificial Intelligence.
Modelling the Business Case Study 3 Attendance Monitoring Project and Enterprise Architecture
Modelling the Business Case Study 3 Attendance Monitoring Project and Enterprise Architecture Background: Currently, in Roehampton University, class attendance data is collected and used as one of the
Writing Thesis Defense Papers
Writing Thesis Defense Papers The point of these papers is for you to explain and defend a thesis of your own critically analyzing the reasoning offered in support of a claim made by one of the philosophers
Evaluation of agility in software development company
Evaluation of agility in software development company Gusts Linkevics Riga Technical University, Riga, Latvia, [email protected] Abstract Organization s and team s experience in agile methodology can be more
A Process is Not Just a Flowchart (or a BPMN model)
A Process is Not Just a Flowchart (or a BPMN model) The two methods of representing process designs that I see most frequently are process drawings (typically in Microsoft Visio) and BPMN models (and often
Match point: Who will win the game, ITIL or CMMI-SVC? NA SEPG 2011 Paper Presentation
Match point: Who will win the game, ITIL or CMMI-SVC? NA SEPG 2011 Paper Presentation Anju Saxena John Maher IT Process and Service Management Global Consulting Practice ITIL is a Registered Trade Mark,
TRU Math Conversation Guide
Release Version Alpha TRU Math Conversation Guide Module A: Contextual Algebraic Tasks This TRU Math Conversation Guide, Module A: Contextual Algebraic Tasks is a product of The Algebra Teaching Study
The partnership has also led to a joint library catalogue between Suffolk and Cambridgeshire.
Case study: SPINE 2 What Our questionnaire response tells us that SPINE (Shared Partnership in the East) is: A partnership of library authorities comprising Cambridgeshire, Suffolk and Norfolk, focused
PREREQUISITE FOR ALL ONLINE CLASSES: You must have basic Computer and Internet skills with a highspeed Internet connection and an E-mail address.
SPRING/SUMMER 2015 ONLINE CLASSES What to Expect with these Online Courses All classes meet online. Just turn on your computer. Go to the Internet. Enter Online classroom. Your instructor will give you
Investigating Relationships of Area and Perimeter in Similar Polygons
Investigating Relationships of Area and Perimeter in Similar Polygons Lesson Summary: This lesson investigates the relationships between the area and perimeter of similar polygons using geometry software.
Corporate planning at A.P. Moller - Maersk
case story BY Anders Olesen [email protected] Corporate planning at A.P. Moller - Maersk The A.P. Moller - Maersk Group (APMM) is embracing the future and has for the past years worked on eliminating the
How To Proofread
GRADE 8 English Language Arts Proofreading: Lesson 6 Read aloud to the students the material that is printed in boldface type inside the boxes. Information in regular type inside the boxes and all information
Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville
Introduction to Software Engineering Adopted from Software Engineering, by Ian Sommerville To discuss the factors that led to software failures and the phenomenon of the Software Crisis ; To introduce
Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software engineering and to explain its importance To set out the answers
