Aim:

You will critically examine factors that inform and underpin planning for teaching and learning in psychology.

Outcomes:

You will:

- plan and teach a...

Aim:

You will critically examine factors that inform and underpin planning for teaching and learning in psychology.

Outcomes:

You will:

- plan and teach a sequence of lessons at KS4 or KS5 in psychology;

- critically reflect on and evaluate your own practice as a psychology teacher;

- understand the process of practitioner enquiry as a means to continually develop and examine your own classroom practice.

Program analysis|static program analysis|dynamic program analysis|abstract interpretation

Aims:

Program analysis is widely used in industry to ensure software quality and security on various stages of software development process. This module...

Aims:

Program analysis is widely used in industry to ensure software quality and security on various stages of software development process. This module covers both theoretical and practical aspects of modern program analysis. First, the module introduces static program analysis techniques such as data flow analysis and abstract interpretation. Second, the module demonstrates dynamic analysis techniques such as taint analysis and race detection. Third, the module shows how these techniques are used in practice to ensure software quality and security. Finally, the module discusses the implementation of program analysis techniques.

Learning outcomes:

On successful completion of the module, a student will be able to:

Rigorously reason about software properties.
	Choose appropriate program analysis techniques in different stages and contexts of software development.
	Apply modern program analysis tools to real-world software and correctly interpret their output.
	Implement custom program analysis tools.
Content:

Introduction to program analysis
	Pattern-based analysis
	Lattice theory
	Data-flow analysis
	Constant propagation
		Live variables
		Reaching definitions
	
	Abstract Interpretation
	Dynamic analysis
	Dynamic race detection
		Buffer overflow detection
		Dynamic taint analysis
		Application of dynamic analysis (fuzz testing, web security)
	
	Program analysis in practice
Requisites:

To be eligible to select this module as an optional or elective, a student must be registered on a programme and year of study for which it is a formally available.