lecture 25 high level design 278875