This introductory course in Software Engineering is designed to help first-year students build a strong foundation in the key skills needed to develop and manage software systems. With a basic knowledge of computers and programming as a starting point, the course explores how to clearly identify software requirements, design systems effectively, and maintain them over time.

As the demand for reliable, high-quality software continues to grow across industries, software engineering has become essential for handling the complexity of modern projects. In this course, you’ll gain a practical and comprehensive understanding of the software development process, including the tools, techniques, and best practices used by professionals. Whether you're aiming to create your own applications or work on large-scale systems, this course will equip you with the knowledge and confidence to take on real-world software challenges.
This course provides a comprehensive understanding of fundamental data structures and principles of program design using the C programming language. The course equips students with the knowledge and skills to develop efficient and scalable software solutions by implementing primary data structures and algorithms and applying such data structures to solve real-world computing problems.