Back close

Course Detail

Course Name Programming for Problem Solving
Course Code 26CSA663
Program M. C. A.
Credits 4
Campuses Amritapuri, Mysuru

Syllabus

Unit I

Foundations of Programming

Introduction to logic building, Control structures: loops, conditionals, Functions and modular programming, Recursion basics, Input/output operations, Debugging and error handling.

Unit II

Problem-Solving Techniques

Pattern recognition and problem decomposition, Mathematical problems (number theory, combinatorics), String manipulation techniques, Array-based problem solving, Hashing and frequency maps, Sliding window and two-pointer techniques.

Unit III

Programming Challenges

Daily coding problems (easy to medium level), solving problems from platforms like HackerRank, LeetCode, CodeChef, Group coding sessions and peer reviews, Timed coding tests and contests.

Unit IV

Real-World Applications

Writing clean and efficient code, understanding constraints and edge cases, optimizing solutions. Mini-project: Build a simple CLI tool or game (e.g., quiz app, calculator, to-do list).

Objectives and Outcomes

Course Description 

This course is designed to strengthen students’ logical reasoning and programming abilities through structured problem-solving exercises. It focuses on developing computational thinking, algorithmic problem-solving, and coding skills essential for technical assessments and interviews. Students will gain hands-on experience in writing efficient code, understanding logic-based challenges, and applying programming concepts to real-world scenarios. The course prepares learners to tackle competitive programming problems, technical assessments, and industry-oriented coding tasks effectively.

Course Objective

To develop students’ logical reasoning and programming skills through hands-on problem solving, preparing them for coding assessments and technical interviews.

Course Outcomes

COs Description
CO1 Apply fundamental programming constructs such as loops, conditionals, functions, and recursion to solve basic computational problems.
CO2 Analyze problems using decomposition techniques and implement solutions using arrays, strings, and hashing.
CO3 Solve algorithmic challenges using techniques like sliding window, two-pointer, and frequency maps.
CO4 Demonstrate proficiency in solving coding problems from online platforms under time constraints.
CO5 Develop clean, efficient, and optimized code for real-world applications, considering constraints and edge cases.
CO6 Design and implement a mini-project using command-line interface (CLI) tools that integrates learned programming concepts.

CO-PO Mapping

PO/PSO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8
CO1 3 3 2 1 1
CO2 3 3 2 1 1
CO3 2 3 3 2 2
CO4 2 3 3 2 2 2
CO5 1 2 2 2 2 1
CO6 1 2 2 3 2 2

Textbooks / References

  • Let Us C” by Yashavant Kanetkar – A classic book for foundational programming concepts and exercises.
  • Introduction to Algorithms” by Cormen, Leiserson, Rivest, and Stein – For deeper understanding of algorithmic techniques (selected chapters).
  • Cracking the Coding Interview” by Gayle Laakmann McDowell – Excellent for preparing students for coding interviews and challenges.

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now