Module 15520.2 (2004)
Syllabus page 2004/2005
06-15520
Fundamentals of Computer Science B
Level 1/C I
Achim Jung
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: | |
| 1 | understand and be able to select from a range of data structure and associated algorithms | Examination |
| 2 | appreciate differences between basic complexity classes of algorithms | Examination |
| 3 | use SQL to express database queries | Problem assignments, miniproject, examination |
| 4 | apply concepts from relational theory to describe databases, queries, and consistency conditions | Problem assignments, examination |
| 5 | analyse a real-world scenario and perform a conceptual database design for it | Examination, problem assignments, miniproject |
| 6 | take a conceptual data design model and translate it into the relational model | Problem assignments, miniproject, examination |
| 7 | use 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:
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
| Title | Author(s) | Publisher, Date |
| Data Structures and Algorithms in Java, 2nd Edition | M Goodrich | Wiley, 2000 |
| Database Management Systems (2nd edition) | R. Ramakrishnan & J. Gehrke | McGraw Hill, 2000 |
Detailed Syllabus
-
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
- 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 Nov 2004
Source file: /internal/modules/COMSCI/2004/xml/15520.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus