The course teaches students comprehensive and specialised subjects in computer science; it teaches students cutting-edge engineering skills to solve real-world problems using computational thinking and tools. Most of this program is the case (or) project-based where students learn by solving real-world problems end to end. This program has core courses that focus on computational thinking and problem solving from first principles.
The core courses are followed by specialization courses that teach various aspects of building real-world systems. This is followed by more advanced courses that focus on research-level topics, which cover state-of-the-art methods. The program also has a capstone project at the end, wherein students can either work on building end-to-end solutions to real-world problems (or) work on a research topic. The program also focuses on teaching the students the “ability to learn” so that they can be lifelong learners constantly upgrading their skills. Students can choose from a spectrum of courses to specialize in a specific sub-area of Computer Science like Artificial Intelligence and Machine Learning, Cloud and Full Stack Development, etc.
The overall course objectives of the programme are:
- Students will have cutting-edge knowledge and understanding of computer science allowing them to solve real-world engineering and specific computational problems using advanced techniques at the forefront of computer science
- Students will be able to analyse the societal, regulatory, and technological contexts for key computer science applications
- Students will be able to apply their technological abilities to produce innovative solutions to real-world problems and that implement technique learned in the course
- Students will display original thinking on the basis of the knowledge they gain in the course
- Develop advanced, innovative, and multi-disciplinary problem-solving skills
- Communicate computer science methods and tools clearly and unambiguously to specialised and non-specialised audiences
- Develop advanced abilities related to computer science operational procedures and implement them in response to changing environments
- Critically evaluate alternative approaches to solving real-world engineering and technological problems using cutting edge techniques in computer science on the basis of academic scholarship and case studies, demonstrating reflection on social and ethical responsibilities
- Formulate technological judgments and plans despite incomplete information by integrating knowledge and approaches from various computer science domains including machine learning, distributed computing, and cloud computing.
- Enquire critically into the theoretical strategies for solving real-world problems using computational thinking and tools.
- Develop new skills in response to emerging knowledge and techniques and demonstrate leadership skills and innovation in complex and unpredictable contexts
- Formulate research-based solutions to practical problems in environments of incomplete information
- Manage decisions with autonomy in complex and unpredictable environments
- Organise projects and people in a way that is responsive to changes in the wider technological environment
- Demonstrate learning skills needed to maintain continued, self-directed study