Software Engineering
The elective course in “Software engineering” covers the principles and practices of designing, developing, and maintaining software systems. Students learn about software development methodologies, such as agile and waterfall, as well as programming languages, software testing, and project management. The curriculum also includes software architecture, database design, and human-computer interaction. Students work on projects individually or in teams, gaining hands-on experience with software development tools and techniques. The goal of the course is to prepare students for careers in the software industry or further study in computer science.