CT511 Databases

Data and information. Database architectures, centralised and distributed. Database models: hierarchical, relational, network and object oriented. Database query languages, client/server design, Standard Query Language. Data Management Issues: backup, recovery, maintenance, performance. Database design and implementation. Enterprise-wide data applications, building client/server database. Object oriented databases. Open database connectivity (ODBC). Accessing remote data sources. Databases and Tools: MS-ACCESS, ORACLE, Object Store, SQL, Powerbuilder, Visual Basic.

CT853 Algorithmics and Logical Methods

Algorithms. Conditionals. Looping. Abstract data types. Recursion. Propositional logic. First order predicate calculus. Program specification.

CT861 Computer Architecture and Operating Systems

Computer Systems History and Architecture Development; von Neuman machine; memory systems; storage media; virtual and cache memory; interrupts; concurrency and pipelining; processes; scheduling; critical regions and synchronisation; file systems and management; distributed operating systems and parallel processing; case studies; UNIX, MSDOS and Windows NT.

CT863 Interactive Media Technologies

Developments in the area of media technologies focusing on the design (graphic design, HCI, interface design, etc.), development (video, animation, audio, graphics, hypertext, etc.), and integration of these media elements into interactive systems using authoring and lower level programming technologies. Examination of a variety of implementation environments and issues arising: CD-ROM, networks, the Internet (WWW), etc.

CT866 Networks and Computer Communications

Data Communications, Transmission Media, POTS, Asynchronous / Synchronous Transmission. Circuit/Packet Networks. ISO OSI Reference Model / TCP/IP Model/ ATM Model. LAN/WAN Technologies. High Speed Networks, Network Timing. Internet Protocols & Technologies. Developing Wireless Technologies.

CT870 Internet Programming

UI Design: HCI and UI principles for web applications. Website development using HTML: The Request-Response cycle: Client-side programming using e.g. JavaScript: Server-Side Programming using e.g. CGI, ASP, JSP, PHP: Cookies: Client and Server Components Programming using e.g. ActiveX, Java: Database connectivity: XML.

CT871 Software Engineering Methods

Systems engineering phase review, prototyping and evolutionary engineering approaches; functional decomposition and object oriented paradigms. Modelling techniques: process modelling (DFD’s, IDEF, etc.), data modelling (ERD’s), time behaviour modelling (STD’s); process design: procedure specification, modularity, clarity and usefulness; data design: refinement, normalisation, and database design. Software quality: testing, quality assurance, configuration management. Laboratory work using CASE tools. The object oriented approach. Contrasts with the traditional approach to software development: focus on objects, inheritance, encapsulation. A review of object oriented methodologies, Grady Booch, Yourdon, Rumbaugh. Assessment of relevant pros and cons, the approach to object oriented implementation, including stages of project definition, analysis, design and implementation. Laboratory work using OO CASE tool.

CT874 Programming 1

Oriented-oriented concepts: objects, classes, inheritance, interfaces and polymorphism. Object-oriented programming: operators, decision constructs, loop constructs, arrays.

CT875 Programming II

Advanced Java programming. Introduction into .net programming.

CT876 Research Project

Topics covered include: research methods and approaches, literature reviews, hypotheses formation and testing, experiment design, research dissemination and scientific writing, research ethics. This module will involve the completion of a research project in which the above topics are explored.