Module 15520.2 (2004)

Syllabus page 2004/2005

06-15520
Fundamentals of Computer Science B

Level 1/C I

Jim Yandle
Achim Jung
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.)

Relevant Links

Module Web Page
Local Postgresql documentation
Postgresql reference manual


Outline

The module will continue to explore the fundamentals of computer science. Data types and algorithms will be introduced. Fundamentals of Database Systems will be covered: 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:

  • give an overview of fundamental data structures and algorithms
  • 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:
1understand and be able to select from a range of data structure and associated algorithmsExamination
2appreciate differences between basic complexity classes of algorithmsExamination
3use SQL to express database queries Problem assignments, miniproject, examination
4apply concepts from relational theory to describe databases, queries, and consistency conditions Problem assignments, examination
5analyse a real-world scenario and perform a conceptual database design for it Examination, problem assignments, miniproject
6take a conceptual data design model and translate it into the relational model Problem assignments, miniproject, examination
7use an existing database system Problem assignments, miniproject

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

None

Co-requisites:

06-15519 (Fundamentals of Computer Science A) (linked module)


Teaching

Teaching Methods:

5 hrs lectures/practical sessions per week

Contact Hours:

59


Assessment

  • Supplementary (where allowed): As the sessional assessment
  • The continuous assessment consists of weekly database problem assignments (5%) and a database miniproject (in groups of four assessed by written report) (5%).

Recommended Books

TitleAuthor(s)Publisher, Date
Data Structures and Algorithms in Java, 2nd EditionM GoodrichWiley, 2000
Database Management Systems (2nd edition)R. Ramakrishnan & J. GehrkeMcGraw Hill, 2000

Detailed Syllabus

  1. Data Structures and Algorithms
    • What is a Data Type?
    • Specification and reprenstation of Abstract Data Types
    • Lists
    • Index lists
    • Stacks and Queues
    • Sets as abstract data types
    • Trees as abstract data types
    • Graphs as abstract data types
  2. Tables and SQL
    • Using the existing relational database implementation
    • Simple select queries
    • Nested queries
    • Aggregate functions
    • The group-by operator
  3. Conceptual database design
    • Entities and relationships
    • Generalisation hierarchies
    • Keys and weak entities
    • ER diagrams
  4. Logical database design and relational theory
    • Translating ER diagrams into tables
    • Relational algebra
    • Functional dependencies
    • Normalisation
  5. The physical layer
    • File formats
    • Indexes
    • Evaluation of relational operators
    • De-normalisation

Last updated: 5 Nov 2004

Source file: /internal/modules/COMSCI/2004/xml/15520.xml

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