The unit covers professional, legal and career development issues in the Computing and Digital Technology industries and includes a pathway-specific group project.
The current legal framework of Computing and Digital Technology is examined e.g. data protection legislation, intellectual property rights, computer misuse, freedom of information, computer contracts and employment contracts as is an overview and comparison of workable ethical theories eg utilitarianism and duty based approaches. Important issues regarding professional bodies in computing are also addressed including their role, structure, codes of conduct and practice. You will also investigate employability factors and learn about the employment application process and the importance of continuing professional development. A themed case study mini-project linked to the subject pathway, which may include the opportunity to work with an external company. This will help you to develop your skills and understanding of project planning and control concepts, planning techniques (eg Gantt charts) and monitoring, academic research, software prototyping and report writing.
Computer Networks and Operating Systems
The unit provides an introduction to the operation of computer networks operating systems theory and practice.
Topics include - Concurrency: the solutions to and the problems of concurrency, race conditions, livelock deadlock starvation and priority inversion. The use of semaphores and/or monitors in solving classical problems such as: i) the bounded buffer and ii) multiple readers and writers. Computer Networks: network components – repeaters, hubs, switches, routers, gateways; protocol stacks – OSI TCP/IP, basic network performance characteristics. Process management: processes and threads, performance benefits of multiprogramming, scheduling algorithms, two-level schedulers. Input/Output: principles of I/O hardware; devices and controllers; principles of I/O software – device drivers, device interrupt, handlers device, independent software. Memory Management: evolution of physical and virtual memory management, algorithms and computer architecture for memory management. File systems: structure and organisation of the file system; disk space storage allocation using contiguous linked indexed and inode based schemes.
This unit covers concepts relating to object-oriented program design, the use of framework libraries, web server and mobile application development.
The unit covers object-oriented concepts: introduction to object-oriented concepts including class, object, instantiation, attributes, constructor, methods, overloading, inheritance, overriding, polymorphism and design techniques using Unified Modeling Language (UML). Testing of object-oriented programs. Advanced topics: interfaces, inner classes, collections, exception handling, stream based file input/output, building a Graphical User Interface (GUI) using libraries, event handling, graphics and threads. Implementation: practical application and implementation of concepts studied above. Use of Integrated Development Environment (IDE). Implementation of a UML diagram. Documentation and coding standards. Case studies.
File Systems Forensics and Analysis
The unit provides content to enable an understanding of the theory and practice of computer forensics. It covers: Forensic process: types of investigations, role of investigator, processes, toolkits, legal aspects. Forensic response: collecting volatile data, MAC times, login data, open ports, running processor, current/ recent connections, reviewing event logs and registry data, obtaining system passwords, dumping system RAM, forensic duplication. File system analysis: data acquisition, volume analysis, journaling, write blockers, signatures, locating and restoring deleted content. Memory: capturing memory, memory contents identification, flash memory devices, data persistence. Information hiding & malware analysis: scanning/evaluating data streams, steganography, slack space, host protected area, static and dynamic analysis, post-mortem analysis, program confinement, rootkits.