Sign up now to receive more information about studying at Middlesex University London.
The aim of this module is to provide students with experience of a range of Computer Science projects that reinforce First Year teaching and learning and provide opportunities to apply this learning in a supported and structured environment.
This module provides students with an understanding of the foundations of Computer Science. On completion of this module, the successful student will be able to explain the key concepts underpinning the discipline of Computer Science.
To provide students with an understanding of the organization of computer-based systems from the small-scale (for example gates, processors and memory), through the medium-scale (for example personal computer organization), to the large-scale (for example the Internet).
This module aims to provide the student with an understanding of the concepts involved with object-oriented programming. To this end, the student will cover the fundamentals of objects, classes, inheritance, composition, encapsulation and polymorphism. In addition, the module will expose the student to GUI frameworks, introduce some basic software engineering design principles and patterns, and provide a more abstracted view of system design in terms of layered software architectures. It is expected that on completion of this module students will be able to design, implement and test nontrivial object-oriented programs.
This module builds on the programming fundamentals developed in the first year through the study of algorithm design and the properties of several data structures; concurrent programming; networked programming and database design and implementation.
This will enable writing efficient concurrent and/or networked programs which store data efficiently and reliably in a well-designed database. Throughout the course software engineering tools and techniques will be introduced and utilized in the design, management and testing of software being developed.
Computer systems have become pervasive and increasingly more powerful enabling users to run many different kinds of applications. The power available on modern day computing devices and the ever increasing usage being found for them has led to the redefinition of the roles, responsibilities and design of Operating Systems.
The aim of this introductory course is to review the design principles, performance, security and system management issues in Operating Systems design. It provides an understanding of the operation of the underlying hardware and software and gives practical systems-level experience of client-server based applications. It lays the groundwork needed for more advanced engineering applications in the area.
The module will provide students with an opportunity to gain practical level experience of Operating System management techniques in a realistic and flexible environment. Access is provided to a 64-bit Linux Enterprise system to promote active learning and reinforce lecture material. This module lays the groundwork needed for more advanced engineering applications in the area.
This module provides you with the opportunity of choosing and working on a project that reflects your interests and aims and outcomes of your programme. It should constitute a practical problem-solving project relevant to your programme of study. The primary aim of the module is to consolidate and deepen your understanding of material taught on your programme, to exercise professional judgement, to undertake individual research and to conduct an investigation and/or develop a product, process or application relevant to the focus of your programme. It provides you with the opportunity of engaging in significant system development, the typical output of which represents the solution of a problem akin to those that you as a fledgling professional practitioner are likely to encounter in future employment. The module intends that your choice of individual project will provide you with a significant opportunity to reflect on your learning progressand to develop your learning for life-long and career development.
An important criterion for the implementation of Industry 4.0 is the amalgamation of machines and industrial components in a network infrastructure, to support operational communication amongst machines and other applicable IT systems in an automated network. This will enable the optimization of conventional industrial processes in many facets.
The central theme of this module is to equip students with the skills necessary to design and implement network infrastructures to support industrial communication and to integrate Industry 4.0 enabled machines to facilitate a Cyber-Physical Factory. In doing so, students will embrace the practice of setting up TCP/IP communication between modules, IP-address design and allocation, secure wireless LAN communication, switching and routing services to support communication, deploy VPN for remote services, and to explore the integration of the CP Factory with the Internet of Things.
Computer systems are almost never perfect, exhibiting errors, crashes and hangs whose implications range from benign to fatal. This module will examine the different notions of correctness relevant to computer systems, and how these are applied to the different parts of a computer system. Automatic and user-guided methods that attempt to find possible problems within systems will be covered and demonstrated on practical examples. Also, methods for ensuring that no problems can possibly exist within a system design will be examined and applied.
The module will focus on the teaching of computer science within the secondary school (age 11-16) setting. You will observe, analyse and prepare materials for teaching practice. You will start to apply your knowledge of computing to teaching practice. You will develop an understanding of the Teachers’ standards, thus supporting your preparation for application of initial teacher training courses. You will complete reading on education pedagogy to critically analyse practice. The module will also support your development of public speaking.
The aim of this module is to examine in depth the concepts and techniques needed in the construction of interactive graphics systems covering advanced graphics programming techniques. It will cover theory and mathematics as required. It aims to provide students with practical experience via significant individual project work developing computer graphics programs using an industry standard environment.
Designing secure computer systems is a cross cutting discipline: from organisational policies, via programming languages and network protocols all the way down to physical layers, security controls need to be installed at all levels of a computer system. This course aims at giving students an overall apprehension of the meaning of security and privacy, teaching them standard techniques of designing, developing and assessing secure computer systems. At the end of the module, participants will have acquired skills and knowledge in basic cryptology, security protocol design, threat analysis, security models and security engineering techniques.
The aim of the module is to introduce students to a range of AI theories and techniques, including the most commonly used. This will extend to the ability to implement these techniques, and the students will extend their own development skills.
Students of this module will gain understanding of underpinning concepts and practical techniques relevant when considering humans, both in the organisation of design and design processes, and as a way of incorporating a user perspective in the design of products and services. The module also includes analysis of user experience, the characteristics of users and their tasks, and the technical, organisational and physical environment in which products or systems may operate.
The module aims to give students an introduction into the Open Source software ecosystem. A range of issues involving Open Source will be discussed, both technical (the Open Source development model) and non-technical (legal, ethical and political issues). In order to gain hands-on experience, students will also participate in an existing Open Source project.
This module provides you with the opportunity of choosing and working on a project that reflects your interests and aims and outcomes of your programme. It should constitute a practical problem-solving project relevant to your programme of study. The primary aim of the module is to consolidate and deepen your understanding of material taught on your programme, to exercise professional judgement, to undertake individual research and to conduct an investigation and/or develop a product, process or application relevant to the focus of your programme. It provides you with the opportunity of engaging in significant system development, the typical output of which represents the solution of a problem akin to those that you as a fledgling professional practitioner are likely to encounter in future employment. The module intends that your choice of individual project will provide you with a significant opportunity to reflect on your learning progress and to develop your learning for life-long and career development.
This module aims to develop understanding of the integration of modular robotic and sensor systems. It will enable students to acquire practical skills of robotic software/hardware integration and validation. In addition it aims to develop understanding of human robot interaction.
This module aims to develop a deep understanding of thelatest web-based app programmingtechniques, frameworks, and methodologies used by the industry to develop the next generation software that can be deployed on any mobile devices (both Android and iOS). The module will investigate, develop, and deploy latest programming language standards that are fundamental to app development and currently being widely employed in industry. Modern programming frameworks will be introduced to provide the essential software architecture for large-scale software developmentand the ability to target either the Android or iOS platform.The module will cover the three most important components of a complete mobile app: front end, back end, and system administration.
BSc Business Information Systems graduate (2007)
I have a passion for IT and Business and I was convinced that this was the exact path for me. In my third year, I opted for a placement at Investec Investment Bank in the Asset Management Application Development and Support team. This experience really helped me to kick-start my career in the right direction. I currently work at Dresdner Kleinwort investment bank and hope to purse a masters degree in Computing Science in the near future. In five years time, I see myself owning my own IT consulting company.
BSc Business Information Systems graduate (2006)
The skills I developed during my degree were excellent preparation for my current job as a human computer interaction researcher at Middlesex University. This includes interpersonal and communication skills needed for organising interviews and usability trials, Java programming for prototype development, report writing and web design skills to present and share our findings. Middlesex University has helped me broaden my horizons considerably in the last few years, and I am now able to consider a wider range of projects in the IT industry, or even a PhD.
Start: October 2019, EU/International induction: September 2019
Duration: 3 years full-time, 4 years with placement, Usually 5 years part-time
Start: Autumn 2019
Duration: BSc: 3 years full-time, 4 years with placement, 6 years part-time, MSci: 4 years part-time, 5 years with placement, 8 years part-time
Code: BSc: G111, MSci: G11A