Software Engineering Education Andy Gravell, Feb 2007.

Slides:



Advertisements
Similar presentations
Project Lead the Way An Orientation American High School.
Advertisements

CS3773 Software Engineering Lecture 01 Introduction.
PBA Programmes at UCN – IT (Professional Bachelor’s Degree) Finn E. Nordbjerg,
Alternate Software Development Methodologies
Software Engineering 1. Introduction 2. Course schedule.
Cyber Education Project Accreditation Committee November 2014.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 190 Computing in the Modern World CSE Curricula Fall 2014 Marco Valtorta.
© Copyright CSAB 2013 Future Directions for the Computing Accreditation Criteria Report from CAC and CSAB Joint Criteria Committee Gayle Yaverbaum Barbara.
SWEBOK & U. Ottawa SE1 SWEBOK Compared to the University of Ottawa Undergraduate SE Program CSEET March, 2000 Timothy C. Lethbridge.
Software Engineering at Faculty of EE in Belgrade Prof. Dr Miroslav Bojovic Baile Herculane, August 2005.
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
SWENET Review by Anastas Misev Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril and Methodius” Skopje, Macedonia.
Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
From Discrete Mathematics to AI applications: A progression path for an undergraduate program in math Abdul Huq Middle East College of Information Technology,
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
CS 898N Advanced World Wide Web Technologies Lecture 1: Introduction Chin-Chih Chang
4 August st Century Computing Curricula 1 Richard J. LeBlanc, Jr. Professor, College of Computing Georgia Institute of Tech nology Atlanta, Georgia,
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
Capstone Design Project (CDP) Civil Engineering Department First Semester 1431/1432 H 10/14/20091 King Saud University, Civil Engineering Department.
Diploma of Project Management Course Outline NSW Course Number Qualification Code BSB51407.
TEMPUS JEP : TEACHING BUSINESS INFORMATION SYSTEMS CURRICULUM DEVELOPMENT Information Technology courses Second Project Meeting, Belgrade, January.
Bachelor of Information Technology (Hons) [BIT ]
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
By: Felegh Solomon ITEC SPRING 2013 CHAPTER 4: KEY CONSTRUCTION DECISIONS.
Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)
GCSE Computing Baxter College. Computing in Schools What is computing? Course Content Benefits Difference between ICT & Computing? TO DISCUSS.
LEFIS W2 Posgraduate Workshop 1 LEFIS, WG 2 Postgraduate studies Meeting, Rotterdam.
Structure of Study Programmes
Software Engineering ‘The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and.
Software Engineering Program School of Information Technology and Engineering ugrad/softwareengineering.html.
The new Computer Science Masters Degree of FCT/UNL “Course outline”
1 1 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 1 April 30, 2008 The World of the Modern Systems.
The Guide to the Software Engineering Body of Knowledge
SWE © Solomon Seifu CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA.
Web Service Development Within Different Study Years Maja Pušnik, Boštjan Šumak Institute of Informatics, FERI Maribor.
DI-FCT-UNL Departamento de Informática Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa UNL’s new Bologna-style 1st-Cycle Degree (BSc) in.
Automata, Computability, and Complexity Lecture 1 Section 0.1 Wed, Aug 22, 2007.
BUSINESS INFORMATICS descriptors presentation Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST) Linkoping.
Learning outcomes for BUSINESS INFORMATCIS Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST)
1 The module aims to: n Extend the concepts and practical implementation of the relational model. n Introduce the concepts of Object Oriented and Object-
1 WORKSHOP ON COMPUTER SCIENCE EDUCATION Innovation of Computer Science Curriculum in Higher Education TEMPUS project CD-JEP 16160/2001.
Information System Development Courses Figure: ISD Course Structure.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
1. An Overview of the Standards for School Mathematics? 2.
Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)
STANDARDS :CODY AND GARY:CODYGARY NILL TO ARTHURARTHUR Home Animatronics Architectural Renovation Biotechnology Design Career Preparation Chapter Team.
Implementation of Innovations at FSMN by Miroslav Ćirić & Predrag Krtolica.
Introduction to Operations Research. MATH Mathematical Modeling 2 Introduction to Operations Research Operations research/management science –Winston:
© Monica Farrow & Andrew Ireland Software Design F28SD2 Future Horizons Monica Farrow & Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt.
Programming Languages
1 CC2039 Professional Development for Communication Technology Developing a Project Proposal.
Course File seminar NCAAA SSR Preparation (3rd dec 2015)
1 Undergraduate Software Engineering Programs in the United States (in 2003) Mark A. Ardis Rose-Hulman Institute of Technology.
The Level-2 Projects for Course Clusters Haojun Sun College of Engineering Shantou University.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
School of Mechanical, Materials and Manufacturing Engineering If you’re looking for a top quality Mechanical Engineering.
New Computer Science Programme at the Department of Informatics Pedro Guerreiro University of Nis, March 24, 2006.
Informatics for Scientific Data Bio-informatics and Medical Informatics Week 9 Lecture notes INF 380E: Perspectives on Information.
Presentation of Curricula THE SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING OF APPLIED STUDIES ELECTRONICS AND TELECOMMUNICATIONS DBBT project meeting,
Presentation of Curricula THE SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING OF APPLIED STUDIES Audio and Video Technologies Multimedia Technologies and.
CHAPTER ELEVEN Information System Development and Programming Languages Copyright © Cengage Learning. All rights reserved.
Study program: Computer Engineering (Računarsko inženjerstvo)
Using core competencies in curriculum design
Software Engineering (1)
Business Information Systems
Practical Software Engineering
BSC-MSC-IT Course at TCCI
The Curriculum of the Department of Informatics TEI-A
Presentation transcript:

