Programming is only one ingredient for creating industry-grade software. Eliciting requirements from stakeholders, modeling the architecture of a system, selecting appropriate development tools, and testing and maintaining a codebase are some of the aspects that elevate programming to software engineering. Focusing on the development of mobile and web apps, students in this course will gain expertise in common front-end and back-end technologies as well as related tooling. We will also cover the organization of software projects and their social implications, which are so important to recognize for the modern software engineer. |