This course presents the general principles that serve as the foundation of software engineering. The student is introduced to the broader context of system analysis, learns how total system requirements are analyzed and how decisions are made to allocate various functions among hardware, software, and people. The software lifecycle is examined. The course presents some professional issues, including accountability of the software engineer in complex systems and legal issues and laws that relate to software. Introduces database concepts and graphical user interfaces. Note: (1) Duplicate Course: No credit for students who have completed C+IN SC 4296 (W281). (2) For Computer Science Majors.