CT319 Artificial Intelligence

This course includes an introduction to Artificial Intelligence. It looks at AI as applied to image processing, knowledge representation and inference, problem solving and search, and expert systems.

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.

CT865 Human Computer Interaction

Human-computer interaction, human-interaction. HCI and psychology; HCI and systems development: design, implementation and evaluation cycle; HCI, users and organisations; Usability engineering. Understanding design, designing with the user. The user interface: design, multi-user interfaces, toolkits, standards; case studies of interface successes and failures. New technology developments, distributed systems, issues: transparency, reliability, ethics, awareness, privacy, telepresence.

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.

CT869 Software Design and Development Project

Students will undertake a major group project in the area of software design and development, in which a significantly sized software system will be created. Formal classes will provide project-focused problem solving and practical software engineering discussions. The course will include class presentations.

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.