Advanced Programming & Software Engineering 3 ENG3091

  • Academic Session: 2023-24
  • School: School of Engineering
  • Credits: 10
  • Level: Level 3 (SCQF level 9)
  • Typically Offered: Semester 2
  • Available to Visiting Students: Yes

Short Description

This course will evolve students' awareness of advanced programming and software engineering concepts. Students will further develop their skills in advanced object-oriented programming, applying these within a general engineering context. Students will also be introduced to key overarching principles, processes and techniques of software engineering, placing their coding skills in a wider context.

Timetable

Two lectures per week, each lasting one hour.

Four laboratory sessions throughout the semester to give students practical experience.

Requirements of Entry

Mandatory Entry Requirements

None

Recommended Entry Requirements

ENG2083 Introductory Programming 2 - fundamental programming and software skills

Excluded Courses

None

Co-requisites

None

Assessment

50 % Laboratory Assignment - involving a programming and software engineering based cases study assessed through written report

50 % Written Examination

Main Assessment In: April/May

Course Aims

The aims of this course are to:

■ develop a detailed appreciation of advanced object-oriented programming design, practices and techniques

■ develop an appreciation of the implementation issues associated with the application of advanced object-oriented programming within engineering problems

■ provide the opportunity for participants to practice and develop practical object-oriented programming skills within an engineering context

■ develop an appreciation of software engineering in terms of processes, practices and techniques

■ provide the opportunity for participants to practice and develop software engineering skill through the use of general-purpose modelling languages 

Intended Learning Outcomes of Course

By the end of this course students will be able to:

■ design and code object-oriented software for the solution of non-trivial engineering problems;

■ evaluate the efficacy of software techniques and methods, their own and others';

■ explain the importance of software engineering as part of the general design of complex systems;

■ apply software engineering processes and general purpose modelling languages in realistic contexts.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.