Software Engineering Education Andy Gravell, Feb 2007

The Situation at Southampton Our programmes –BSc/MEng Computer Science –BEng/MEng/MSc Software Engineering –BSc/MSc Information/Web Technology This year’s intake was (roughly) –64 Computer Science –27 Software Engineering –34 Information/Web Technology –75 BEng/BSc –50 MEng/MSc

The ACM/IEEE Perspective The US professional bodies have produced computing curriculum guidelines –ACM Computer Science Curricula 1968, 1978 –ACM/IEEE Computing Curricula 1991, 2001 In 2004 the ACM/IEEE produced their first set of guidelines for software engineering programmes –SE2004 (a three year effort, 130 pages)SE2004 –earlier software engineering curricula were published by Freeman 1976 & 1978, and Bagert (SEI) 1999 They are now working on guidelines covering 5 areas (CS, CE, SE, IT, & IS)

SE2004 Steering committee had members from the US, Canada, UK, Israel, Japan, Australia Eight main chapters 1.Introduction 2.The Software Engineering Discipline 3.Guiding Principles 4.Software Engineering Education Knowledge (SEEK) 5.Curriculum Design and Delivery 6.Courses and Course Sequences 7.Alternative Environments 8.Implementation and Assessment

SEEK Areas and Units Computing Essentials 172Software V & V42 Mathematical & Engineering Fundamentals 89Software Evolution 10 Professional Practice 35Software Process13 Software Modelling & Analysis 53Software Quality16 Software Design45Software Management 19

The Knowledge Areas Each area is broken down into topics –about one per hour of lectures The first three areas are a subset of the standard computer science curriculum –introduction to CS & IT, programming, program construction methods, discrete maths, measurement and statistics, software economics, teamwork, communication skills, and professionalism The other seven areas are more specialised –200 lecture hours, about 10 of our modules –yet we only have ~7 specialist modules ourselves

The Gaps in our Curriculum Software Modelling & Analysis Software Design –except Architectural Design (9)  Software V & V –except Testing (21)  –and Problem Analysis & Reporting (4)  Software Evolution (10)  Software Process Software Quality Software Management

Specialist Areas In addition, SE2004 recommends that students should specialise in one or more areas such as –networking, information systems, e-commerce, fault- tolerant/security/embedded/real-time/safety-critical systems, biomedical systems, scientific computing, telecommunications, transportation, process control, multimedia & entertainment systems, agent-based systems, and mobile applications We cover 10 or more of these 15 subject areas –but do our students learn “how the characteristics of typical products in these areas influence a system’s design and construction”?

A Key Skill Software engineers need to be able to make rational and justified decisions Not just design decisions, but also their selection of methods, tools & techniques So the curriculum must give them opportunities to make decisions and explain the reasons for their choices

Going Further Actually, students should learn several specialist areas, as the methods used vary so much –critical systems: hazard analysis, requirements engineering, formal methods –mass market software: open source, “synchronise and stabilise” –business systems: agile methods, customisation, system integration, outsourcing This should help them to “compare and contrast”

Gaps in SE2004 SE2004 has good coverage of the methods used for critical systems But there is not much on agile methods –only ~3 hours on some agile practices: unit testing, refactoring, test-first programming Nor on outsourcing –only ~2 hours on a couple of the issues stakeholder interaction, multi-cultural environments And nothing about open source software!

Other Classic Questions How to teach programming –object-first or procedures-first –command line versus IDE Of course, professional software engineers should be comfortable with the full range of techniques –so most of these questions are about educational effectiveness – what to cover first Which programming languages?

Classic Programming Taxonomies One classification is by generation –1 st G: machine code –2 nd G: assembly language –3 rd G: high level languages –4 th G: very high level languages? Another is based on English grammar –imperative: structured, object-oriented –declarative: functional, logic programming –interrogative: regular expressions, SQL

Top Ten Languages 1.SQL 2.C# 3.C++ 4.Java 5.XML 6.C 7.VB 8.HTML 9.JavaScript 10.UML Query language OOPL Mark-up language Structured language Mark-up language Scripting language Modelling language

A Modern View The main kinds of computer languages are now 1.query language 2.object-oriented programming language 3.mark-up language 4.modelling language 5.structured language 6.scripting language A modern curriculum should include at least one the first four types, for example: –SQL, C#, XML, UML, … SE2004 does not mention mark-up languages

Summary Our Software Engineering degrees are popular Our curriculum follows SE2004 –but with some gaps testing, evolution, architecture SE2004 itself have some gaps –three or more specialist areas (not just one) relevant methods: agile, open source, and outsourcing –how to make rational, justified decisions –a mark-up language such as XML