The syllabi are intended to give an overview of the each course -
these may change if the lecturer thinks it appropriate to do
so.
2BA1 - Discrete and Continuous
Mathematics
Lecturer: Dr. David
Wilkins (School of Mathematics). Duration: 3 Terms, 3 hours
per week Prerequisites: First year course in calculus,
geometry and algebra Aims of Course: To provide students
of Computer Science and of Computer Science, Linguistics and a Language
with a second course in mathematics. The wide range of ideas in the
discrete structures element of the course leads to an equally rich
spectrum of topics in differential equations and Fourier series.
Contents: Discrete and algebraic structures: mathematical
induction; sets, relations, maps and lattices; graphs, trees and adjacency
matrices; semigroups, monoids and groups; formal grammars, languages and
machines; ordinary differential equations, linear independence and Fourier
methods. Course Work: Regular small assignments
throughout the course, which will count for 10% of the total mark.
Textbooks on Discrete Structures: "Discrete
Mathematics, an introduction for software engineers'', Mike Piff,
Cambridge University Press. "Discrete Mathematics'', W. Barnier
and Jean B. Chan, West Publishing, St. Paul, Minesota. "Computer
Mathematics'', D. J. Cooke and H. E. Bez, Cambridge University
Press. "Mathematical Structures for Computer Science'', Judith
L. Gersting, W.H. Freeman. "Discrete and Combinatorial
Mathematics'', R. P. Grimaldi, Addison-Wesley. Textbooks on
Differential Equations: "Elementary Differential
Equations'', Earl D. Rainville and P. E. Bedient, Macmillan.
"2500 Solved Problems in Differential Equations'', Richard Bronson,
McGraw-Hill. "Elementary Differential Equations and Boundary
Value Problems'', W. E. Boyce and R. C. DiPrima John Wiley and Sons.
"Differential Equations'', R.K.Nagle & E.B.Saff,
Addision-Wesley.
2BA2 - Programming
Techniques
Lecturer: Dr. Hugh Gibbons Duration: 3 Terms, 3
lectures per week Hardware/Software used: ISE Eiffel on
PC (Windows NT?) Prerequisites: Modular Programming;
Discrete Mathematics: Sets, Functions, Permutations, Combinations etc;
Propositional and Predicate Logic. Aims of Course: It is
mainly about understanding how to construct programs from algorithm
specifications. The aim is for the students to become very familiar with
'advanced' standard algorithms and 'sophisticated' data structures and
data types. The emphasis is on developing s kills for writing reliable and
readable programs. Abstract Data Types, Object-Oriented De sign, Generics,
Exception Handling and Program Assertions are used to help develop these
skills . 'Programming by Contract' in Eiffel is used to support the
approach. General Contents: Introduction to Eiffel;
Arrays/Matrices, Sorting/Searching, Abstract Data Types (ADTs) and
Classes, Backtracking, Graph programs, Binary Search Trees, Height
Balanced (AVL) Trees, Dictionary/Table ADT. Course Work:
Through out the year the coursework will mainly involve programming
projects. The course work will count for 20% of the total mark.
Recommended Books (for reference): "Object Oriented
Programming in Eiffel" (2nd Ed.), Thomas P. & Weedon R.
[Addison-Wesley 1998] "Object Oriented Software Construction" (2nd
Edition), Meyer B., [Prentice-Hall 1997] "Algorithms and Data
Structures: Design, Correctness and Analysis" Kingston J. [Addison-Wesley
1997] "Eiffel: The Language", Meyer, Bertrand. [Prentice-Hall 1992] --
Reference book for Eiffel 3 "Algorithms and Data Structures" Wirth N.
[Prentice-Hall 1986] Further information
for this part of course:
2BA3 - Systems
Programming
Lecturer: Dr.
Carol O'Sullivan Duration: 3 terms, 3 hours per week
(including labs). Number of Lab Hours per week: -
1 Hardware/Software used: VC++ on PCs
(Windows98) Prerequisites: Object Oriented programming
skills from first year. Aims of Course: To give an
understanding of how to use the facilities which are provided by the
underlying operating system, and to build on first year Object Oriented
programming skills. The course also introduces the area of concurrency and
aims to teach how to make use of concurrent processes and threads, and
how to deal with the problems which arise when writing concurrent
programs. Contents: The C++ programming language:
Overview, Classes, Functions, Arrays, Pointers, References, Dynamic
Allocation, Inheritance, Virtual Functions and Polymorphism. Overview of
the Windows family of operating systems, Event-driven and Windows
programming, The Win32API, Overview of foundation classes, Generation and
control of processes and threads, Interprocess communication. Introduction
to Concurrency. CourseWork: Regular small assignments on all
aspects of the course, together with two larger assignments.
Textbooks used (for reference): "C++ How to Program",
H.M. Deitel &P.J. Deitel, Prentice-Hall 1994 (500.16424 N48).
"MFC Programming from the Ground Up", H.Schildt. Further information for
this part of course
:
2BA4 Computer Architecture and
Microprocessor Systems
Semester I - Microprocessor
Systems Lecturer: Michael Manzke
Duration: 1 Semester, 3 hours per week.
Hardware/Software used: asm68k cross assembler; SPRINT EPROM
& PAL programmer M68008 project kits Prerequisites:
Digital Logic; 68000 Assembly Language Programming. Aims
of Course: It is mainly a hardware design and construction course. The
aim is for the students to design and build a working microprocessor
system from IC components. The course describes how such components are
brought together to produce a functioning system, and illustrates the sort
of low-level software necessary to support the hardware for basic I/O and
monitor services. Contents: Intro to 68008; Clock and
Reset Circuitry; Memory Map Design; Serial I/O Design; Exceptions and
Interrupts; Monitor Design. Course Work: working in
groups of 4, a working microprocessor system is designed and built. A
basic monitor is also produced. Textbook used: any
68000 text - example: "The Motorola MC68000."; Jean Bacon.
S-LEN 500.164044 M6.
Semester II - Computer
Architecture Lecturer: Michael
Manzke Duration: 1 Semester, 3 hours per week.
Hardware/Software used: Circuitmaker - electronic circuit
simulator. Prerequisites: 1BA4.
Aims of Course: To a) learn register-transfer specification and
design, b) learn the fundamentals of an instruction processor
Course Work: Two projects using Circuitmaker to simulate and
test their design - 1. A processor unit (alu + shifter + fast registers)
design and simulation, 2. An instruction processor design and
simulation. Contents: Register transfer definition,
micro-operations, bus transfers, ALU design, shifter design, hardwired
control design, microprogrammed processor control, design of an
instruction processor. Textbook used: "Logic and Computer
Design Fundamentals", M. Mano & C. R. Kime, Prentice Hall 1997.
2BA5 - Digital
Electronics
Lecturers: Alan Moore (Electronic and Electrical
Engineering Department). Duration: 3
terms, 3 hours per week. Number of Lab Hours per week: 12
Laboratory Hours per student per year Hardware/Software used:
SPICE circuit simulator. Prerequisites: 1BA1 and 1BA5 In particular - Elementary
electrical network analysis, ordinary differential equations with constant
coefficients. An appreciation of the relevance of digital electronics to
computer science. Aims of Course: (i) To provide a good
grounding in the principles of operation of semiconductor devices and
circuits and to make the texts in this area accessible to the student.
(ii) To make the student aware of the practical issues involved in
using electronic circuits and systems. For example, propagation delay,
switching speed limitations, pulse propagation along transmission lines,
characteristic impedance, noise, power supply regulation, the relative
merits of the different logic families, power dissipation etc.
Contents: Semiconductor Devices, Digital Electronics,
Applications, Practical Issues in Electronic Circuit Design. Course
Work: Some written assignments. A one hour test after Christmas. 6
Laboratory Reports. A Project in Trinity Term. Textbooks:
Reference textbooks for semiconductor devices
(Michaelmas term) "Micro-Electronic Devices", K. Leaver, Longman
"Device Electronics for Integrated Circuits", R.Muller and T.Kamins,
Wiley
Textbooks for Digital Electronics (Hilary & Trinity
terms) "Microelectronic Circuits",
A.S. Sedra and K.C. Smith (Part 3) Saunders College
Publishing. "Digital Integrated Circuits", T. A. DeMassa and Z. Ciccone
, Wiley Further
information for this part of course:
2BA6 - Computers and
Society
Lecturer: Dr.
Mícheál Mac an Airchinningh Duration: 3 terms, 1 hour per
week. Prerequisites: 1BA6. The student is expected to
possess a certain degree of intellectual maturity and to have the
curiosity and the desire to understand the profound relationships between
"language" and "machine". Aims of the semester: Computer
Science, like other sciences, is subject to Kuhnian paradigms, embraces
and embodies philosophies which are often unarticulated, and has an impact
on society which transends mere technological innovation. The course shall
enable and facilitate the student in coming to grips with that subject,
computer science taken in its general sense, which will surely be dominant
in the next millenium. Course Work: The student shall
submit three pieces of work which, for convenience, are here called
essays. The nature of the work shall be determined by the lecturer.
Contents: The philosophy of language and machine: works such as
those of Aristotle, Wittgenstein, Heidegger, etc., are examined. The
scientific paradigm: Kuhn's "The Structure of Scientific Revolutions" and
"The Essential Tension". The nature of reality: the study of theory,
model, and experiment.
2BA7 - Programming
Project
Lecturer: Declan
O'Sullivan Duration:1 Lab session per week in the 2nd
semester. Hardware/Software used: Borland C++
Prerequisites: Intro Programming, C++ programming
skills;. Aims of Course: Through participation in a team
software engineering project students will develop their C++ programming
skills, team working skills and presentation skills. They will also
develop an understanding of an engineering project life cycle.
General Contents: Project teams will be
created. The teams will
be asked to produce a "software product" for a client within the Computer
Science Department. Initially students will be give given guidance on
software design, work distribution and project planning but decisions are
the responsibility of the team. Lab sessions will cover the C++ structures
useful for the project and will provide an opportunity for students to
seek assistance on particular problems. Assessment Work:
Assessment for this course will be a combination of the technical quality
of the final system, a presentation of the final working system, quality
of teamwork, a team report, as well as a report per individual.
Recommended Books: "C++ How to Program", H.M.
Deitel & P.J. Deitel, Prentice-Hall 1994 (500.16424 N48).
"The Annotated C++ Reference Manual", Margaret Ellis &
Bjarne Stroustrop, Addison-Wesley, 1990 (500.16424
N09998). |