(One personal frustration provoker is signing on to a course and discovering that you're not using the current edition of the book!)
Study Chapter 5, Section 5.4 on page 147 of the Set Book, including the activities. This section is entitled 'User frustration' and provides a list of reason why users often become frustrated when using interactive products and gives examples of what the author refer to as 'classic user-frustration provokers'.Can you think of any other frustration provokers?
 When a system is hard to learn because of unnecessary internal or external inconsistencies - for example, in CP/M (the command-line only predecessor of MS-DOS) file copying and transfer was done using a command called PIP (for Peripheral Interchange Program) which had the (sometimes lethally) unexpected parameter syntax of "PIP target=source".
 When there is inadequate or misleading guidance to the relative importance of interface options. I used to consult on a programming product which by default saved programs in a fast but fragile binary format. If you asked its authors to assist a user whose program was no longer loadable, they would inevitably reply "Sorry, users simply have to 'Save as text' regularly". But the safe "Save as text" option was buried in a sub-menu, while the dangerous option was hooked right into the obvious menu location, "File > Save".
 When you can't tell in what order you should to use interface options. The same programming product had various sets of functions available for communicating to external systems such as databases, terminal emulators and mainframes. Being a GUI-based, interactive development environment you could paste each function in from a function dictionary, complete with meaningfully named parameter variables, and the online help would expand on what each function did and what the parameters were. But there was nothing to tell you the order in which these function calls should be made, which left our users stuck with a massively frustrating trial-and-error task. (Eventually I wrote up the necessary sequence options, using Syntax diagrams to describe function order rather than parameter order, and this was included in our documentation)