Programming and Software Systems
Programming & Software systems is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. It is important because of the impact of large, expensive software systems and the role of software in safety-critical applications. It integrates significant mathematics, computer science and practices whose origins are in engineering.
This course, like all CSBM courses has been designed with the outcome in mind. Namely a job. After your 18 month course with CSBM you will be able to enrol directly onto the final year of any of the following programmes.
(Click on the name for more information)
Unit 1: BUSINESS SKILLS FOR E-COMMERCE
E-Commerce has become a vital part of an organisation’s ability to reach out to the marketplace and position itself to maximise commercial returns on investment. Poor choices of technology and processes will result in poorly managed opportunities which could lose business, market position and profitability. In this unit, you will investigate the values of business skills by exploring current, topical examples of e-Commerce practices and you will consider how to design an e-Commerce solution to the best advantage of the organisation and its stakeholders (for example employees, suppliers and customers).
Unit 2: COMPUTER SYSTEMS
Most IT professionals will at some stage have to set up, use, customise and maintain computer systems. In order to do so effectively they will need to understand how computer systems work. This unit explores the hardware, software and peripheral components that make up a computer system. You will then apply your theoretical knowledge to practical application by building, configuring and testing a functional computer system which will meet a given specification.
Unit 3: EMPLOYABILITY AND PROFESSIONAL DEVELOPMENT
Everyone requires employability skills as a prerequisite to entering the job market. This unit gives you an opportunity to assess and develop an understanding of your own responsibilities and performance in or when entering the workplace. The unit considers the skills required for general employment such as interpersonal and transferable skills, and the dynamics of working with others in teams or groups including leadership and communication skills.
Unit 4: PROJECT DESIGN, IMPLEMENTATION AND EVALUATION
This unit provides opportunities to develop skills in decision making, problem solving and communication integrated with the skills and knowledge developed in many of the other units within the programme to complete a realistic project. It requires you to select, plan, implement and evaluate a project and finally present the outcomes, in terms of the process and the product of the project.
Unit 5: RESEARCH SKILLS
Research involves the exploration of a range of primary and secondary sources of information. From these sources, conclusions can be drawn regarding a particular question or theory that may need to be investigated and tested. In this unit, you will gain the knowledge and research skills needed to select a research question, and design a research proposal for a chosen topic of interest. This will equip you with a higher level of knowledge and skills that will allow you to be self-directed and focused in a specific field of expertise. This will be of great benefit throughout this course and in your third year.
Unit 6: SYSTEMS ANALYSIS AND DESIGN
The systems life cycle provides a comprehensive framework for initially capturing data and information through a feasibility study and the use of recognised fact-finding techniques. You will be encouraged to identify and consider a full set of stakeholder interests to be sure that the wider implications of any development are considered. Theoretical understanding will be translated into practical skills through actual systems investigations and you will become confident in the use of particular tools and techniques relevant to the methodology chosen.
Unit 7: PROCEDURAL PROGRAMMING
You will be provided with an understanding of the principles of procedural programming and to enable them to design and implement procedural programming solutions. Irrespective of framework or delivery platform, the development of procedural code is still at the core of many commercial application development projects. Ideally, if you are new to programming, this unit can be considered the starting point before progressing onto one (or all) of the many programming units. Whilst you are not expected to develop any complex code in this unit, the foundations will enable the development of your programming skills.
Unit 8: HUMAN COMPUTER INTERACTION
This unit aims to give learners an understanding of recent Human Computer Interaction (HCI) developments and will enable them to develop a human computer interface. As technology moves forward, new methods of communicating with computer systems are becoming possible. Developers need to make reasoned choices as to the nature and appropriateness of the interface they are developing or using, in order to ensure that the user interaction is as natural, efficient and effective as possible. This requires a good understanding of the essentials of HCI and of the latest developments.
Unit 9: OBJECT ORIENTED PROGRAMMING
Object oriented programming is an industry-proven method for developing reliable modular programs and is popular in software engineering and systems development. Consistent use of object oriented techniques can lead to shorter development life cycles, increased productivity, adaptable code, reuse of different technologies, the interaction of different systems using common platforms and therefore lower the cost of producing and maintaining systems. Object oriented technology can be found in many systems, from commercial operating systems to mobile phones and in many multimedia applications.
Unit 10: EVENT DRIVEN PROGRAMMING SOLUTIONS
Unlike traditional programming, where the flow of control is determined by the program structure and the programmers design, the control in event driven programs is largely driven by external events and is often determined by interaction with the user. Typically, the systems involved employ pre-programmed event loops to continually look for information to process. It is used for all GUI based applications and can be found in web based multimedia as well as mobile technologies.
Unit 11: SOFTWARE APPLICATIONS TESTING
Linking into all programming units, this unit supports the detailed exploration, development and deployment of a functional commercial application – taking the designed and implemented application and ensuring that it is tested and documented to a commercially viable standard.. This unit will provide you with an understanding of the principles of software applications testing as an essential element in the development of commercial applications for delivery to customers. You may work on GUI-based systems, a web-based application, a multimedia resource, a mobile (or handheld) application as well as a ‘traditional’ procedural programming environment to meet the outcomes of this unit. The assurance is that in any of the applications being tested the learner must be systematic and ensure the quality of the system being developed.
Unit 12: PROGRAMMING IN .NET
Whilst specific to Microsoft products, the .NET framework defines interactions with servers, workstations and mobile devices. The .NET framework also describes interactions and data exchange with other programming and development systems and is designed to enable cross platform interaction. This unit allows you to become familiar with the underpinning concepts of .NET framework programming, without needing to develop particular skills in one chosen language. The focus of the unit is on developing solutions to meet identified user needs while emphasising the importance of testing and reviewing.
Unit 13: MATHEMATICS FOR SOFTWARE DEVELOPMENT
This unit is an introduction to some of the mathematical concepts and techniques that will be required by you as a software engineer. To develop the mathematical skills necessary for software engineering, you must gain a range of mathematical skills, which are often applied in the creation of coded solutions to everyday problems. This unit include conditional statements, graphics and gaming (geometry and vectors), relationships in databases, the calling of methods (or procedures), matrices in the handling of arrays, large datasets and mapping, statistics, calculus and set theory.
Unit 14: DATA STRUCTURES AND ALGORITHMS
The unit starts by introducing abstract data types and explores their use in data structures. Based on this knowledge and understanding, you should be able to develop solutions, using data structures for a range of commercial needs. Data structures may be implemented using a variety of programming paradigms and learners may use one or more areas for their implementations. On completion of this unit, you should be able to design and implement a variety of data structures and be able to evaluate different algorithms that implement data structures.
Unit 15: PROGRAMMING IN JAVA
Object oriented programming is an industry-proven method for developing reliable modular programs and is popular in software engineering and systems development. Consistent use of object oriented techniques can lead to shorter development lifecycles, increased productivity, adaptable code, reuse of different technologies, the interaction of different systems using common platforms and therefore lower the cost of producing and maintaining systems. Many environments use Java as its ‘underpinning’ framework, with Java applications found on mobile phones, dedicated systems, web-based multimedia, security and control systems as well as traditional applications and bespoke operating systems.
OPTIONAL UNITS – STUDENTS WILL NEED TO SELECT TWO OF THE FOLLOWING MODULES
Unit 16: MANAGEMENT OF PROJECTS
Projects play a large role in the development of Information Systems and Technology. This unit provides you with an understanding of, and experience in, project management principles, methodologies, tools and techniques that may be used in industry and the public sector. You will examine the criteria for the success or failure of a project, evaluate project management systems and review the elements involved in project termination and appraisal.
Unit 17: WORK-BASED EXPERIENCE
This unit aims to enable you to experience the scope and depth of learning which may take place in a work-based context by planning, monitoring and evaluating the work experience. A significant amount of learning can be achieved by carrying out practical activities in a workplace. Learning may be enhanced by taking a more formal approach to work-based activities – by planning, carrying out the activities and reflecting on the benefits of the activities to you and the business. You will have the opportunity, supported by your supervisors, to negotiate and perform activities which will allow you to fulfil the assessment criteria for this unit.
- Minimum age, 18 years old
- Full secondary education. NQF 3
- Minimum of 2 A levels (no less than grade D) for UK applicants
- English proficiency: PTE 51 (minimum: Listening 51, Reading 51, Speaking 51, Writing 51) or equivalent, IELTS 5.5 (minimum: Listening 5.5, Reading 5.5, Speaking 5.5, Writing 5.5) or equivalent, TOEFL 87 (minimum: Reading 22, Writing 21, Listening 21, Speaking 23) or equivalent
- Mature students (over 21) are accepted, subject to professional references
- Pathways: Programmer, Software Development, Code Monkey.
- Work Experience Element – (optional 3 months Full-time or 6 months Part-time)
- Option of Overseas work experience.
- Enter the Bachelor Degree of your choice upon completion of all 4 Terms.
Students that take up all optional extras in this course, including work experience and the degree year will come out of the course with Dual Qualifications; an academic degree and a professional qualification, 6 months work experience, and be finished before their counterparts in University. What more can you ask for?
University of Greenwich
BSc (Hons) Software Engineering
BSc (Hons) Computer Systems & Software Engineering
BSc (Hons) Games & Entertainment Systems Software Engineering
BSc (Hons) Software Engineering
BA (Hons) Computing with Software Engineering
University of Glamorgan
BSc (Hons) Post HND degree Software Engineering