BSc Computing (Top-up)
Modern society relies heavily on computers, to automate processes and to perform repetivive tasks in reliable and repeatable ways. As a result the modern workplace increasingly incorporates computational technology and requires employees to have good, or better, computing skills. Computing degrees give the student the skills that they need to practically apply computing technology in a wide range of contexts. More generally, a computing degree enables the graduate to solve problems using computers. This computing degree combines key systems analysis and design skills from software engineering with applied programming skills which are contextualised by important applied topics like Artificial Intelligence or the technologies of the Web.
This computing course enables you to ‘top-up’ your existing qualifications to the internationally recognised ‘bachelors degree’ classification if you have an Associate degree or an undergraduate level certificate, diploma or equivalent, in computing or a closely related field. You will gain understanding of computing tools, techniques and practises across a range of application areas. The course will allow you to develop a critical understanding of the analysis, design, development, testing, and evaluation of computing systems. In the modern world, regardless of the career path that you take, some aspect of computing is increasingly likely to play a role in your work. A degree in this area gives you a foundation for exploiting this trend.
Earn a world class BSc (Top-up) for under $5,000.
|(One year minimum)|
|Modules 1 & 2||Modules 3 & 4||Modules 5 & 6|
The module is largely based on the first three sections of “Artificial Intelligence: A Modern Approach” (3rd edition) by Russell and Norvig. The indicative content is as follows:
- Introduction: What is AI? History of AI and the state of the art.
- Agents: An introduction to agents, their behaviours and structure
- Searching: Problem solving by searching, heuristics, local search and optimisation and adversarial search
- Constraint satisfaction problems: defining and solving CSPs
- Logic: Propositional logic, first-order logic
- Planning: Definition and solving of planning problems.
PROJECT MANAGEMENT FOR INFORMATION SYSTEMS
Managing information systems projects using PRINCE2 and related project management methodologies. Applying tools for project design, resource scheduling, team working and progress estimation in a real-world:
- Project scenario
- Project justification
- Examination of the causes of project failures
- Team roles and dynamics
- The role of the project manager
- Professional and legal issues and obligations
SOFTWARE ENGINEERING METHODS
This module will integrate DevOps techniques to deliver a software product. The aim of the module is to understand the core ideas of modern software development workflows considering agile, lean, and automation. The range of techniques are diverse, but the following areas will provide a sufficient overview of the practical and personal skills required for modern software delivery:
- Git and Git Workflow
- Continuous Integration and Delivery
- Requirements and Issue Tracking
- Task Management and Kanban
- Model Driven Development
- Unit Testing
- Test Driven Development
- Bug Reporting and Tracking
- Ethics, Professionalism and Security
Description of module content:
- Overview of technologies involved in the development of web sites
- Basic networking protocols for the Internet
- Web page design and development
The module covers these aspects of databases:
- Database theory: The relational model is a mathematical construct, and some of the basic concepts can be very useful in understanding the way the technology behaves. This is particularly true for the more technical students who go on to study data warehouses and data mining. Basic set theory and the ANSI-SPARC three level architectural model are covered in this part.
- Database design: A key skill for software engineers and for business analysts is to be able to create an efficient relational model of an application context. The design methods specific to relational databases including entity-relationship diagrams and normalisation are covered here.
- Database use: The most fundamental database skill is to be able to retrieve required data using well-designed queries. The main vehicle for this is SQL, and this theme is developed over all teaching weeks. As well as learning SQL in isolation using online teaching materials, you will also have access to a stand-alone database application where you can construct your own schema and design and perform your own SQL queries. As part of this theme, other uses of SQL will be introduced which demonstrate its relationship with programming and Web application design.
- Database administration: The database administrator (DBA) is a vital role in any information technology department. Some of the main DBA responsibilities will be examined as part of this theme, and you will carry out basic administrative tasks such as backing up and restoring databases. The use of scripts to automate database management processes will also be covered.
- Non-relational database systems: While the focus of the module is on relational databases you will learn about some alternatives technologies such as NoSQL.
- Security: You will learn about some of the threats to database security and availability. Access to a fast, secure enterprise-wide database is essential for many organisation. You will learn techniques to protect database resources from accidental or deliberate damage or disclosure; these include password hashing and SQL injection protection.
SOFTWARE DEVELOPMENT*(note this module is under development and content may change)*
Description of module content:
- This module will comprise a mix of Software Development and Algorithms & Data Structures topics.
The programme can be completed in a minimum of one year or a maximum of three years.
All assessments are conducted online and normally comprise multiple choice questions plus a report, essay or similar. Examinations are not used for assessment.
1. To enter this programme you must have qualifications or experience that demonstrate through our recognition of prior learning process that you have appropriate computing knowledge and skills.
2. Recognition of prior learning. Your application will be considered on an individual basis, taking into consideration your previous study and experience.