1 / 36

Emerging Computing

Emerging Computing. Unit-1: Introduction to Problem Solving. M. Abu Baker Siddique. Course Outlines. Introduction to problem solving Introduction to software engineering Overview of .NET Framework & Methods Overview of Visual Studio 2005 Introduction to C# Classes & OOP

deanam
Download Presentation

Emerging Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Emerging Computing Unit-1: Introduction to Problem Solving M. Abu Baker Siddique

  2. Course Outlines • Introduction to problem solving • Introduction to software engineering • Overview of .NET Framework & Methods • Overview of Visual Studio 2005 • Introduction to C# • Classes & OOP • Software Requirements • Requirements Engineering Processes • Rapid Application Development • Forms & Controls • Software Testing • Verification and validation

  3. Introduction • Emerge means • “to move out of or away from something and become visible”. • “become apparent or prominent” • “coming to maturity” • "the rising generation“

  4. Introduction Continued… • Obtaining a broad view of emerging trends and new technologies as they relate to business can help an organization wait and prepare for the future • Organizations that can most effectively grasp the deep currents of technological evolution can use their knowledge to protect themselves against sudden and fatal technological obsolescence

  5. Trends Shaping Our Future • World’s population will double in the next 40 years • Population in developed countries is living longer • Growth in information industries creates a knowledge-dependent global society • The global economy is becoming more integrated • The economy and society are dominated by technology • Pace of technological innovation is increasing • Time is becoming one of the most precious commodities

  6. Problem Solving

  7. Objectives • Learn how to state and clarify a problem • Develop a procedure for problem solving • Learn the traps in problem solving

  8. What’s typical? Self-Doubt Over Confidence Procrastination Flip-flops Desperation! WRONG!

  9. Six Criteria for Effective Decisions • Focuses on what is important • Logical and consistent • Acknowledges objective and subjective factors, blends analytical and intuitive thinking • Does not gather too much information • Tries to reach consensus • Straightforward, reliable, easy to use, flexible

  10. Problem Solving Model P OACT roblem bjectives lternatives onsequences radeoffs

  11. Additional Factors • Risk • Uncertainty • Linked decisions

  12. Problem Solving Steps • State the problem carefully • Acknowledge complexities • Avoid assumptions and prejudices • Specify the objectives • Create imaginative alternatives • Understand the consequences of the alternative • Grapple with your tradeoffs………con’t

  13. Problem Solving Steps, con’t • Clarify uncertainties • Think about your risk tolerance and the risks of each alternative • Consider linked decisions • Each alternative opens or closes future options

  14. What’s the best solution? A good solution to a well-posed problem…. Is a almost always a smarter choice than.. An excellent solution to a poorly posed problem

  15. Define the Problem • What triggers the problem? • State the problem • Question the constraints of the problem • statement • Identify the essential elements • How does this impact other decisions? • What is the scope of the problem? • Gain insights from others • Restate problem, if necessary

  16. What Objectives Do • Help determine what information to seek • Explain your choices to others • Determine the importance of, time and effort devoted to the problem

  17. How to identify objectives • Write down the concerns you hope to address: • Wish list • Worst possible outcome • Impact on others • Insights from others • What’s a good alternative but unfeasible? • What is bad about the worst alternatives?

  18. How to identify objectives • Convert the concerns into succinct objectives • Separate the ends from the means • Clarify what you mean by each objective • Test your objectives

  19. Alternatives • Use your objects and ask HOW? • Challenge constraints to your alternatives • Set high aspirations • Think through your alternatives before consulting others • Learn from past experience • Then ask others for suggestions

  20. Some Techniques to solve a problem • We can solve a problem using other techniques such as: • Algorithm • Pseudo Code • Flow Chart

  21. Some Techniques to solve a problem • Algorithm • An algorithm is simply a solution to a problem • An algorithm presents the solution to a problem as a well defined set of steps or instructions • A recipe in a cookbook is a good example of an algorithm

  22. Some Techniques to solve a problem • Pseudocode • Pseudocode is one of the methods that could be used to represent an algorithm • It is not written in a specific syntax that is used by a programming language and therefore cannot be executed in a computer • But it closely resembles the structure of a programming language and contains roughly the same level of detail

  23. Some Techniques to solve a problem • Flowchart • A flowchart is a pictorial representation of an algorithm in which the steps are drawn in the form of different shapes of boxes and the logical flow is indicated by interconnecting arrows. • The boxes represent operations and the arrows represent the sequence in which the operations are implemented.

  24. Some Techniques to solve a problem • Flowchart

  25. What is Software? • The product that software professionals build and then support over the long term. • Software encompasses: • instructions (computer programs) that when executed provide desired features, function, and performance; • data structures that enable the programs to adequately store and manipulate information and • documentation that describes the operation and use of the programs.

  26. What is Software? • Software is more than just a program code. • A program is an executable code, which serves some computational purpose. • Software is considered to be collection of executable programming code, associated libraries and documentations.

  27. Engineering • On the other hand, • is all about developing products • using well-defined • scientific principles and methods.

  28. Software Engineering • is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures. • The outcome of software engineering is an efficient and reliable software product.

  29. Software Engineering Definition • The seminal definition: • [Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. • The IEEE definition: • Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).

  30. Importance of Software Engineering • More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.

  31. Importance of Software Engineering • It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of system, the majority of costs are the costs of changing the software after it has gone into use.

  32. FAQ about software engineering

  33. FAQ about software engineering

  34. Essential attributes of good software

  35. Essential attributes of good software

More Related