Presentation is loading. Please wait.

Presentation is loading. Please wait.

Text INTERNAL February 11, 2011 Problem Solving. INTERNAL - 2 - Tech Republic’s railway department wants a solution Tech Republic’s railway department.

Similar presentations


Presentation on theme: "Text INTERNAL February 11, 2011 Problem Solving. INTERNAL - 2 - Tech Republic’s railway department wants a solution Tech Republic’s railway department."— Presentation transcript:

1 Text INTERNAL February 11, 2011 Problem Solving

2 INTERNAL - 2 - Tech Republic’s railway department wants a solution Tech Republic’s railway department is in a crisis!!!! Over 2000 train services across the country & parcel services to major cities and towns Lakhs of passengers and customers availing various services Advance and regular ticketing Parcel booking Enquiries … Around 600 railway stations

3 Problem Solving INTERNAL - 3 - Dissatisfied customers and over burdened employees!!!! Railways wants to improve stake holder satisfaction… Tech Republic’s railway department wants a solution Long queues…… Unhappy Passengers….. Employees overburdened with paper and manual work

4 Problem Solving INTERNAL - 4 - Solutions??? Railway department hired new staff and increased the number of customer service counters!!! Passenger count and train services are steadily increasing, so this solution is not going to work for a long term… Manual errors are also creeping up during calculations, leading to customer dissatisfaction, and wastage of time to correct errors…

5 Problem Solving INTERNAL - 5 - Automate…. Management is now thinking why not automate the entire system. 1.Ticket booking and seat availability tracking 2.Passenger data management 3.Regular ticketing 4.Parcel booking and tracking, and so on… They decided to come up with a computerized system that handles various day to day activities at their office.

6 Problem Solving INTERNAL - 6 - Programs Computer is a machine, it needs to be instructed how to perform a task, how to handle data, where to store it and so on. Software – Collection of computer programs and data that tells computer what to do Programs – Set of instructions that is carried out by the computer In a computer based solution business requirement of a user ultimately get translated to lines of code that instructs computer to work in such a way as to meet the requirement.

7 Problem Solving INTERNAL - 7 - Problem Solving Programming to solve a problem in hand involves –Analyzing the problem: this involves understanding the input and output, various alternatives to reach the output, listing the assumptions, –Designing an algorithm: defining a step by step procedure to solve the problem –Testing the design for correctness: checking for the correctness of algorithm by walking through the algorithm manually –Implementing the solution (Translating to code): once the correctness of algorithm is checked, it can be translated to any programming language –Testing the program: once the program is developed it needs to be tested against various test cases which checks if the program is correct for all expected range of inputs. This module aims at building skills required to solve a problem in an organized manner and document the same.

8 Problem Solving INTERNAL - 8 - Problem Solving and Programming – key elements Good analytical skills Declarative and imperative knowledge about the solution Ability to apply abstraction Knowledge in a programming language Following good programming practices

9 Problem Solving INTERNAL - 9 - Problem Solving and Programming - Declarative Knowledge 1 5 3 4 2 6 What is the solution for the following jigsaw puzzle?

10 Problem Solving INTERNAL - 10 - 123 456 You are Right ! This What is type of knowledge is called Declarative knowledge The fact that each of the pieces should be appropriate order and fitting into correct slots to form the correct picture is the Declarative knowledge in this scenario is the Solution Problem Solving and Programming - Declarative Knowledge

11 Problem Solving INTERNAL - 11 - But How ? Step3 Step2 Step1 1 2 3 4 5 6 Arrange the pieces according to their number. Step1 Problem Solving and Programming - Imperative Knowledge

12 Problem Solving INTERNAL - 12 - Step3 Step2 Step1 1 2 3 4 5 6 Turn the pieces fitting to nearby pieces. Step2 But How ? Problem Solving and Programming - Imperative Knowledge

13 Problem Solving INTERNAL - 13 - Step3 Step2 Step1 1 2 3 4 5 6 Join the pieces Step3 But How ? Problem Solving and Programming - Imperative Knowledge

14 Problem Solving INTERNAL - 14 - Arrange the pieces according to their number. Step1 Turn the pieces fitting to nearby pieces. Step2 Join the pieces Step3 1 23 456 This How to Knowledge is called Imperative Knowledge But How ? Problem Solving and Programming - Imperative Knowledge

15 Problem Solving INTERNAL - 15 - A representation or model that includes the important, essential or distinguishing aspects of something while suppressing or ignoring less important, immaterial or diversionary details. Removing distinctions to emphasize commonality. In computer programming abstraction applies to procedures and data –Procedural (Functional) abstraction: Hiding complexity of implementation details of a function behind a specific interface defined to invoke the function. E.g. printf function in C language, a programmer do not have to know the implementation details of the function. By invoking the function using the predefined interface the function does what is expected. –Data abstraction: Isolating how a data object is used from the details of how it is constructed. E.g. while accessing attributes in a structure a programmer do not have to know about implementation details of the same. Problem Solving and Programming - Abstraction

16 Problem Solving INTERNAL - 16 - Problem Solving and Programming – Programming Language An artificial language designed to write expressions that instruct computer. Elements of a programming language –Syntax: structural elements of the language. Programs must be syntactically correct. –Grammar: defines how syntactical elements need to be combined to form programs –Semantics: defines meaning of the code

17 Problem Solving INTERNAL - 17 - Problem Solving and Programming – Good Programming Practices In a survey in TCS, 89 Project Leaders & Group Leaders ranked important skills for entrants to ILP as follows: 1.Good Programming Practices 2.Process Mindset 3.Communication Skills 4.Adaptability & Teamwork 5.Concern for Quality 6.Knowledge of Core Computer Science Topics The Importance of Good Programming Skills The gap between the best software engineering practice and the average practice is very wide - perhaps wider than in any other engineering discipline. A tool that disseminates good practice would be important. - Fred Brooks in "The Mythical Man-Month"

18 Problem Solving INTERNAL - 18 - A “true” project experience A TCS project well appreciated by client for –Correctness –On Time Delivery –Good project Managements Customer requested enhancements for the well delivered product but later complained that enhancement requests were pending with TCS for months. Root Cause : Poor Understandability of code!!!!! Problem Solving and Programming – Good Programming Practices

19 Problem Solving INTERNAL - 19 - Advantages of improving understandability Self-review is easier leading to less defects Debugging takes less time Another developer will find it easier to maintain your program Problem Solving and Programming – Good Programming Practices

20 Text Happy Learning!!!


Download ppt "Text INTERNAL February 11, 2011 Problem Solving. INTERNAL - 2 - Tech Republic’s railway department wants a solution Tech Republic’s railway department."

Similar presentations


Ads by Google