COURSE SUBMISSION
B.Sc. DEGREE IN COMPUTER SYSTEMS
Dept of Computer Science and Information Systems
October 1994
Table of Contents
Page
1. Introduction 3
2. Aims and Objectives 3
3. Background 3
4. Rationale 4
5. Careers 5
6. Entry Requirements 5
7. Academic Programme 5
8. Credit Structure 5
9. Teaching Methods 6
10. List of Modules 6
11. Programme Outline 8
Bachelors Degree in Computer Systems.
1. Introduction
This document contains details of the submission to Academic Council of the University of Limerick for the award of a Bachelors Degree in Computer Systems. The structure of the programme described in this document represents the culmination of two years ongoing review of the existing B.Sc. programme. The programme design therefore reflects a logical evolution of the existing very successful degree. Some of the main changes have been to extend and modify the content of the final two years, in particular by providing a range of advanced optional topics.
The programme proposed here has been processed through the normal academic channels at Department and Faculty Board level.
2. Aims and Objectives
The overriding aim of the proposed course is to equip students to be successful computer professionals in the rapidly growing and dynamically changing software industry. The emphasis is on the principles and application of modern software development practices. In particular, it is the intention that students get a firm and lasting foundation that will serve them well, for a lifelong career, even after all the technical specifics have changed beyond recognition. It is felt that lasting relevance can only be given through the proper blend of theory, abstraction, and design together with exposure to a welter of technical skills and knowledge. More specifically, the aims and objectives are:
- to provide a professional level of competence in the most common languages, systems, methods and tools
- to provide a sound understanding of the principles of software development
- to develop in the student a strong sense of professionalism
- to reflect the current and emerging trends in the computing field
- to emphasise a set of recurring fundamental concepts that formed or are in the course of formation i.e. Binding, Complexity and Abstraction, Consistency and Completeness, Ordering in space and time, Reuse, Security, Design, Tradeoffs etc.
3. Background
The B.Sc. in Computer Systems was first established in 1979, as a four year degree course, and was revised in 1985. In the years since then it has been amended to take account of technological advances and the changing industrial and commercial environment. During the past two years the Department of Computer Science & Information Systems has been conducting a thorough review of the programme. The process was accelerated when the University decided to adopt a semester system since it would be futile to semesterize a programme and then have to redesign it within a year or two.
The existing B.Sc. programme is recognised as being very successful. Therefore in the course of revision care was taken not only to ensure that the resulting programme preserved the essential core of the existing course but in addition, to add to it to reflect the changing influences in the industry. For example the force of Object Orientation in all its embodiments, the influences of multimedia information types, and new forms of Human-Computer Interaction must be found in any modern computer science course.
It is recognised that specification, development, testing and support of software consume an increasing amount of national and company resources. As a consequence, there is a growing demand for software professionals who understand, and can apply, the principles of computing so as to produce systems and programs that meet the needs of society in an effective and timely manner. Due to the pervasive spread of software systems, the software professionals of the future will work in a rich diversity of positions and organizations. In recognition of this, it is a strong objective of the revised programme to develop in the student a strong sense of professionalism and a dedication to meeting the needs of their clients whether they be software vendors, purchasers or users. In addition it is intended that students should learn to relate their technological knowledge to the broader industrial and commercial context in which they work. Business, Mathematics and Management topics already in the course have been recast to match more accurately the perceived needs of computing students.
The proposed revised course retains the four year structure. Each year consists of two semesters, the first running from late September through to late January, the second running from mid February to late May. Each semester is made up of thirteen weeks teaching, half a week reading time and one and a half weeks of examinations. No previous knowledge of computing is required on the part of the student. The relevant fundamental concepts are developed in the early years of the course and further developed and consolidated in the succeeding years. The very successful cooperative education element has been retained. Under the revised structure, students spend the fourth semester on industrial placement, which could be either in Ireland or abroad.
4. Rationale
While the existing B.Sc. programme in Computer Systems is generally recognised to be of excellent quality, it was felt that important improvements could still be made to the course. Technology moves on, and it is necessary to reflect this movement in the inclusion of new topics plus the upgrading of existing modules. There is perhaps no other area of technology which is more dynamic than that of the computing industry, both hardware and the software. The last few years have seen the emergence of some very definite trends in the general computing field, i.e. Object Orientation, Distributed Systems, Client Server Systems, new forms of Human Computer Interaction, Multimedia, fast packet switching techniques, the convergence of Networking, Telecommunications and Computing, Artificial Intelligence in all its guises, etc. On the hardware side, the impact of RISC processors, parallel processors, bit mapped workstations, high quality fibre or coax based LANs and WANs etc. has to be explicit in any modern Computer Science course.
It should be stressed here that the existing programme, despite not having been revised since 1985, did pay attention to those important influences and trends alluded to above, i.e. the subject matter of individual modules would have changed over the years to reflect the more recent influences. However it was felt that a complete revision would give the opportunity to restructure modules and make explicit the inclusion of those influences.
In addition, it was desired to have some degree of flexibility in the course, especially in the final year where students may take optional topics to suit their interests and abilities. Several advanced topics are available on an optional basis.
Finally, it is intended to submit the programme to the British Computer Society for approval and accreditation. It is desired to gain exemption from part II of the society's examinations, and if successful, this would be the first University in the state to attain such an exemption.
5. Careers
There is a significant and growing shortage of computing graduates in industry and commerce due to the growth of the software industry in Ireland and the pervasive spread of computer systems in general. Graduates from the programme will be even better equipped to work both in the development and applications of computer systems. Past experience has shown that these graduates are very successful in quickly finding relevant employment. Career options include:
Database design & Administration
Software development
Software Engineering
Management Consultancy
Systems Analysis & Design
Research & Development
6. Entry Requirements
Applicants are required to hold at the time of enrolment the Leaving Certificate (or an approved equivalent) with at least Grade C3 in two higher level subjects and grade D3 in four ordinary or higher level subjects (including Mathematics, Irish or another language, and English). In addition applicants are required to hold at least a grade B3 in the Leaving Certificate Ordinary Level Mathematics, or an approved equivalent.
7. Academic Programme
The programme is of four years duration. In the proposed structure, the first year focuses on the concepts methods and theories that form the foundation of the emerging discipline of computing. Students learn to abstract the details of a problem and to formulate solutions that make appropriate use of standard algorithms, programs and systems.
In second year, the students have an eight month co-operative education placement, either in Ireland or abroad, where they get the opportunity to exercise the knowledge they have learned, increase their awareness of the work place and develop their social and business skills. Prior to undertaking this placement each student will have undertaken a substantial business related project as well as being introduced to the types of software infrastructure likely to be encountered in the software industry.
The third year program provides an in-depth treatment of many of the core topics of computer science as well as introducing some specialist topics such as artificial intelligence, computer graphics, and human computer interaction.
In the final year, students can choose from a number of elective streams as well as taking a number of core modules which round off their understanding of software technology and it's wider organizational
context. Each student must also undertake a substantial individual project which serves to integrate much of the knowledge and specialist technology that has been learned in the previous three years.
8. Credit Structure
In accordance with the University of Limerick policy the general credit structure is 3 credits per module, which involves two hours lectures, and one scheduled tutorial per week per module. However two exceptions are proposed. Firstly it is proposed to give 4 credits each to Computer Science 1 and 2, since it is considered that those are fundamental to the whole programme. Secondly in fourth year, the two modules IT in Business and Professional Issues in Software which deal with commercial and professional issues are to be examined by presentations and essays and for this reason and the nature of the material being covered, it is proposed to allocate 2 credits to each module.
9. Teaching Methods and Assessment
Teaching will mainly be via lectures and tutorials as indicated in the credit structure of modules. Most modules are designed to have associated laboratory sessions.
The main instrument of assessment will be via examinations at the end of each semester. However, project work is intended to be an important secondary instrument of assessment, as will essays and presentations for some special modules.
10. List of Modules
Semester 1 Page
MS4111 Discrete Mathematics 1 11
CS4111 Computer Science 1 12
CS4211 Computer Organisation 1 13
CS4311 Software Engineering 1 14
AC4801 Business Environment 1 15
Semester 2
MA4402 Computer Mathematics 2 16
CS4112 Computer Science 2 17
CS4212 Computer Organisation 2 18
CS4312 Software Engineering 2 19
MG4608 Business Fundamentals 20
Semester 3
MA4403 Computer Mathematics 3 21
CS4113 Object-Oriented Programming 22
CS4213 Operating Systems 23
CS4313 Software Engineering Project 24
CS4413 System Development 25
Semester 4
Co-op
Semester 5
CS4515 Programming Language Technology 1 26
CS4225 Computer Networks 27
CS4115 Data Structures & Algorithms 28
CS4815 Computer Graphics 29
CS4215 Concurrent Systems 1 30
Semester 6
CS4516 Programming Language Technology 2 26
CS4816 Artificial Intelligence 31
CS4416 Database Systems 32
CS4826 Human/Computer Interaction 33
CS4216 Concurrent Systems 2 34
Semester 7
CS4617 Computer Science Project 1 35
CS4817 Information Technology in Business 36
CS4317 Software Engineering 4 37
CS4417 Systems Analysis 38
Options
CS4847 Computational Linguistics 39
CS4857 Acquisitions of Computing Resources 40
CS4827 Simulation and Operations Research 41
Semester 8
CS4618 Computer Science Project 2 35
CS4818 Professional Issues in Software Engineering 42
CS4318 Software Engineering 5 43
Options
CS4218 Telecoms Network Architectures 44
CS4828 Computer Integrated Manufacturing 45
CS4418 Advanced Databases 46
11. Programme Outline
1st Year
SEMESTER 1 SEMESTER 2
MS4111 Discrete Mathematics 1 Statements, Quantifiers, Truth tables, Propositional Logic, Predicate Logic; Boolean Algebra, Sets and Relations; Computability; Proof techniques, Induction, Recurrence relations.
|
MA4402 Computer Mathematics 2 Real-valued functions: a geometrical approach to calculus using symbolic maths packages.Convergence of sequences. Simple numerical methods. Iteration of functions. Matrix operations; Matrices as linear transformations in computer graphics.Graph theory: basic concepts and algorithms. Computer representation of graphs.Notion of computational complexity.
|
CS4111 Computer Science 1 Syntax & Semantics, BNF, Notion of an algorithm, simple data structures and related algorithms; Control Structures in a procedural language.
|
CS4112 Computer Science 2 Array manipulation; Internal Sorting techniques; Recursive algorithms; Introduction to C++. |
CS4211 Computer Organisation 1 Number rep.; Computer components, Microprocessors; Architecture of a PC; Low-level programming; Role of Operating Systems.
|
CS4212 Computer Organisation 2 Interrupts ; Stacks ; I/O handling; Interfacing; Installation and testing of CPU and peripheral components; Introduction to Networks.
|
CS4311 Software Engineering 1 Introduction to PCs and a Windowing environment ; Program Design; Data Intensive Systems; File Processing Algorithms; COBOL programming; File organisation and access methods;
|
CS4312 Software Engineering 2 Structured Systems Analysis and Design; Structuring of large programs; Projects using suitable third and fourth generation languages; Small Database systems.
|
AC4801 Business Environment 1 Financial Management ; Source, use and control of funds. Spreadsheets Auditing ; Reporting conventions; Principles and use of Spreadsheets; Structure and use of a typical Accounting Package; |
MG4608 Business Fundamentals Organisations, Functions and Management ; Personnel Marketing; Stock Control; Role of Information Systems.
|
2nd Year
SEMESTER 3 SEMESTER 4
MA4403 Computer Mathematics 3 Counting, Permutations and Combinations; Binomial theorem; Probability distributions ; elements of statistics ; Analysis of algorithms; Basic queueing theory. |
|
CS4113 Object-oriented Programming Principles of O-O programming ; Classes, inheritance ; Control structures, functions, procedures ; Programming in C++
|
CO-OP |
CS4213 Operating Systems Origins and History of Operating Systems; Functions of an OS; Programs and Processes; Memory management; File management; Scheduling; Communication management; Unix system shell.
|
[The Co-op report will be rigourously examined.It will be written and presented in Semester 5 and is expected to include both an account of experience gained and of the technology used.] |
CS4313 Software Engineering Project A substantial, business-related project involving design, coding and testing. Builds on material from CS131 & CS132. Target language can be COBOL, C++,dBASE, SQL etc.
|
|
CS4413 System Development Specification and Implementation; Modeling using Predicates, Sets and Relations; 'Z' - invariants, pre and post conditions; Implementation through SQL. |
3rd Year
SEMESTER 5 SEMESTER 6
CS4515 Programming Language Technology 1 Nature of programming languages; General purpose and application specific languages; Virtual machines; Data control, Sharing and Type checking; Examples including procedural, functional, logic and list processing languages. CS4516 Programming Language Technology 2 Compilers, Assemblers and Interpreters; Context-free Grammars; Stages in compilation; Language definition and semantics; Languages for parallel and concurrent systems.
|
|
CS4225 Computer Networks Issues in data communications; OSI model; SNA; LANs WANs and MANs; Protocols; Packet switching; X25; Transport protocols; Internetworking; Presentation & application layer services.
|
CS4816 Artificial Intelligence Principles of AI; Problem Solving methods; Game theory; Planning systems - including resolution; Principles and construction of Expert Systems; introduction to NLP.
|
CS4115 Data Structures & Algorithms Abstract Data Types; Queues,Trees and Graphs; Performance estimates and measurement; Data-driven application design.
|
CS4416 Database Systems Relational theory; Normalisation; Query languages (incl. SQL); Object-oriented databases; Security and Recovery.
|
CS4815 Computer Graphics Graphic systems; Output devices; Graphic libraries; Viewing in two dimensions; transformations & co-ordinate systems; 3D transformations, rotations & reflections; Projections; Hidden surface removal; Rendering. |
CS4826 Human/Computer Interaction Elementary Psychology; Ergonomics; Design of Typical Systems; Advanced applications including Multi-media and CSCW.
|
CS4215 Concurrent Systems 1 Concurrent and Shared address spaces; Threads; Multiprocessor systems; IPC mechanisms.
|
CS4216 Concurrent Systems 2 Reqts for Concurrent/Distributed Systems; Process interaction; Interprocess communication; Naming and location; Resource allocation; Recovery; Concurrency control.
|
4th Year
SEMESTER 7 SEMESTER 8
Mandatory Subjects
CS4617 Computer Systems Project - 1 |
CS4618 Computer Systems Project - 2
|
CS4817 § Information Technology in BusinessStrategic Planning of IT; Evolution of the IT function; Decision support systems; Management of IT for commercial advantage; Technology trends including Open Systems and EDI;
|
CS4818 § Professional Issues in Software EngineeringComputer Contracts; Intellectual Property Rights; Employee relations; Health and Safety; Product Liability; Computer Crime; Professional Codes of Conduct; Social Impacts; Case Studies.
|
CS4317 Software Engineering 4 Formal Methods and Program Proving; Logics for Software Engineering; Existing and potential tool support.
|
CS4318 Software Engineering 5 Software Quality Assurance; Approaches to Testing; Computer Aided testing; Quality Metrics; Software Process Modelling; Software Maintenance; Re-engineering.
|
CS4417 Systems Analysis Requirements Specification; Logical and Physical Design; Planning and Control of Projects; Cost/Benefit analysis; Selection and adaptation of CASE tools.
|
|
§ NOTE - these two modules will have two credits each and will be examined by essays and student presentations.
Options :
Students choose two modules for each semester. Not all combinations of choices may be possible due to staffing and other resource constraints. Additional options may be provided on occasions.
CS4847 Computational Linguistics Including advanced NLP;
|
CS4218 Telecoms Network Architectures Supporting speech traffic; PCM trunks; transmission systems; Packed switching; X25; ISDN; Network interfaces; Management of Networks; VLR; HLR; MSCs. |
CS4857 Acquisition of Computing Resources
|
|
CS4827 Simulation and Operations research Discrete Event Simulation; Applications and Tools; Simscript/GPSS or similar; Analysis of Outputs;
|
CS4828 Computer Integrated Manufacturing Manufacturing systems and information systems; The manufacturing system database; time-phased material requirements; the role of the planner; capacity planning and control; lead time; scheduling of operations; J I T Systems. |
CS4418 Advanced Databases Database Architectures including object-oriented DBs; ctive databases and trigger technology; Deductive databases, Knowledge representation and acquisition; Security and Integrity issues; Data Distribution Issues; Database Computers.
|
MODULE TITLE Discrete Mathematics 1
MODULE CODE MS4111
CREDITS 3
GRADING TYPE Normal
PREREQUISITE None
AIMS AND OBJECTIVES
To introduce the student to the foundations of mathematics. To develop the reasoning skills required for students who wish to use the computer in an intelligent way.
SYLLABUS
[Mathematical Logic]: statements, quantifiers, truth tables. Propositional and predicate logic. [Boolean Algebra]. [Sets and functions]. [Number systems] and the Peano axioms Induction, recurrence relations and proof techniques. [Algebraic structures]: semigroups, groups, rings and fields. [Relations], equivalence relations, order relations and operations on relations.
PRIME TEXT
OTHER RELEVANT TEXTS
Gersting, JL Mathematical Structures for Computer Science, Freeman (1987)
Grimaldi, RP. Discrete and Combinatorial Mathematics, Addison-Wesley (1994)
Johnsonbaugh, R. Discrete Mathematics. Macmillan (1986)
Piff, M. Discrete Mathematics, CUP (1991)
REASON FOR INCLUDING THIS MODULE Semesterisation
SEMESTER TO BE FIRST OFFERED Autumn 1994 - Semester 1.
MODULE TITLE Computer Science 1
MODULE CODE CS4111
CREDITS 4 credits - important core module, with a greater commitment of time,
which will indicate the student's ability to succeed on the Computer
Systems degree course.
GRADING TYPE M Grade 20%
PREREQUISITE MODULES None
AIMS and OBJECTIVES
Students will demonstrate ability to reason about and develop algorithms,
manipulate computer data representations and simple data structures and design
and write simple program implementations.
SYLLABUS
Syntax and semantics. BNF and syntax diagrams.
Number and character representations.
Principles of program design. Algorithms for summing, counting, exchanging,
manipulating arrays.
Control structures.
Procedures, functions. Parameter passing.
PRIME TEXT
How to Solve it by Computer RG Dromey, Prentice Hall, 1982.
OTHER RELEVANT TEXTS
Programming from First Principles R Bornat, Prentice Hall 1987.
REASON FOR INCLUDING THIS MODULE
General introduction to programming theory and practice
SEMESTER TO BE FIRST OFFERED Autumn 1994 - Semester 1.
MODULE TITLE: Computer Organisation 1
MODULE CODE: CS4211
CREDITS: 3
GRADING TYPE: Normal
PREREQUISITE MODULES: None
AIMS AND OBJECTIVES:
To provide students with a sound foundation in computer organisation and architecture.
SYLLABUS:
Introduction to Computer Architecture
The representation of data
Pure binary notation, Binary operations, Negative numbers, Fractions
Hexadecimal and octal notation
Inter-base conversions
The representation of data, ASCII, BCD, EBCDIC
Principles of error detection and prevention
The representation of numbers
Introduction to Boolean algebra
Combinational and Sequential logic circutry
Construction techniques for integrated circuits
The Central Processing Unit (CPU)
Instruction formats, The main control unit, The ALU, Buses
Operation of the CPU, The Fetch- execute cycle.
Primary and secondary memory
Introduction to microprocessors
Architecture of a PC
Main memory
General considerations, Static versus dynamic memory, ROM, PROM, EPROM, EEPROM
Serial Access Backing Storage
Magnetic Disks
Floppy Disks
New Memory Technology
input peripherals, keyboards, mouse, scanners, OCR, MICR Barcodes
output peripherals, printers, plotters, COM
Role of operating systems
Principles of Data communications
PRIME TEXT
Introduction to Computer Hardware and Data Communications. P A Goupille, Prentice Hall, 1993
OTHER RELEVANT TEXT
Computer Science, C.S. French, DP Publications
REASONS FOR INCLUDING THIS MODULE:
SEMESTER FIRST OFFERED Autumn 94 - Semester 1
MODULE TITLE Software Engineering 1
MODULE CODE CS4311
CREDITS 3
GRADING TYPE M
PREREQUISITE MODULES None
AIMS and OBJECTIVES
To equip students with a thorough understanding of the desktop environment and some of its most important applications. To give students a thorough grounding in the structures, concepts, commands, and tools of MS-DOS and MS-Windows. To introduce students to the COBOL programming language.
SYLLABUS
Introduction to the PC hardware and its operating system.
Simple Operating system concepts and commands.
Introduction to GUIs (Windows).
GUI Tools (Program Manager, File Manager, Control Panel).
OLE and DDE.
Word-processing (MSWord) and Spreadsheets (MSEXCEL)
Advanced DOS
Advanced Windows
Introduction to the programming language COBOL.
Data declaration in COBOL Producing formatted output.
COBOL Control structures (IF, EVALUATE, PERFORM)
Introduction to Sequential Files.
PRIME TEXT
Coughlan,Michael. Course Notes and COBOL Course Notes.
Windows Manuals
Application Manuals
OTHER RELEVANT TEXTS
COBOL Language Reference Manual.
COBOL User Guide.
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Autumn 94 - Semester 1
MODULE TITLE Business Environment 1
MODULE CODE AC4801
CREDITS 3
GRADING TYPE Normal
PREREQUISITE None
AIMS AND OBJECTIVES
To familiarise the students with:
Accounting and Finance policies which are relevant to the Computer Science Student;
Major components of information systems such as transaction processing, file maintenance and information retrieval.
SYLLABUS
Data Recording:
accounts and their structure; rationale for accounts structure;
operation of accounts (eg double entry).
Source and Application of Funds:
Sales, debt, shareholders and other investors;
Various expense types, fixed and variable, investments, assets purchase and the concept of depreciation, methods and problems of depreciation.
Auditing:
Purpose, obligations and implications.
Miscellaneous:
Reporting requirements (eg P & L summaries);
Budgeting and control;
Cashflow and it's significance;
Payroll operation and the legal obligations associated with it;
Data Protection Act.
Accounting Software:
Spreadsheets - Principles and Use
Files, structure and content;
Transactions, updates;
Retrieval, sorting, searching, reports;
Customisation, document design;
Stock Control and the financial implication of poor stock control;
Ledgers - sales, purchases, aged debtors & creditors, invoicing, VAT, posting of transactions, integration and analysis;
Advantages of Computerised Accounts, Financial Reports.
PRIME TEXT
Accounting for Non-Accounting Students, Dyson, John R Pitman Publising, 1991
OTHER RELEVANT TEXTS
Business Fundamentals for Engineers, Kuo, Chengi, McGraw-Hill, 1992
Computerising Your Accounts, Marlow, A J, NCC Blackwell, 1989
REASONS FOR INCLUDING THIS MODULE
To give students an appreciation of the Financial Operations of Business and of the Management of Money.
SEMESTER TO BE FIRST OFFERED Autumn 1994 - Semester 1
MODULE TITLE Computer Mathematics 2
MODULE CODE MA4402
PRE-REQUISITE MODULES MS4111 Discrete Mathematics 1
GRADING TYPE Normal
CREDITS 3
AIMS/OBJECTIVES
To continue the development of the foundations of mathematics. To introduce the students to further mathematical ideas of crucial importance in computer science. Symbolic maths packages will be used to demonstrate many of these
ideas.
SYLLABUS
[Real-value functions:] a geometrical approach to calculus through the graphs of functions of one or two variables (use will be made of symbolic maths packages).
Convergence of sequences.
[Simple numerical methods.] Iteration of functions.
[Matrices:] addition, multiplication and scalar multiplication. Matrices as linear transformations in computer graphics.
[Graph theory:] basic concepts of vertices, edges, paths, circuits, connectedness and trees. Computer representation of graphs. Graph algorithms. Ideas of computational complexity.
PRIME TEXTS
Char, B.W. et al Maple V First Leaves. 1992. A tutorial introduction to
Maple V. Springer-Verlag.
Gersting, J.L. 1987. Mathematical structures for computer science.
Freeman.
Grimaldi, R.P., 1989. Discrete and combinatorial mathematics,
Addison-Wesley.
Johnsonbaugh, R. 1986. Discrete mathematics. Macmillan.
Piff, M. 1991. Discrete mathematics. CUP.
REASON FOR INCLUDING Semesterisation
SEMESTER TO BE FIRST Semester 2: Spring 1994/95
OFFERED
MODULE TITLE Computer Science 2
MODULE CODE CS4112
CREDITS 4 credits - important core module, with a greater commitment of time, which will indicate the student's ability to perform on the Computer Systems degree course.
GRADING TYPE M Grade 80%
PREREQUISITE MODULES CS4111 Computer Science 1
AIMS and OBJECTIVES
In this module, which follows from the basic concepts in Computer Science 1,
students will develop skills in reasoning, program design, and programming,
using a variety of essential data structures. The module will be concerned
with the introduction of levels of abstraction in programming, and students
will develop and write programs which use procedure libraries of their own
creation. Assessment of Computer Science 1 and 2 will be carried out mainly
through project work.
SYLLABUS
Array merging and sorting algorithms and implementations - Selection,
Exchange, Insertion Sort.
Implementations of search, insert and delete on ordered and unordered tables,
hash tables, stacks, queues and binary trees using arrays and linked lists.
Recursive algorithms.
PRIME TEXT
As Computer Science 1.
.
REASON FOR INCLUDING THIS MODULE
Completes the introduction to programming theory and practice
SEMESTER TO BE FIRST OFFERED Spring 1995 - Semester 2
MODULE TITLE: Computer Organisation 2
MODULE CODE: CS4212
CREDITS: 3
GRADING TYPE: Normal
PREREQUISITE MODULES: CS4211 Computer Organisation 1
AIMS AND OBJECTIVES:
Continuation of CS121, Introduction to Assembly Language Programming, more advanced topics.
SYLLABUS:
Introduction to low level programming
Assembly language Programming
Special registers, Addressing modes, Stack operations, 1/0 handling
Assembly language project
Interrupts, the principle of interrupts
Recognition of interrupts, Interrupt processing
Interfacing
Installation and testing of CPU and peripheral components
How to install cards, Allocation of IRQ's, Installation of drivers, Setting DIP switches
Installation of memory including SIMMS and SIPS
The microarchitecture of computer system
Introduction to microprogramming
Advanced Computer Architectures
RISC machines, Parallel Architectures
Introduction to Artificial Neural Networks
Introduction to computer networks
PRIME TEXT
Structured Computer Organization. A.S. Tanenbaum, 1990
OTHER RELEVANT TEXTS
An Introduction to Computer Architecture using VAX machine and assembly language. Schechter, Desautels. WCB Publishers.
OR
Programming in Assembly Language on the IBM PC, R M Trapper, West Publishers.
The Complete PC upgrade and Maintenance Guide, Mark Minasi SYBEX
REASONS FOR INCLUDING THIS MODULE:
SEMESTER FIRST OFFERED Spring 95 - Semester 2
MODULE TITLE Software Engineering 2
MODULE CODE CS4312
CREDITS 3
GRADING TYPE M
PREREQUISITE MODULES CS4311 Software Engineering 1
AIMS and OBJECTIVES
To equip students with a comprehensive knowledge of COBOL and of common file processing algorithms. To give students a thorough understanding of program design and the elements of good programming practice. To introduce testing and debugging techniques and practices. To allow students to exercise their design, programming and testing skills by means of a number of scaled programming projects.
SYLLABUS
Introduction to Design Notations (JSP, Nassi-Shneiderman, Warnier-Orr).
Introduction to Program Design using Diagrammatic Stepwise Refinement.
Sequential file processing algorithms.
SORTing and MERGing.
Tables. SEARCHing Tables.
The COBOL Report Writer.
Introduction to File Organizations, access methods and algorithms using COBOL.
Using direct access files (Indexed and Relative).
COBOL string handling (INSPECT, STRING, UNSTRING, Reference Modification).
CALLing external and contained sub-programs. EXTERNAL and GLOBAL data.
COPYing text from COBOL Libraries.
Screen handling in COBOL.
Debugging Techniques.
PRIME TEXTS
Coughlan,Michael. COBOL Course Notes.
OTHER RELEVANT TEXTS
COBOL Language Reference Manual.
COBOL User Guide.
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Spring 95 - Semester 2
MODULE TITLE Business Fundamentals
MODULE CODE MG4608
PRE-REQUISITE MODULES
GRADING TYPE Normal
CREDITS
AIMS/OBJECTIVES
This module is a foundation module designed to introduce and familiarise students with the concepts and principles which
underpin the operations and functions of the contemporary business.
To develop an understanding and appreciation of the various functional activities of the Business-management, marketing,
production and personnel.
The module will also highlight to students how these functional areas are integrated and work together to develop the
business.
SYLLABUS:
Understanding the business, classification of business by size, sector; the changing role of business in society; business formation and structures; organizational culture; social responsibilities of business; the business environment - micro and macro factors examined; environmental scanning; business audits; managing the changing business: introduction to the functional areas of business, management, marketing, finance, human resource management; communication and information systems in the business; managing people; teamwork; strategy development.
PRIME TEXT(S):
Kuo C. (1992) Business Fundamentals for Engineers, McGraw Hill.
Palmer A and ~I Worthington. (1992) The Business and Marketing Environment, McGraw Hill.
OTHER RELEVANT TEXTS:
Appleby R. (1987) Modern Business Administration, Pitman Publishing.
Farnham D. (1990) The Corporate Environment, IPM.
Foley E. (1989) Irish Business Management, Gill and Macmillian.
Hooley J and J. Saunders. (1993) Competitive Positioning - the Key To Market Success, Prentice Hall.
REASONS FOR INCLUDING THIS MODULE:
To provide non business students, i.e. engineers, scientists, computer students with an overview and understanding of the business they work within and their contribution to the growth and development of the business. To develop students specific knowledge of the various functions of the business, and specifically the role of the technical person in the changing organization.
SEMESTER TO BE FIRST OFFERED: Autumn 1994
MODULE TITLE Computer Mathematics 3
MODULE CODE MA4403
PRE-REQUISITE MODULES MA4402 Computer Mathematics 2
GRADING TYPE Normal
CREDITS 3
AIMS/OBJECTIVES
To introduce the student to probabilistic ideas through the medium of
information theory.
SYLLABUS
[Combinatorics:] permutations, combinations and the binomial theorem.
[Probability:] Bayes theorem, conditional probability.
[Introduction to information theory.] Compression algorithms.
[Normal, Poisson and binomial distributions.]
[Hypothesis testing.]
X2 -test
[Elementary queuing theory.]
PRIME TEXT
Hodge, S.E., Seed, M.L. 1977. Statistics and probability. Balckie/Chambers.
Information theory and coding, 1963. McGraw-Hill.
REASON FOR INCLUDING Semesterisation
SEMESTER TO BE FIRST Semester 3: Autumn 1994/95
OFFERED
MODULE TITLE: Object Oriented Programming
MODULE CODE: CS4113
CREDITS: 3
GRADING TYPE: Normal
PREREQUISITE MODULES: CS4112 Computer Science 2
CS4312 Software Engineering 2
AIMS AND OBJECTIVES:
To instill into students to foundations that will help them to become effective users of the object-oriented approach to design and implementation. To provide practical experience in the development and in the re-use of object-oriented software.
SYLLABUS:
Background on the development of Object-Oriented programming. Modularity, information hiding, function abstraction, data abstraction and encapsulation. Polymorphism, overloading of functions and operators. Run-time binding and virtual functions. Use of function and class templates.
Inheritance, and its role in abstraction, design and in software re-use. Use of Class Libraries. Container and non-container class libraries. GUI classes. Specialized class libraries. Design and Construction of Classes, including classes with dynamic components. Principles of object-oriented analysis, design and representation.
PRACTICAL:
Programming with C++. Programming with use of Class Libraries, initially by building application that create and use objects from class libraries and later in the course by reusing and modifying classes. The libraries used may include; class libraries for data structure objects,
class libraries for handling GUIs, multimedia class libraries. Implementation of classes, including classes with dynamic components.
PRIME TEXT:
Stroustrup, Bjarne, "The C++ Programming Language", 2nd Edition, Addison Wesley, 1991.
OTHER TEXTS:
Booch, Grady, "Object Oriented Design with Applications", Benjamin Cummings, Menlo Park, 1991.
Winder, Russel, "Developing C++ Software", 2nd Edition, John Wiley , 1993
Lippman, Stanley B., "C++ Primer", 2nd edition, Addison-Welsley.
Documentation set for C++ enviornment and for class libraries.
(Borland C++ document set, for example.)
Meyer, Bertrand, "Object Oriented Software Construction", Prentice-Hall 1988.
REASONS FOR INCLUDING THIS MODULE:
To ensure that students are conversant with current and developing practices in software design and construction. Undergraduates and graduates with object-oriented skills and a knowledge of C++ are in demand by employers.
SEMESTER FIRST OFFERED: Autumn 1994 - Semester 3.
MODULE TITLE Operating Systems
MODULE CODE CS4213
CREDITS 3
GRADING TYPE N
PREREQUISITE MODULES CS4111/ÇS4112 Computer Science 1/2
CS4211/CS4212 Computer Organisation 1/2
AIMS and OBJECTIVES
The aim of this module is to provide students with a clear understanding of the logical structure and facilities provided by a traditional uniprocessor Operating System.
SYLLABUS
The need for and historical development of operating systems.
The operating system viewed as a set of layered services.
The concept of a process as the scheduable entity.
Process state.
Process dispatching. Interrupt handling.
Memory management:
Physical and virtual memory. Address translation hardware.
Paging and segmentation software.
Device management:
I/O devices and controllers. Device drivers. DMA.
Disk scheduling algorithms.
File management:
Files and directories.
Implementation, reliability and security. Disk space management.
The shell.
Communication management:
LANs and WANs. The ISO model of network software.
Ethernet.
The course will include a study of the Unix operating system.
Students will be expected to demonstrate competance in accessing Unix system calls through project work.
PRIME TEXT
Bacon, J., Concurrrent Systems. Workingham: Addison-Wesley. 1993
OTHER RELEVANT TEXTS
Milenkovic, M., Operating Systems Concepts and Design. New York: McGraw Hill, 1992.
Silberschatz, A., Peterson, J., Galvin, P., Operating System Concepts. Reading, Mass.: Addison Wesley, 1991.
Deitel, H., Operating Systems. Reading, Mass.: Addison Wesley, 1990.
Theaker, C., Brookes, G., Concepts of Operating Systems. London: Macmillan, 1993.
REASON FOR INCLUDING THIS MODULE
General introduction to operating systems.
SEMESTER TO BE FIRST OFFERED Autumn 1994 - Semester 3
MODULE TITLE Software Engineering Project
MODULE CODE CS4313
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULES CS4312 Software Engineering 2.
AIMS and OBJECTIVES
To equip students with the skills necessary to design, code and test large
software systems. To introduce Module design criteria.
To give students experience of working in programmer teams and the confidence to tackle a large software system. To foster co-operative programming and encourage team work. To allow students to exercise the analysis, design and programming skills acquired in previous modules.
SYLLABUS
The module consists two projects (one minor and one major) and a small number of lectures. The lectures cover such topics as;
Module Strength, Module Coupling and other Module design criteria
A comparison of the abstraction features of COBOL, Modula-2 and/or C++.
Program testing techniques are reviewed and System testing is introduced.
The first project continues the COBOL project work. It is a relatively small project done individually.
The second project occupies the last eight weeks of the semester. Students work in teams to produce a complete implementation. The project is initially presented partially specified and the students complete the requirements specification. They then take the project through the design, coding and testing stages. Walkthroughs and design and code inspections are introduced in tutorials. The implementation language is open and will include COBOL, Modula-2, C++, and SQL.
PRIME TEXT
Page-Jones, Meilir. Practical Guide to Structured Systems Design. 2nd Edition. Prentice-Hall 1988.
Constantine, Larry L. Structured Design. Yourdon Press. 1978.
Myers, G.J. Composite/Structured Design. Von Nostrand Reinhold 1978.
OTHER RELEVANT TEXTS
Writings of the Revolution - Selected Readings on Software Engineering. Yourdon Press 1982
Classics in Software Engineering. Yourdon Press. 1979
Myers, G.J. The Art of Software Testing. Wiley 1979
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Autumn 94 - Semester 1
MODULE TITLE System Development
MODULE CODE CS4413
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULES MS4111 - Discrete Mathematics
AIMS and OBJECTIVES
The aim of this module is to present an integrated approach to system specification and implementation. The objectives are to introduce formal specification methods, to introduce relational databases and non-procedural programming, and to show how a specification may be transformed by re-specifying it in an implementation language.
Students will gradually be introduced to Information Modelling using Fact Based Analysis. Practical work in the form of a series of graded exercises in Z and SQL will support this step-by-step approach.
SYLLABUS
The software development life cycle,
Specification and Implementation,
Abstract and Concrete Specification
Modelling facts in terms of Predicates, Sets, Relations
The Relational Model
SQL, Simple Queries, Qualifiers, Projections and Joins
Z, Sets and Types, Schemas, Predicates
Invariants
Pre- and Post-conditions
Fact Based Analysis
Database definition in SQL
Database constraints
Data manipulation in SQL
Query nesting, Union
Views in SQL
PRIME TEXT
Information Modelling - Specification and Implementation, David Edmond, Prentice Hall, 1992
OTHER RELEVANT TEXTS
Software Development with Z, J. B. Wordsworth, Addison Wesley, 1992 Ultrix/SQL Reference Manual, Digital, 1990
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Autumn 94 - Semester 3
MODULE TITLE: Programming Language Technology - 1 & 2
MODULE CODE: CS4515/CS4516
CREDITS: 3 + 3
GRADING TYPE: M (20% + 80%)
PREREQUISITE MODULES: CS4113 - Object Oriented Programming
CS4313 - Software Engineering Project
AIMS AND OBJECTIVES:
To describe the main programming language paradigms in use today
To discuss the issues which are involved in designing a programming language
To explain how programming languages are implemented
SYLLABUS:
The Historical development of modern programming languages
Programming paradigms:
- functional
- logic-based
- object oriented
- procedural
Grammars:
- Regular expression
- context free grammar
- parsing
Compiler Construction
- compilers and interpreters
- lexical analysis
- syntax analysis
- code generation
- symbol tables, error handling
- semantics
- compiler generating tools: Lex and YACC
PRIME TEXTS
Aho, A.V., Sethi, R. and Ullman, J.D. (1986). Compilers - Principles, Techniques and Tools. Addison-Wesley.
Wilson, C.B. and Clark, R.G. (1988). Comparative Programming Languages. Wokingham, UK: Addison-Wesley.
CN Eischer,RJ le Blanc (1991). Crafting A Compiler. Addison-Wesley.
OTHER RELEVANT TEXTS:
Bornat, R. (1979). Understanding and Writing Compilers. London, UK: MacMillan.
Malone, J.R. (1987). Comparative Languages. Bromley, UK: Chartwell-Bratt.
D. Maien, DS Warren, (1988) Computing with Logic, Benjamin-Cummings
Bertrand Meyer, (1990) Introduction to the Theory of Programming Languages. Prentice-Hall.
S L Peyton-Jones, (1987) The Implementation of Functional Programming Languages. Prentice-Hall
REASONS FOR INCLUDING THIS MODULE:
To enable students to develop a sophisticated understanding of programming language design issues.
To show how compilers are constructed and the relevance of this technology to software engineering in general.
SEMESTER TO BE FIRST OFFERED: Autumn/Spring 95/96 - Semesters 5 & 6
MODULE TITLE Computer Networks
MODULE CODE CS4225
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULE CS4213 Operating Systems
AIMS and OBJECTIVES
To highlight the problems related to interconnecting computers
Give an understanding of how the OSI reference model addresses those problems
Understand the fundamentals of TCP/IP based networking.
SYLLABUS.
Issues in data communications, devices, media, modulation, data rates, bandwidth, multiplexing, Analog v Digital, Error Detection & Correction.
Switched v Broadcast networks, LANs v WANs, MACs.
Data Link protocols
Packet Switching, Circuit Switching, Frame Relay, Cell Relay
Transport Protocols, ISO & Internet, Connectionless v Connection Oriented operation. Internetworking.
Presentation Layer Services , Abstract & Transfer Syntaxes.
Application layer Service Elements
PRIME TEXT
Halsall, Fred. Data Communication, Computer Networks, & Open Systems. 3rd edition. ISBN 0-201-56506-4, 1992.
OTHER RELEVANT TEXTS
Tanenbaum, Andrew. Computer Networks 2nd Edition. 1988 ISBN 0-13-166836-6
Stallings, William. Data & Computer Communications 3rd edition 1991. ISBN:0-02-946478-1.
REASONS FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Spring 95 - Semester 5
MODULE TITLE: Data Structures and Algorithms
MODULE CODE: CS4115
CREDITS: 3
GRADING TYPE: Normal
PREREQUISITE MODULES: CS4113 Object Oriented Programming
AIMS AND OBJECTIVES:
To provide a uniform theoretical treatment of the data structures and algorithms used in systems and applications programming. This course includes a practical component to reinforce learning and to encourage students in the practical use of theoretical material.
SYLLABUS:
Review of the ADTs, internals and usage of simple data structures and associated algorithms, in particular recursive algorithms. Use of class libraries, including container classes. Role of abstraction
Review material will cover: Collections, Bags, Sets, Arrays, Stacks, Queues, Priority Queues, and simple searching and sorting algorithms. Detailed and advanced treatment of the following data structures Binary Trees, including threaded trees, Multiway Trees (excluding B, B+ and B* trees), Linked Lists and Networks. Recursion, and the elimination of recursion from algorithms. Study of the following algorithms: Sorting: Quicksort, Heapsort, Shellsort, Merge Sort and Bin and Radix sorting. Searching: Tree searching, AVL trees and Search Tries. ( B, B+ and B* trees, external searching and hashing is deferred to CS332). String searching and pattern-matching and parsing algorithms such as Knuth-Morris-Pratt, Boyer-Moore and Rabin-Karp and recursion in parsing. Graph algorithms: Graph traversal and Spanning Forests. Depth and breadth first search of graphs. Connectivity. Minimal spanning trees for weighted graphs. Shortest path algorithms.
Networks : Ford-Foulkerson method. Storage Management. Automatic list management, general storage management. Fast Fourier Transform. Dynamic programming, optimal binary search trees. Exhaustive search. Game playing, travelling salesman problem. NP-complete problems.
Additional Topics some or all of which will be covered: Data compression and decompression including run length coding, and Huffman codes. Introduction to Cryptology. Bipartite Graphs and the Stable Marriage problem. Random Number generation. Curve fitting. Splines, least squares method. Parallel algorithms. Perfect shuffles, systolic arrays,
The following topics will be dealt with in practicals/assignments: Practical evaluation of space and time requirements of algorithms. Large integer arithmetic. Polynomial evaluation. Tree searching, game playing, minimax and pruning. Practical use of classes in problem solving. Note: Throughout, an emphasis will be placed abstractions involved in the various data structures and on the space and time performance of algorithms.
PRIME TEXT:
Sedgewick, Robert, "Algorithms in C++", Addison-Wesley.
OTHER RELEVANT TEXTS:
Wirth, N, "Algorithms+Data Structures = Programs", Prentice Hall.
Tenenbaum, Langsam and Augenstein, "Data Structures Using C", Prentice-Hall.
Knuth, Donald E., "Fundamental Algorithms", vols 1 & 3, Addison-Wesley.
Ammeraal, Leendert, "Programming and Data Structures in C", John Wiley.
Naps and Pothering, "Introduction to Data Structures and Algorithm Analysis", West Publishing Company.
Naps, Thomas L., "Program Design and Data Structures", West Publishing Company.
Borland C++ Programmer's guide
REASONS FOR INCLUDING THIS MODULE:
Essential tools-of-the-trade for software developers.
SEMESTER FIRST OFFERED: Autumn 94 - Semester 5.
MODULE TITLE Computer Graphics
MODULE CODE CS4815
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULES CS4212 Computer Organisation 2
CS4113 Object Oriented Programming
AIMS and OBJECTIVES
To understand the properties of Interactive Graphics Systems, viz input & output devices, graphic libraries.
To make the student conversant with the issues which arise in the creation, storage and display of graphic images both in 2 and 3 dimensions.
To emphasise the role of standards in Computer Graphics.
SYLLABUS.
Interactive Graphics systems, the role of the user, Input & output devices, Raster Scan devices, Video Memory Models, Writing modes, Block Transfers. Device, Language, Application Independence.
Viewing functions,(2D) Clipping functions, Input & Output primitives, Control, Transformation & Segementation functions. Modelling.
3D Transformations, rotations, reflections. Projections. Viewing in 3D. Representation of surfaces via polygons, Realism, Hidden surface removal. Surface generation via bicubic curves. Rendering.
PRIME TEXT
Angel, Edward. Computer Graphics.1990. Addison Wesley ISBN 0-201-13548-5
OTHER RELEVANT TEXTS
Foley, Van Dam, Feiner & Hughes. Computer Graphics Principles & Practice (2nd edition) Addison-Wesley 1990. ISBN0-201-12110-7
Hearn & Baker, Computer Graphics, Prentice Hall 1986 ISBN 0-13-165598-1
REASONS FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Spring 95 - Semester 5
MODULE TITLE Concurrent Systems 1
MODULE CODE CS4215
CREDITS 3
GRADING TYPE M (20%)
PREREQUISITE MODULES CS4213 Operating Systems
AIMS and OBJECTIVES
The aim of this module is to provide students with an integrated view of modern software systems. The module views concurrency from a systems viewpoint and does not attempt to cover the formal theory of concurrency. In this module we introduce students to the issues and software technologies involved in the design and implementation of concurrent systems.
SYLLABUS
Requirements for Concurrent/Distributed Systems.
Review of the Process abstraction and the description of a concurrent system as a set of interacting processes.
Processes with separate address space.
Processes which share an address space.
Threads/Lightweight Processes.
Hardware support for concurrency. Multiprocessor systems.
High level language support for concurrency.
Process synchconisation and mutual exclusion.
IPC mechanisms in a system with shared memory:
Event wait and signal, semaphores, eventcounts and sequencers,
monitors.
IPC mechanisms in a system without shared memory:
Unix pipes, asynchronous and synchronous message passing.
Implementation of multi-threaded servers.
Students will be expected to undertake a significant concurrent programming project in a high level language ( SR, Pascal-FC ).
PRIME TEXT
Bacon Jean. Concurrent Systems: An integrated approach to operating systems, database, and distributed systems. Addison Wesley 1993.
ISBN 0-201-41677-8
OTHER RELEVANT TEXTS
Burns A. and Davies G. Concurrent Programming. Addison Wesley 1993.
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Autumn 94 - Semester 5
MODULE TITLE: Artificial Intelligence
MODULE CODE: CS4816
CREDITS: 3
GRADING TYPE: Normal
PREREQUISITE MODULES: CS4115 Data Structures and Algorithms
MA4403 Computer Mathematics 3
AIMS AND OBJECTIVES:
To familiarise students with the principles of Artificial Intelligence.
To introduce them to symbolic programming techniques
SYLLABUS:
General Outline of AI including history
Search Strategies
Game Playing
Knowledge Representation
Expert Systems
Natural Language Processing
Machine Learning
Connectionism
PRIME TEXTS:
Bratko, I. (1990). Prolog programming for Artificial Intelligence, Second Edition. Wokingham, UK: Addison-Wesley.
Rich, E. and Knight, K. (1991). Artificial Inteligence, Second Edition. London, UK: McGraw-Hill.
OTHER TEXTS:
Allen, J. (1987). Natural Language Understanding. Wokingham, UK: Benjamin Cummings. UK
Gazdar, G. and Mellish, C. (1989). Natural Language Processing in Prolog. Addison-Wesley.
McClelland, J.L. and Rumelhart, D.E. (Eds) (1986). Parallel Distributed Processing: Explorations in the microstructure of cognition: Volume II: Psychological and biological models. MIT Press.
McClelland, J.L. and Rumelhart, D.E. (1988). Explorations in Parallel Distributed Processing: A handbook of models, programs and exercises. Cambridge, MA: MIT Press.
Partridge, D. (1991). A New Guide to Artificial Intelligence. Norwood, NJ: Ablex Publishing Corporation.
REASONS FOR INCLUDING THIS MODULE:
To give students a critical introduction to this area
To encourage interest in intellectual debate
To allow practice in the formation and analysis of arguments
SEMESTER FIRST OFFERED: Spring 95 - Semester 6
MODULE TITLE Database Systems
MODULE CODE CS4416
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULE CS4413 System Development
CS4213 Operating Systems
AIMS and OBJECTIVES
Large scale data management is a critical activity within modern organisations. The goal of this course is to explain the relevance and explore the fundamental principles of database technology. The ubiquitious application of the relational model encourages it's adoptation as the principal focus for the course.
SYLLABUS
Introduction
o justification and objectives
o persistent data storage techniques (brief review)
o database management systems
o database models (overview)
Relational Model
o theory of relational database management systems (RDBMS)
o relations and functional dependency
o relational operations
o RDB design methods, particularly normalisation
RDB Languages
o algebraic
o calculus-based including SQL and PROLOG
o QBE systems
o data definition mechanisims
o data manipulation techniques
RDB Extensions and Development
Query Optimization Techniques and Strategies
Database Concurrency Issues
o transactions, locking protocols and serializability
o recovery
DBMS Technology Development (overview)
o distributed systems
o objected-oriented
o knowledge-bases and expert systems
PRIME TEXT(S)
Elmasri, R and Navathe, S (1989) Fundamentals of Database Systems. Addison-Wesley
Date, C.J. (1990) An Introduction to Database Systems - Volume 1 (5th ed.). Addison-Wesley.
Maier, D. (1988) The Theory of Relational Databases
REASONS FOR INCLUDING THIS MODULE
The design and implementation of effective, effieient and reliable database systems is crucial to the effective use of computers in the modern industrial world.
SEMESTER TO BE FIRST OFFERED Spring 95 - Semester 6
MODULE TITLE Human-Computer Interaction
MODULE CODE CS4826
CREDITS 3
GRADING TYPE N
PREREQUISITE MODULES
AIMS and OBJECTIVES
The objective of this course is to develop an understanding of the issues involved in the area of human-computer interaction. Issues surrounding how we design "user-friendly" systems become increasingly important as computer controlled systems play a greater role in our everyday lives.
The course will provide anoverview of traditional approaches to the field, as well as exploring
such basic questions as:
How can you design a good interface ?
How can you evaluate an interface?
What exactly is the "interface" anyway?
Who is"the user"?
Is there a difference between user-centered and user-involved design?
SYLLABUS
The nature of design and use. Analysis of everday objects.
Pioneers in the field of human-computer interaction - Bush, Licklider, Engelbart, Nelson, Kay.
Early work on human factors and "man-machine communication".
How to interact with machines - from command languages to direct manipulation.
Cognitive ergonomics. Issues of the user and usability engineering.
The role of user testing and evaluations.
Scandinavian experiences.
The relation between design practice and disciplinary theory.
Future developments - artifical intelligence, multimedia, virtual reality,
Ubiquitous computing- tabs,pens,tablets badges, and liveboards,
Computer-supported collaborative work.
Human Factors in the systems design process.
PRIME TEXT
OTHER RELEVANT TEXTS
Booth, P. (1989) An Introduction to Human-Computer Interaction. New Jersey: Erlbaum.
Baecker, R.M. & Buxton, W. (Eds.) (1987) Readings in Human-Computer Interaction: A Multidisciplinary Approach. Los Altos, CA: Morgan Kaufmann.
Carroll, J. (Ed.) (1991) Psychological Theory at the Human Computer Interface. Cambridge Univ. Press.
Goldberg, A. (ed.) (1989) History of Personal Workstations. ACM Press, 1989.
Greenbaum, J. & Kyng, M. (Eds.) (1991) Design at Work. Lawrence Erlbaum Associates.
Greenberg, S. (Ed.) (1991) Computer-supported Cooperative Work and Groupware. London: Acad.Press.
M. Helander, (Ed.) (1989) Handbook of Human-Computer Interaction Amsterdam: North-Holland.
Norman, D.A. (1988) The Psychology of Everyday Things. New York: Basic Books.
Norman, D.A. & Draper, S.W. (Eds.) User Centered System Design: New
Perspectives on Human-Computer Interaction, pp. 319-337.)
Pylyshyn, Z. & Bannon, L. (Eds.) (1989) Perspectives on the Computer Revolution (2nd rev. ed.) Norwood, NJ: Ablex.
Shneiderman B. (1992). Designing the User Interface: Reading, Mass.: Addison-Wesley.
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Spring 95 (or earlier) Semester 6
MODULE TITLE Concurrent Systems 2
MODULE CODE CS4216
CREDITS 3
GRADING TYPE M (80%)
PREREQUISITE MODULES DP4215 - Concurrent Systems 1
AIMS and OBJECTIVES
The aim of this module is to provide students with an integrated view of modern software systems. The module views concurrency from a systems viewpoint and does not attempt to cover the formal theory of concurrency. In this module we concentrate on the issues involved in distributed environments.
SYLLABUS
Architectural models and design issues for distributed systems.
Naming, location and binding in a distributed system.
IPC in a distributed system:
Distributed message passing, Remote procedure call.
Resource allocation and deadlock.
Security and authentication, Kerberos.
Concept of an atomic transaction and a transaction as a composite
atomic action.
A system model for transaction processing, ordering of operations, aborts and recovery.
Concurrency control in transactions through locking and time-stamping. Recovery from partially completed transactions.
Distributed transactions.
The course will include a comparative study of two modern microkernel based distributed operating systems (Mach, Amoeba).
Students will be expected to undertake a significant distributed programming project in a high level language.
PRIME TEXT
Bacon, Jean, Concurrent Systems: An integrated approach to operating systems, database, and distributed systems. Addison Wesley 1993. ISBN 0-201-41677-8
OTHER RELEVANT TEXTS
Coulouris, G and Dollimore, J. Distributed Systems: Concepts and design. Addison Wesley 1988. ISBN 0-201-18059-6. Tanenbaum A. Modern Operating Systems. Prentice-Hall 1992. ISBN 0-13-595752-4.
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Spring 95 - Semester 6
MODULE TITLE Computer Systems Project 1/2
MODULE CODE CS4617/CS4618
CREDITS
GRADING TYPE M
PREREQUISITE MODULE
AIMS AND OBJECTIVES
Students undertake a substantial individual project which integrates and applies their previous learning and deepens their knowledge of some particular application or research area relevant to the course.
SYLLABUS
The project takes two semesters. The activities associated with the project include, but are not restricted to, the following:
Literature review
Requirements analysis
Software Engineering
Advanced programming techniques
Project planning
Report writing
Formal and informal presentation techniques
RELEVANT TEXT
There is no prime text, but various software manuals, research papers and previous project reports, as well as relevant texbooks, will be used.
REASONS FOR INCLUDING THIS MODULE:
SEMESTER TO BE FIRST OFFERED:
MODULE TITLE Information Technology in Business
MODULE CODE CS4817
CREDITS 2
GRADING TYPE Normal
PREREQUISITE MODULES None
AIMS AND OBJECTIVES
To familiarise the students with:
* Management and business opportunities which can be gained by using Information Technology;
* The role of Information Systems in Business.
To provide practice in written and verbal communication.
SYLLABUS
Strategic planning of Information Technology:
Overview of planning in Business;
Importance of IT planning;
Identifying opportunities for IT;
Developing IT strageties;
Information Systems:
Transaction processing systems;
Management information systems;
Decision Support systems;
Gaining competitive advantage, developing new business through IS/IT;
Improving productivity and performance using IS/IT;
Managing and organising the introduction of technology:
Examples: Communications, EDI, Robotics;
Standardisation;
Case Studies of IS/IT Applications.
PRIME TEXT
I.T. Strategy for Business, Peppard, Joe (editor), Pitman Publishing, 1993
OTHER RELEVANT TEXTS
Computers and Society, IMPACT!, Arnold, David O., McGraw-Hill, 1991
Computers and Information Systems, O'Leary, T.J., Williams, Brian K., Benjamin/Cummings, 1989
REASONS FOR INCLUDING THIS MODULE
To give students an insight into how Information Systems and Information Technology can be used in business.
SEMESTER TO BE FIRST OFFERED Autumn, 1994 - Semester 7.
MODULE NAME: Software Engineering 4
MODULE CODE CS4317
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULES CS4113 Object-Oriented Programming,
MA4403 Computer Mathematics 3
AIMS and OBJECTIVES
SYLLABUS
Recursively defined sets
Functions over Recursively Defined Sets
Proofs by Structural Induction
Grammars as Recursively Defined Sets
Syntax and Semantics of Propositional Logic
Syntax and Semantics of Predicate Logic
Propositional Calculi
Lambda Expressions and the Lambda Calculus
Predicate Calculi
Soundness and Completeness Issues
Non Standard Logics
Operational Semantics of Simple Programming Languages
Introduction to Program Proof Techniques
PRIME TEXT
Loeckx J and K Sieber. The Foundations of Program Verification Wiley-Teubrer 1987.
OTHER RELEVANT TEXTS
Allison Lloyd. A practical introduction to denotational semantics. Cambridge University Press 1987.
Peyton-Jones S. The Implementation of Functional Programming Languages. Prentice Hall 1987.
REASON FOR INCLUDING THIS MODULE
It serves as a base for learning and applying formal reasoning techniques and proof techniques.
SEMESTER TO BE FIRST OFFERED Autumn 94 - Semester 7
MODULE TITLE: Systems Analysis
MODULE CODE: CS4417
CREDITS: 3
GRADING TYPE: Normal
PREREQUISITE MODULE: CS4413 System Development
AIMS AND OBJECTIVES:
To equip the students with the knowledge and techniques required to
plan and control the development phases of the information systems life cycle
evaluate alternative implementation strategies
present their findings and recommendations to management.
SYLLABUS:
System Life Cycle
The Classical Life Cycle
Waterfall model
Spiral Model
Alternative Strategies
Prototyping and Fourth Generation Languages
System Development Methods
Structured Analysis and Design
SSADM
Jackson System Development
Object-Oriented Methods
Other Methods
Requirements Analysis
System Investigation
Analysis
Specifications
Requirements Elicitation
JAD
Computer Aided Software Engineering
Data Dictionary/Repository
Support Tools
Analysis Tools
Design Tools
Testing
Levels of Testing
Verification and Validation
White Box Testing
Black Box Testing
Testing Tools
Project Management
Project Planning
Pert, Gantt Charts
Estimation of Resources
Quality Metrics
PRIME TEXT:
Pressman. Software Engineering - A Practioners Approach, 3rd ed. 1992, McGraw-Hill
OTHER TEXTS:
BROOKES C H et al Information Systems Design Prentice Hall l982
JACKSON M, System Design Prentice-Hall 1984
SUTCLIFFE A, JSD Prentice-Hall 1988
SEMESTER FIRST OFFERED: Autumn 94 - Semester 7
MODULE TITLE: Introduction to Computational Linguistics
MODULE IDENTIFICATION: CS4847
PREREQUISITE MODULES: Artificial Intelligence and Prolog
AIMS AND OBJECTIVES:
To introduce the student to the fundamental concepts of computational linguistics. Use is made of Irish language structures in applying the concepts.
SYLLABUS:
Introduction to
morphology, phonology, grammar;
lexical analysis and lexicons, parsing, semantics;
machine tgranslation.
PRIME TEXTS:
Gazdar, G. and Mellish, C. "Natural Language Processing", Addison-Wesley, 1989.
Gal, A., Lapalme, G., Saint-Dizier, P., Somers, H., "Prolog for Natural Language Processing.". Wiley. 1991.
OTHER RELEVANT TEXTS:
"Gramadach Na Gaelige Agus Litriú Na Gaelige", Oifig An tSoláthair, BÁC 1968.
Beardon, C., Lumsden, D., Holmes, G., "Natural Language and Computational Linguistics an introduction." Ellis Horwood Books Series in Computers and Their Applications, 1991.
Bratko, I., "Prolog - programming for artificial intelligence" Addison Wesley, 1990
Clocksin, W.F., Mellish, C.S., "Programming In Prolog" Springer-Verlag, 1981.
Lloyd, J.W., "Foundations of Logic Programming". Springer-Verlag, 1984.
Thayse, A. (Ed.) "From Natural Language Processing to Logic For Expert Systems" Wiley, 1990.
Thayse, A. (Ed.) "From Standard Logic to Logic Programming", John Wiley and Sons, 1988.
The Christian Brothers, "ANew Irish Grammar", Fallon.
MODULE TITLE Acquisition of Computing Resources
MODULE CODE CS4857
CREDITS
GRADING TYPE Normal
PREREQUISITE MODULES
AIMS AND OBJECTIVES
To familiarize the student with the legal, technical, financial, and commercial aspects associated with the selection and acquisition of computer resources such as: Manpower, Machines, Materials, Software, Services and various common combinations of the above that are on offer or are likely to be on offer in Ireland.
SYLLABUS
Legislation concerning employment contracts and sale of goods
Methods of Financing - Buy, Lease, Rent;
Hire-Purchaes;
Factors involved in hardware selection;
Factors involved in software sleection
Types of materials and services available
Methods of estimating system performance;
'Life-Cycle' evaluation of computer systems;
Personnel recruitment procedures
Investment appraisal techniques.
PRIME TEXT
Specimen Contracts and Licence Agreements (In Library)
Computer Contracts, Morgan R., Stedman G., 2nd ed., Oyez Loughman, 1984.
MODULE TITLE Simulation and Operations Research
MODULE CODE CS4827
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULES MA4403 Computer Mathematics 3
AIMS AND OBJECTIVES
To familiarise the students with some of the current use of simulation, and equip them with the skills to develop simulation models.
SYLLABUS
Use of simulation models;
Simulation methodology;
Markov chains;
Queueing Theory;
Inventory Theory;
Game Theory;
Generation and testing of random numbers;
Collection and analysis of input data;
Verification and validation of simulation models;
Simulation language programming;
Design of simulation experiments;
Analysis of output data.
PRIME TEXT
Introduction to Stochastic Models in Operations Research, Hillier, F.S., Lieberman G.J., McGrawHill, 1990
OTHER RELEVANT TEXTS
Discrete Event System Simulation, Banks, J., Carson, J.S., Prentice-Hall, 1992
REASONS FOR INCLUDING THIS MODULE
To give students an insight into how simulation models can be effectively applied to real-life situations.
SEMESTER TO BE FIRST OFFERED Autumn, 1996 (or earlier) - Semester 7.
MODULE TITLE: Professional Issues in Software Engineering
MODULE CODE: CS4818
CREDITS: 2
GRADING TYPE: Normal
PREREQUISITE MODULES: CS4817 Information Technology in Business
AIMS AND OBJECTIVES:
To make the students aware of, and sensitive to, the wider impact of their professional activities
SYLLABUS:
Software Contracts
Intellectual Property Rights
Employee relations in the software industry
Product Liability
Computer Crime
Professional Codes of Conduct - ACM/BCS
Social impacts of IT
Case Studies
PRIME TEXT:
Professional Issues in Software Engineering - 1993 Pitman Publishing, ISBN 0273032585
OTHER TEXTS:
Teich - Technology and Man's Future - St Martin's Press - 1981
Forrester T (ed) - The Information Technology Revolution - Blackwell - 1985
Papers from professional journals
REASONS FOR INCLUDING THIS MODULE:
Required by professional institutes.
SEMESTER FIRST OFFERED: Spring 95 - Semester 8
MODULE TITLE Software Engineering 5
MODULE CODE CS4318
CREDITS 3
GRADING TYPE N
PREREQUISITE MODULES CS4317 Software Engineering 4
AIMS and OBJECTIVES
To provide an understanding of the processes and techniques used
to develop and maintain quality software.
SYLLABUS
Software Quality Assurance -- Benefits, needs and goals of SQA. Launching
a SQA program. SQA tasks. The SQA organization. Software standards.
Software Inspections. Software Inspection costs.
Approaches to Testing -- Testing Principles, Types of Software Tests. Test
Planning, Test Development, Test Execution and Reporting, Structural
Testing, Real-time Testing, Program Verification.
Computer Aided Software Testing -- Benefits of CAST, Functionality of CAST
tools -- Capture Playback, Comparator, Input Generator, Static Analysis,
Simulation, Test Harnessing, Test Coverage, Debuging Tools, Test
Databases, Test Management.
Software Maintenance -- Program Evolution, Maintenance Costs, Maintenance
Cost Estimation, Re-engineering, Restructuring, Integrated Maintenance
Project Support Environments, Maintenence Repositories, Fine-Structured
Object Management Systems.
Quality Metrics -- Measurement Theory, Applications of Measurement in
Software Engineering, Measuring Internal Product Attributes, Complexity
measures, Control-flow and Data-flow Measures, Information-flow measures,
Software Metrication Tools. Selection of quality criteria and procedures
appropriate to an environment.
Software Process Modelling -- The Software Process Maturity Model, ISO
certification, Levels of Software Process Models, Task based models,
Entity based models, Establishing and Using a Process Definition, State,
Organizational and Control Views of Process Models.
PRIME TEXT
< none at present >
OTHER RELEVANT TEXTS
Managing the Software Process -- W.S. Humphrey.
Software Engineering -- I. Somerville.
IEEE tutorial : Software Management -- D.J. Reifer.
Research Literature.
REASON FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED Spring 1995 - Semester 8
MODULE TITLE Telecom Networks Architectures
MODULE CODE CS4218
CREDITS 3
GRADING TYPE Normal
PREREQUISITE CS4225 Computer Networks, CS4215 Concurrent Systems 1
AIMS AND OBJECTIVES
To set out the structure of current public Telecom networks in terms of Transmission, switching and signalling elements
To highlight the forces which are causing rapid evolution of public Telecom Networks and to describe the technology associated with new directions of evolution.
SYLLABUS
The requirements to support speech traffic, Digital Switching Principles, PCM Trunks, The PDH, Cross Connects, Provision of leased lines, Signalling CCSS7, management in PDH systems. Properties of transmission systems, echo cancelling, Fibre, Coax and micro-wave systems.
Packet Switching X.25, ISDN principles, LAPD protocol, Frame Relay, Asynchronous Transfer Mode switching and multiplexing. Virtual channels, Virtual Paths, The SDH architecture. User network interfaces for B-ISDN, MANS MAC DQDB, ATM over SDH.
Intelligent Networking principles. Management of Telecom Networks, Operations Centres, TMN architecture Mobile Communications, VLR,HLR, MSCs.
PRIME TEXT
ISDN and Broadband ISDN, William Stallings (2nd edition) Macmillan ISBN 0-02-415475-X (1992)
OTHER RELEVANT TEXTS
Transmission Netwroking: SONET and the Digital Synchronous Hierarchy, Sexton & Reid (1992) Artech House, ISBN 0-89006-551-9
ISDN The Integrated Services Digital Network. Peter Bocker, Springer Verlag, ISBN 0-387-17446-X
Telecommunication Networks and Services. van Duren, Kastelein, Schoute, Addison Wesley, 1992, ISBN 0-201-56542-0
REASONS FOR INCLUDING THIS MODULE
To comply with the BSc Syllabus
SEMESTER TO BE FIRST OFFERED Spring 1998 - Semester 8
MODULE TITLE: Computer Integrated Manufacturing
MODULE CODE: CS4828
CREDITS 3
GRADING TYPE N
PREREQUISITE MODULE
AIMS AND OBJECTIVES:
To provide a comprehensive knowledge and understanding of the role of information systems and information technology in manufacturing.
To explore the manufacturing environment, its concepts, terminology, system requirements and problems. The approach will be to study Computer Integrated Manufacturing from the point of view of the system developer.
SYLLABUS:
Concepts and terminology of materials and manufacturing
Entities and Relationships in manufacturing
The manufacturing database
Data reference models ; CIM-OSA
File integrity and other pre-requisites of mrp
The mechanics of mrp
Transactions in an mrp system
The role of the materials planner
mrp versus Order Point systems
Frequency of mrp processing
Integrated Manufacturing Information Systems: Closed Loop MRP
Demand Management: Forecasting and Master Scheduling
The role of the master scheduler
Capacity Planning: Aggregate level and CRP ; Capacity Control
Priority Control in the work-centre
The OPT approach and the OPT model
Just In Time systems
The KANBAN philosophy
Computer Integrated Manufacturing principles
CAD/CAM and FMS
Automated Storage and Retrieval of materials
Factory networks
OSI and Manufacturing Automation Protocol
PRIME TEXT:
Browne, Harhen and Shivnan, Production Management Systems - A CIM Perspective, Addison Wesley
OTHER RELEVANT TEXTS:
Material Requirements Planning, Joe Orlicky
Development of Computerbased Production Systems, A.K. Kochhar
Manufacturing Information Systems, L. Sartori.
Production and Inventory Management, Fogarty and Hoffman
APICS Dictionary, Cox et al.
REASONS FOR INCLUDING THIS MODULE:
SEMESTER FIRST OFFERED Spring 95 - Semester 8
MODULE TITLE Advanced Database Systems
MODULE CODE CS4418
CREDITS 3
GRADING TYPE Normal
PREREQUISITE MODULE CS4416 Database Systems
AIMS and OBJECTIVES
The goal of this course is to provide the student with a knowledge of the wider aspects of database technology. The material presented looks at the more technical issues of database management systems and the emereging strategies applied to their implementation.
SYLLABUS
Database Architectures
o conventional data structures and languages
o object-oriented
o knowledge bases and expert systems
o managing graphical, statistical and other (e.g. CAD) data types
Data Characteristics
o conventional (passive) datastores
o active databases and trigger technology
o deductive databases, knowledge representation and acquisition
Security and Integrity
o domain, relation and referential constraints
o state and transition constraints
o access control and administration
Data Distribution Issues
o data placement strategies
o updating, concurrency and recovery problems
o homogenous and hetergenous environments
o querying and performance appraisal
Database Computers
o limitations of conventional computer configurations in database environments
o hardware and software approches for resolving limitation problems
o database machine classification
PRIME TEXT(S)
Gray, P. (1984) Logic, Algebra and Databases. Ellis Horwood
Bell, D. and Grimson, J. (1992) Distributed Database Systems Addison-Wesley.
Ullman, J. (1989) Principles of Database and Knowledge-Base Systems Vols. 1 and 2 Computer Science Press
Su, S. (1988) Database Computers McGraw-Hill
REASONS FOR INCLUDING THIS MODULE
SEMESTER TO BE FIRST OFFERED
12. APPENDIX A - CURRICULUM VITAES