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.
| Course Name | Programming for Problem Solving |
| Course Code | 26CSA663 |
| Program | M. C. A. |
| Credits | 4 |
| Campuses | Amritapuri, Mysuru |
Foundations of Programming
Introduction to logic building, Control structures: loops, conditionals, Functions and modular programming, Recursion basics, Input/output operations, Debugging and error handling.
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.
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.
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).
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 | – |
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.