Home / Students

Classes

Fooling around all the semester, then burn the midnight oil.

Learning outcomes:

At the end of the course, the student is able to analyze a problem, formulate an algorithm for solving it, and code such an algorithm into an executable program. The student understands some basic algorithms and a general-purpose programming language. More...

Why:

Databases lie at the heart of modern commercial application development. Their use extends beyond this to many applications and environments where large amounts of data are be stored for efficient update and retrieval. Their principles and fundamental techniques are being extended today to the Web and to novel kinds of data, like XML.

Learning outcomes:

The purpose of this course is to provide an introduction to the principles of database systems. We begin by studying database design, covering the entity relationship model. We then cover the relational data model, relational algebra and SQL. We begin by showing how database requirements are captured using entity-relationship models, and go on to the definition of databases and their queries in the relational model. Relational algebra and calculus are studied in some depth, as are the normal forms for expressing relationships subject to dependencies. The SQL query language is studied in the practical component of the course. The primary data structures and strategies for efficient querying of a database are studied and the course concludes with an application to a database containing spatial data. Throughout, the emphasis is on principles rather then implementation. More...

Why:

From the office to home and from the high street to the car you drive, computer networks are everywhere, being part of our lives.

Learning outcomes:

This course focuses on the practical skills taking a practice-led approach. More...