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.
|
Information for Visiting Students
Pre-requisites | None |
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 |
Central | Lecture | | 1-11 | | | | 15:00 - 15:50 | | Central | Lecture | | 1-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
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 Guido Sanguinetti
Tel: (0131 6)50 5136
Email: gsanguin@inf.ed.ac.uk |
Course secretary | Ms Kendal Reid
Tel: (0131 6)50 5194
Email: kr@inf.ed.ac.uk |
|
© Copyright 2011 The University of Edinburgh - 16 January 2012 6:15 am
|