This semester-long course is the foundational design course tailored specifically for the Software Engineering programme. It offers a practical, immersive experience in professional software development practices. Students undertake a project that is carried over the entire semester, starting with individual tasks to build proficiency in various technologies and advancing to a collaborative team project. The course emphasises the design, development, and evaluation of software applications while integrating different software technologies.
A key component of the course involves simulated client interactions during design meetings, where students develop their skills in requirements gathering, effective communication, and client engagement. The course places strong emphasis on professional practices, including ethical considerations in code reuse, understanding and adhering to software licenses, using version control systems effectively, and collaborating efficiently within a team.
Assessments are individual and group-based, focusing not only on the functionality and quality of the software developed but also on demonstrating professionalism in client interactions and teamwork. This holistic approach ensures that students are well-prepared for the professional challenges of the software engineering industry.
Please note: This course is a compulsory component for students pursuing the Software Engineering specialisation in the Bachelor of Engineering (Honours) and is not available as an elective or optional course for students from other programmes or specialisations.