BSC SOFTWARE ENGINEERING

The BSc in Software Engineering at University of Central Lanchasire (UCLan) equips you with the skills needed to excel in the fast-growing tech industry. This 3-year degree combines practical experience with theoretical knowledge, covering the full software development lifecycle.

Program Structure

Year 1: Foundations in Software Engineering

  • Learn core software engineering principles, programming languages, and tools.
  • Develop interactive games and augmented reality apps.
  • Gain hands-on experience in advanced programming and computational thinking.

Year 2: Advanced Development and Professional Skills

  • Work in Agile teams to design and build complex software systems.
  • Deepen your knowledge of data structures, algorithms, and database management.
  • Develop web and mobile applications while applying industry-standard practices.

Year 3: Specialization and Industry-Ready Projects

  • Tackle complex systems with real-world applications, including cloud and distributed systems.
  • Complete a final-year project that showcases your skills and innovation.
  • Gain exposure to emerging technologies like AI, machine learning, and IoT.
Year 1

C01007: The Computing Challenge

This module offers an immersive experience designed to equip students with a foundation of study skills necessary to be successful in Computing. Students will be introduced to a broad range of computing concepts and how to apply them to design and develop a small software concept.

 

C01008: Introduction to Networking

This module will introduce students to the fundamentals of networking and networked systems and will develop the understanding they need to investigate relevant computer network standards and protocols. Students will learn the necessary about skills to set-up and configure a Local Area Network through lab work, by handling devices and using simulators.

 

C01409 Programming

This module builds directly on the Introduction to Programming module. Students will gain the ability to further analyse, design, implement, test and debug more complex programs using an appropriate programming language. Key skills related for logical thinking, code design and alternative ways to code and debug will be explored in this module.

 

C01508: Computer Systems and Security

Gradually, we are becoming more and more dependent on computing systems in our daily lives. The services provided by these systems, such as online shopping, social networking, mobile banking and so forth represent the backbone of modern communities. This module will introduce the key security concepts, access control mechanisms and tools to protect the computer systems from harm.

 

CO1605: Systems Analysis and Database Design

Within an interactive and stimulating learning environment, you will work in teams to discuss and explore a variety of systems. This will develop an in-depth understanding and the practicalities of database design and implementation which you can add to your programming skillset.

 

C01303: Game Concepts

This module presents a broad range of basic games development concepts and provides foundation for further study in the field. Students will develop an understanding of commercial practices in game development and will be introduced to methods and technologies for game development. The module will also cover mathematical concepts needed for computer games development.

C02401: Software Development

This module will focus on the software development lifecycle, with students learning how to identify requirements, analyse, design, code and test a software application. Students will also learn alternative styles used in the industry and which ones are suitable for a given context.

 

C02402: Advanced Programming

This module will enhance the student’s programming competence and ability to use a range of programming techniques necessary for the development of effective and quality software. Students will learn how to select and apply appropriate data structures and algorithms to implement a software solution to a complex problem. Object-oriented and event-driven programming paradigms will also be introduced in this module.

 

C02007: The Agile Professional

This module will teach students the agile way of designing and developing solutions. Since this is fast becoming an industry recognized way of developing solutions, students will get an opportunity to learn how to apply theory to practice and develop agile software by having regular meetings, monitoring progress and refining the solution as the project moved along.

 

C02412: Computational Thinking

The module will develop core skills among students to think and develop computational solutions. Since problems may have many alternative solutions, students will learn the pros and cons of each and which type of solutions are most suitable for a given system or application.

 

C02528: Cyber Security

In this module, student will learn to examine a range of vulnerabilities and attacks on computer systems and networks. This module will help develop an understanding of advanced methods for protecting communication and computer systems, and the need to have a systematic approach to computer security.

 

C02404: Cross Platform Development

This module aims to develop an understanding of contemporary mobile development platforms and skills required to develop applications for mobile devices (phone and tablets). Students will explore a range of technical problems and solutions inherent in developing software applications for mobile computing: connectivity, security, data storage. Interactive mobile application: gestural input, location awareness, on-board-sensing (e.g. accelerometers) will also be taught.

C03408: Advanced Software Modelling

The module takes a rigorous approach to software development. It examines the use of formal methods for the specification, development and verification of software. It presents a range of techniques for the analysis and implementation of real-time solutions. The student will investigate the theory and problems of concurrent systems.

 

C03404: Distributed Systems

This module aims to teach students how systems and applications can be built for distributed environments. Since data and clients using the applications are likely to be spread over geographical and system boundaries, it is important to learn if a centralized or a distributed type of system is more suitable. This module will introduce the theory and key concepts to develop such distributed systems.

 

C03008: Honours Degree Project

The double module project will involve research, independent study and the production of a substantial report, which will be based on the investigation of a problem and the development of a solution. This project will be the culmination of the student’s study and will draw substantially on the material and skills developed during the course.

 

CO3722: Data Science

Large volumes of data, commonly known as ‘big data’ are generated and stored by retail stores, online-shopping websites, or other transaction systems. This big data is now considered a very rich resource for information, especially for the strategic and commercial growth of a company. This module will teach students how to apply formal concepts to extract and analyse meaningful information from such large datasets, find hidden patterns, measure similarity etc.

Choose One module from:

 

 

CO2409: Computer Graphics (elective)

Computer graphics are a vital part of modern human-computer interaction but are highly resource intensive. You’ll explore the algorithms and hardware that attempt to meet the demands of real-time rendering of 2D and 3D graphics. You’ll be introduced to mathematical techniques used to represent and manipulate images and explore how graphics libraries are used to produce more complex and realistic graphics. You’ll be able to extend your programming skills to the generation, manipulation and display of graphical images using a popular graphics library

 

C03519: Artificial Intelligence (elective)

This module aims to introduce and familiarize you with the approach and techniques of Artificial Intelligence. It will introduce you to AI in the context of computer games and will explore some of the theoretical underpinnings of AI and Computing

 

C02722: User Experience(elective)

On this module you will foster an understanding of the needs, abilities, limitations of computer users, of the techniques and technologies that can enable users to communicate effectively with computers, and the impact of user experience in this context. You’ll develop the knowledge and skills necessary to enable you to model, design and evaluate interfaces with a focus on user experience. You will enhance your desire, skills, and confidence to research HCI and UX topics for themselves.

  • Software development
  • Mobile app development
  • Game development
  • Cloud engineering
  • Quality Assurance
  • Project Management

Graduates are well-prepared for roles in software development, mobile app development, game development, cloud engineering, and more.

Enquiry Form