Lecture 3. Review of Sequential Logic Design