Module 19324.2 (2005)

Syllabus page 2005/2006

06-19324
Fundamentals of Computer Science 2

Level 4/M C

Peter Coxhead
John Barnden
20 credits in Semester 2

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus


The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Changes and updates

New module for 2005/06. Replaces 06 13584 Fundamentals of Databases and part of 06 06995 Fundamentals of Computer Science.


Relevant Links

The ISE Web Page has more information, including all overheads, handouts and further links, relevant to the Software Engineering part of the module. For the Databases part:
Databases: Essential Additional Information
Local Postgresql documentation
Postgresql reference manual


Outline

The module will explore some of the fundamentals of computer science. Topics will include: the software lifecycle, stages of the lifecycle, case studies; relational theory, relational algebra, query languages, data design. The necessary mathematical background will be developed alongside its application in databases. Students will be introduced to an existing database system.


Aims

The aims of this module are to:

  • introduce some basic software engineering issues, including requirements definition, design, implementation and testing
  • develop an appreciation of the difference between good and bad software design
  • introduce the fundamentals of database theory
  • introduce the core of the SQL query language
  • enable students to design a database

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1explain and discuss the nature of software engineering Examination
2explain the concept of the software lifecycle and its limitations Examination
3demonstrate knowledge and understanding of relevant concepts for each of the three main stages of the software life-cycle (requirements definition, design, implementation) Examination
4explain and discuss appropriate design methodologies for a given problemExamination
5describe and explain the application of software engineering approaches in practice Examination
6use SQL to express database queries Examination, Continuous assessment
7apply concepts from relational theory to describe databases, queries, and consistency conditions Examination, Continuous assessment
8analyse a real-world scenario and perform a conceptual database design for it Examination, Continuous assessment
9take a conceptual data design model and translate it into the relational model Examination, Continuous assessment
10use an existing database system Examination, Continuous assessment

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

None

Co-requisites:

None


Teaching

Teaching Methods:

4 hrs of lectures/tutorials per week

Contact Hours:

48


Assessment

  • Supplementary (where allowed): As the sessional assessment
  • 3 hr examination (90%), continuous assessment (10%).

Recommended Books

TitleAuthor(s)Publisher, Date
Software Engineering (6th ed)I SommervilleAddison Wesley, 2001
Database Systems: Design, Implementation and Management (6th ed)P. Rob & C. CoronelThomson Learning, 2004
Database Systems : a practical approach to design, implementation and management (3rd ed.)Th. M. ConnollyAddison Wesley, 2002
Database Management Systems (2nd edition)R. Ramakrishnan & J. GehrkeMcGraw Hill, 2000

Detailed Syllabus

  1. Software Engineering
    • Definition of Software Engineering; the Software Lifecycle
    • Requirements Definition
    • Software Design and Design Methodologies
    • Implementation and Testing
    • Verification/Validation
    • Documentation
    • Management
  2. Databases
    • Tables and SQL: using the existing relational database implementation, simple select queries, nested queries, aggregate functions, the group-by operator.
    • Conceptual database design: entities and relationships, generalisation hierarchies, keys and weak entities, ER diagrams.
    • Logical database design and relational theory: translating ER diagrams into tables, relational algebra, functional dependencies, normalisation.
    • The physical layer: file formats, indexes, evaluation of relational operators, De-normalisation.

Last updated: 5 January 2006

Source file: /internal/modules/COMSCI/2005/xml/19324.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus