THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2010/2011
- ARCHIVE for reference only
THIS PAGE IS OUT OF DATE

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Informatics 2C - Introduction to Software Engineering (INFR08019)

Course Outline
School School of Informatics College College of Science and Engineering
Course type Standard Availability Available to all students
Credit level (Normal year taken) SCQF Level 8 (Year 2 Undergraduate) Credits 10
Home subject area Informatics Other subject area None
Course website http://www.inf.ed.ac.uk/teaching/courses/inf2c-se/ Taught in Gaelic? No
Course description This course gives an overview of the engineering of software systems. It introduces the main activities and concerns of industrial and commercial software engineering, and enables students to go beyond programming towards software engineering in their own work.
Entry Requirements
Pre-requisites Students MUST have passed: Informatics 1 - Computation and Logic (INFR08012) AND Informatics 1 - Data and Analysis (INFR08015) AND Informatics 1 - Functional Programming (INFR08013) AND Informatics 1 - Object-Oriented Programming (INFR08014)
Co-requisites
Prohibited Combinations Other requirements None
Additional Costs none
Information for Visiting Students
Pre-requisites None
Displayed in Visiting Students Prospectus? No
Course Delivery Information
Delivery period: 2010/11 Semester 1, Available to all students (SV1) WebCT enabled:  No Quota:  None
Location Activity Description Weeks Monday Tuesday Wednesday Thursday Friday
CentralLecture1-11 15:00 - 15:50
CentralLecture1-11 17:10 - 18:00
First Class Week 1, Monday, 15:00 - 15:50, Zone: Central. Lecutre Theatre 5, Appleton Tower
Exam Information
Exam Diet Paper Name Hours:Minutes Stationery Requirements Comments
Main Exam Diet S1 (December)1:00nil
Resit Exam Diet (August)1:00nil
Summary of Intended Learning Outcomes
- Explain how to apply commonly agreed ethical principles to a software engineering situation.
- Motivate and describe the activities in the software engineering process.
- Construct use cases for an application scenario.
- Explain and construct UML class diagrams and sequence diagrams.
- Explain how a software system and its construction may be assessed using testing and other relevant techniques
- Evaluate aspects of human usability of an application program or web site.
- Compare different approaches to software licensing.
- Use a modern IDE to build a large Java system, making appropriate use of configuration management, testing and other appropriate tools.
Assessment Information
Written Examination - 75%
Assessed Assignments - 25%
Oral Presentations - 0%

There will be at least one assessed exercise involving working with software engineering tools.
Special Arrangements
None
Additional Information
Academic description Not entered
Syllabus The aim is to build on the programming language material taught in Informatics 1 and consider the process of constructing large software systems. Beyond the construction process itself, some important surrounding concerns are introduced including: satisfying non-functional requirements, building good human interfaces, and considering various software licensing models.

The core topics covered, all at introductory level, in this course are:

* Software engineering as a discipline: history, professionalism, ethics
* Software engineering activities: requirements capture; design; construction; testing, debugging and maintenance; software process management.
* Modelling in UML (use cases, class diagrams, sequence diagrams).
* Design principles and their influence on maintainability of software.
* Software configuration management, release and deployment.
* Verification, validation and testing.
* Software usability and HCI issues.
* Economic and social aspects of software ownership, patents and licensing.
* Software development processes and management; quality assurance.

Some further topics will also be covered, depending on topicality and lecturer's expertise. These might include, for example:

* Software security: security flaws and how to avoid them in Internet and systems programming;
* Model-driven development: how to use UML for construction, not just description, of systems
* Software in the world: web services, cloud computing, autonomous computing and other means of delivering functionality
* Agile software development.
Transferable skills Not entered
Reading list * D.A. Patterson and J.L. Hennessy, Computer Organisation and Design 2/e, Morgan Kaufmann, 1998

* A. Silbershatz and P.B. Galvin, Operating Systems Concepts, 5/e, Wiley, 1998

* B.W. Kernighan and D.M. Ritchie, The C Programming Language, 2/e, Prentice Hall PTR, 1998

* ** I. Sommerville, Software Engineering, Addison-Wesley (any reasonably recent edition)

* ** P. Stevens with R. Pooley, Using UML: Software Engineering with Objects and Components, Addison-Wesley (any UML2 edition)
Study Abroad Not entered
Study Pattern Lectures 15
Tutorials 5
Timetabled Laboratories 0
Non-timetabled assessed assignments 25
Private Study/Other 55
Total 100

Keywords Not entered
Contacts
Course organiser Dr Jacques Fleuriot
Tel: (0131 6)50 9342
Email: Jacques.Fleuriot@ed.ac.uk
Course secretary Ms Kendal Reid
Tel: (0131 6)50 5194
Email: kr@inf.ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Timetab
Prospectuses
Important Information
 
copyright 2011 The University of Edinburgh - 31 January 2011 7:51 am