Programming methodology Programming Methodology Programming methodology is a

  • Slides: 11
Download presentation
Programming methodology

Programming methodology

Programming Methodology � Programming methodology: ◦ is a process of developing programs that involves

Programming Methodology � Programming methodology: ◦ is a process of developing programs that involves strategically dividing important tasks into functions to be utilized by the entirety of the program. ◦ it also describes the thinking process that goes into developing a programming solution for a specific problem ◦ deals with the analysis, design and implementation of programs.

Why study Programming Methodology? � Programming Methodology allows you to "think like a programmer.

Why study Programming Methodology? � Programming Methodology allows you to "think like a programmer. " � You will be able to approach problem solving from a computational perspective, and gain exposure to different areas in Computer Science. � Additionally, you will have a firm grasp of how a programmer should "think, " because you will spend a lot of time analyzing, designing, and implementing programs. This is a fundamental skill that will help you tackle more difficult problems and programs in the future.

Why study Programming Methodology? (cont. . ) �A programming methodology deals with providing a

Why study Programming Methodology? (cont. . ) �A programming methodology deals with providing a way to consider and manage the development, design, implementation, and testing of a piece of software. For example one common methodology is the Top down approach where you look at the big picture, what do you want to make in the end and break that down into more detailed sub parts until you have a complete understanding of the system

Why study Programming Methodology? (cont. . ) � In contrast to that a Bottom

Why study Programming Methodology? (cont. . ) � In contrast to that a Bottom up approach looks at combining small parts into a more complex and complete system. � Best practice if you are working in large numbers or are developing a program that may change considerably over the life cycle of development is to use an agile development methodology. One such methodology is Scrum which focus's on short cycles of development of individual features in the program

Computing Systems: Hardware and Software � �A computer is a machine designed to perform

Computing Systems: Hardware and Software � �A computer is a machine designed to perform operations specified with a set of instructions called a program. � �Hardware refers to the computer equipment. – keyboard, mouse, terminal, hard disk, printer � �Software refers to the programs that describe the steps we want the computer to perform.

Terminology � Computer system : Hardware and software taken together is referred to as

Terminology � Computer system : Hardware and software taken together is referred to as a Computer System � Program : a set of instructions given to a computer to accomplish a certain task. � Software : programs that run the computer and those that are run by the computer. –Ex: operating system (Unix, Windows), word processor

Logical system architecture

Logical system architecture

Steps in Software Development � Clear understanding of the problem : Problem Specification. �

Steps in Software Development � Clear understanding of the problem : Problem Specification. � � Careful solution design paying attention all the constraints : Robust Algorithm Design. � � Transform algorithm into a program : Abstraction and coding. � � Complete debugging : Error removal. � � Thorough testing : Make sure it works for all cases � � Maintenance dictated by the environmental changes and time.

stylistic guidelines � Developing good program is skill and writing good program is a

stylistic guidelines � Developing good program is skill and writing good program is a quality habit.

Characteristics Of Good Program � Efficient and effective � User friendly � Self –documenting

Characteristics Of Good Program � Efficient and effective � User friendly � Self –documenting Code � Reliable � Portable