To provide students with the tools to identify problems that are best solved through a computer and to design and implement effective, efficient, and creative solutions.
To enable students to apply computer science fundamentals to solve software-oriented computing problems successfully.
To provide students with a deeper understanding of some specialty within computer science.
To provide students with good written and oral communication skills.
To provide students with an understanding and appreciation of the societal consequences of technology, including computers, and of the ethical issues that may arise with new technologies.
To produce high-quality Computer Science professionals and skilled persons for R & D organizations and research institutions in various specialized and emerging areas.
To be engaged in a professional career in computer science or enrolled in advanced graduate studies.
To prepare graduates as computing professionals.
Apply knowledge of computing fundamentals, knowledge of a computing specialization, and mathematics, science, and domain knowledge appropriate for the computing specialization to the abstraction and conceptualization of computing models from defined problems and requirements.
Identify, formulate, research literature, and solve complex computing problems reaching substantiated conclusions using fundamental principles of mathematics, computing sciences, and relevant domain disciplines.
Design and evaluate solutions for complex computing problems, and design and evaluate systems, components, or processes that meet specified needs with appropriate consideration for public health and safety, cultural, societal, and environmental considerations.
Create, select, adapt and apply appropriate techniques, resources, and modern computing tools to complex computing activities, with an understanding of the limitations.
Function effectively as an individual and as a member or leader in diverse teams and in multi-disciplinary settings.
Communicate effectively with the computing community and with society at large about complex computing activities by being able to comprehend and write effective reports, design documentation, make effective presentations, and give and understand clear instructions.
Understand and assess societal, health, safety, legal, and cultural issues within local and global contexts and the consequential responsibilities relevant to professional computing practice.
Understand and commit to professional ethics, responsibilities, and norms of professional computing practice.
Understand the impact of professional engineering solutions in societal and environmental contexts and demonstrate knowledge of and need for sustainable development.
Recognize the need, and have the ability to engage in independent learning for continual development as a computing professional.
Demonstrate management skills and apply engineering principles to work as a team member and/or leader to manage projects in a multidisciplinary environment.