As Lecturer in Computer Science and Games Programming, you will be based in the School of Science. You will be working closely with academic colleagues to enrich the student learning and teaching experience to ensure, as appropriate, relevant aspects of research, enterprise and professional context are embedded in modules and courses.
The school delivers a broad range of teaching, offering undergraduate degrees across computing disciplines and postgraduate programmes in areas such as Data Science, Computational Intelligence, Computer Science, Advanced Software Engineering, and Cyber Security. We are committed to high quality teaching and welcome applications from enthusiastic academics who want to join an exclusively teaching focused team.
The role involves teaching and supporting the development and delivery of undergraduate, postgraduate, and professional programmes to ensure an effective student learning experience. It also includes overseas transnational teaching, so the ability to travel and spend several weeks abroad is an advantage.
For this role, we require a programming specialist, who will focus on teaching programming across different curriculum areas. We seek skills in the following areas, and welcome interest from applicants who can evidence some or all of these:
- GPU Programming and Heterogeneous Computing
- Python, C, C++. Modern C++
- Logic programming (e.g. Prolog)
- Functional programming (e.g. Haskell)
- Java
- Computer Graphics with OpenGL and Vulkan
- Shader Programming
- Virtual/Augmented Reality
- Machine Level Optimisations
- Console Development
- Constraint-Based Physics
- Procedural Generation
- Proficiency with both Unity and Unreal game engines
You will teach standalone programming modules and may also teach programming within broader computer science areas such as software engineering, AI, data science, machine learning, web and mobile development, cybersecurity, high performance and cloud computing, games programming, games development, and computer systems.
You will deliver and support teaching and assessment at undergraduate and postgraduate levels, working with course teams to ensure a high quality student experience. You will also contribute to module, curriculum, and degree development and be expected to take on new teaching areas, build new computer science skills, and engage in ongoing professional development.