- ARCHIVE for reference only

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
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Course typeStandard AvailabilityAvailable to all students
Credit level (Normal year taken)SCQF Level 8 (Year 2 Undergraduate) Credits10
Home subject areaInformatics Other subject areaNone
Course website Taught in Gaelic?No
Course descriptionThis 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 (not applicable to Visiting Students)
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)
Prohibited Combinations Other requirements None
Additional Costs none
Information for Visiting Students
Displayed in Visiting Students Prospectus?No
Course Delivery Information
Delivery period: 2011/12 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, Tuesday, 17:10 - 18:00, Zone: Central. AT LT5
Exam Information
Exam Diet Paper Name Hours:Minutes
Main Exam Diet S1 (December)1:00
Resit Exam Diet (August)1:00
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%

In order to pass the course you must satisfy all of the following requirements:
* achieve at least 35% in the examination;
* achieve a total of at least 25% in assessed coursework;
* obtain a combined total mark of at least 40%

There will be at least one assessed exercise involving working with software engineering tools.
Special Arrangements
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

KeywordsNot entered
Course organiserDr Guido Sanguinetti
Tel: (0131 6)50 5136
Course secretaryMs Kendal Reid
Tel: (0131 6)50 5194
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Important Information
© Copyright 2011 The University of Edinburgh - 16 January 2012 6:15 am