lecture2 for software engineering