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.

CT537 Software Engineering I

Software Development Life Cycle. Unified Modelling Language: user requirements capture; using core UML constructs to complete an OO Analysis and OO Design. Use Cases; Class Diagrams; Sequence Diagrams; Activity Diagrams.

CT538 Architecture, Operating Systems & Networks for .NET

CPU components, overview of general OS principles. Origins of .NET, current uses and applications. Virtual machines and the Common Language Runtime architecture. Just in time compilation. Common intermediate language (CIL), bytecode conversion, and translation into native code. The role of assemblies in .NET. Memory management, type safety and exception handling. Overview and use of .NET tools, including IL Disassembler, command line compilation, manifest generation and editing. OSI and TCP/IP Models. Network addressing and routing, configuring hosts to access the local network and exploring routing tables.

CT542 Architecture, Operating Systems & Networks for Unix

CPU components, overview of general OS principles. Origins of Unix, current uses and applications. The UNIX family: Solaris, HP-UX, AIX, Tru64, Linux, and BSD. The command line interface Launching the CDE Terminal Emulator. Managing files, navigating directories, accessing Unix servers. Filtering data streams through pipelines. Accessing Unix servers from windows and Unix. Logging into a remote server, downloading files. OSI and TCP/IP Models. Network addressing and routing, configuring hosts to access the local network and exploring routing tables.

CT544 Industry Development Project

Students will work with their company and placement supervisor to specify a life-cycle development project, encompassing requirements, design, coding and test. Within the marking structure, up to 5 ECTS may be awarded to recognise credit for specific company training and/or certification.

CT545 Enterprise Java Programming

Analyzing goals of Enterprise Java applications, Planning for distributed applications, Communicating between JVMs, Implementing Remote Method Invocation. Registering and locating remote objects with JNDI. Reducing the impact of bottlenecks, Session Beans, Stateful Beans, Message-driven beans, Web Services. Separating control and presentation logic, Realizing the role of JSPs and servlets, Constructing Model View Control (MVC) architectures. JSF 2.0, Spring MVC, Google Web Toolkit (GWT). Distributed components and performance.

CT546 .NET Programming

.NET Bootcamp. Summary of key features and comparison with Java. Overview of types, object construction, delegates, properties, generics and Regex. Managing projects with Solution Explorer, Setting project properties and adding references, Adding files, folders and code. Compiling, debugging and testing programs using Visual Studio test projects. XML, SQL, LINQ, Persisting .NET objects in the database with an ADO.NET Entity Data Model. Creating WPF applications in Visual Studio, Building browser-based and navigation applications. HTML5 and JavaScript frameworks for .NET

CT548 Object Oriented Software Design and Development

Principles of object oriented software design. Boundary, Control and Entity objects. Use Case Diagrams, Class Diagrams, Sequence and Collaboration Diagrams. Design patterns for software design: Singleton, Observer, Adapter and Proxy. Multi-threading and concurrency. Static code analysis, automated unit testing, continuous integration, automated build, work item tracking.

CT853 Algorithmics and Logical Methods

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

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.

CT874 Programming 1

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