This document provides an overview of human-computer interaction and the software development process from an HCI perspective. It discusses key concepts like iterative design, prototyping, navigation design, screen design, layout, and usability engineering. The document is part of a college course on HCI taught to computer science student Sayan Ghosh in 2020-2024. It covers topics essential to understanding interactive system design and evaluation from an HCI standpoint.