Undergraduate study in Software Engineering

What can you study in Software Engineering?

A Bachelor of Engineering (Honours) in Software Engineering focuses on giving you the skills to engineer large, complex and fault-tolerant systems that function reliably, are effectively developed, and can be maintained efficiently.

Beyond imparting fundamental knowledge, the specialisation also prepares you for the technological environment ahead, so you can pursue courses and applications in areas such as human-computer interaction, serious games, smart energy consumption, learning aids, autonomous robots, and intelligent software agents.

This specialisation is co-taught by the Department of Computer Science, so in addition to computing applications, technology, and systems knowledge, you’ll also gain the necessary engineering perspectives and project management methodologies that are now essential to the field. This gives Software Engineering an edge over many adjacent fields, as the understanding of the entire lifecycle of software development and maintenance ensures that your professional knowledge extends beyond technical capabilities.

Core topics include:

  • Algorithm design and analysis
  • Computer organisation and architecture
  • Data communications
  • Fundamental mathematics
  • Human-computer interaction
  • Operating systems
  • Programming languages
  • Project management and professional ethics
  • Robotics and machine learning
  • Software design, construction and development

All our BE(Hons) specialisations are accredited by Engineering NZ, so your qualification will be recognised in many countries.


All students take a similar set of courses throughout their first year of a BE(Hons). Find out more about the compulsory degree components.

You can get in-depth information about our undergraduate courses in Software Engineering with the Faculty of Engineering Course Viewer.

Help and advice

For general student enquiries, please contact the Student Hubs. 

If you would like further academic information, you can contact an Undergraduate Course Adviser.