Evaluation of application design and implementation, Assignments of Computer Science

Define basic algorithms to carry out an operation and outline the process of programming an application, Explain the characteristics of procedural, object-orientated and event-driven programming, conduct an analysis of a suitable Integrated Development Environment (IDE), Implement basic algorithms in code using an IDE, Determine the debugging process and explain the importance of a coding standard

Typology: Assignments

2020/2021
On special offer
30 Points
Discount

Limited-time offer


Uploaded on 07/01/2021

Pramodya
Pramodya 🇱🇰

4.2

(5)

3 documents

1 / 46

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Learning Outcomes and Assessment Criteria of the Module
Pass Merit Distinction
LO1 Define basic algorithms to carry out an operation and outline the process of
programming an application
P1 Provide a definition of
what an algorithm is and
outline the process in
building an application.
M1 Determine the
steps taken from
writing code to
execution.
D1 Examine the
implementation of an
algorithm in a suitable
language. Evaluate the
relationship between the
written algorithm and the
code variant.
LO2 Explain the characteristics of procedural, object-orientated and event-driven
programming, conduct an analysis of a suitable Integrated Development
Environment (IDE)
P2 Give explanations of
what procedural, object-
orientated and event-
driven paradigms are; their
characteristics and the
relationship between them.
M2 Analyze the
common features that
a developer has access
to in an IDE.
D2 Critically evaluate the
source code of an application
which implements the
programming paradigms, in
terms of the code structure
and characteristics.
LO3 Implement basic algorithms in code using an IDE
P3 Write a program that
implements an algorithm
using an IDE.
M3 Use the IDE to
manage the
development process
of the program.
D3Evaluate the use of an IDE
for development of
applications contrasted with
not using an IDE.
LO4 Determine the debugging process and explain the importance of a coding
standard
P4 Explain the debugging
process and explain the
debugging facilities
available in the IDE.
P5 Outline the coding
standard you have used in
your code.
M4 Evaluate how the
debugging process can
be used to help
develop more secure,
robust applications.
D4 Critically evaluate why a
coding standard is necessary
in a team as well as for the
individual.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
Discount

On special offer

Partial preview of the text

Download Evaluation of application design and implementation and more Assignments Computer Science in PDF only on Docsity!

Learning Outcomes and Assessment Criteria of the Module Pass Merit Distinction LO1 Define basic algorithms to carry out an operation and outline the process of programming an application P1 Provide a definition of what an algorithm is and outline the process in building an application. M1 Determine the steps taken from writing code to execution. D1 Examine the implementation of an algorithm in a suitable language. Evaluate the relationship between the written algorithm and the code variant. LO2 Explain the characteristics of procedural, object-orientated and event-driven programming, conduct an analysis of a suitable Integrated Development Environment (IDE) P2 Give explanations of what procedural, object- orientated and event- driven paradigms are; their characteristics and the relationship between them. M2 Analyze the common features that a developer has access to in an IDE. D2 Critically evaluate the source code of an application which implements the programming paradigms, in terms of the code structure and characteristics. LO3 Implement basic algorithms in code using an IDE P3 Write a program that implements an algorithm using an IDE. M3 Use the IDE to manage the development process of the program. D3 Evaluate the use of an IDE for development of applications contrasted with not using an IDE. LO4 Determine the debugging process and explain the importance of a coding standard P4 Explain the debugging process and explain the debugging facilities available in the IDE. P5 Outline the coding standard you have used in your code. M4 Evaluate how the debugging process can be used to help develop more secure, robust applications. D4 Critically evaluate why a coding standard is necessary in a team as well as for the individual.

Criteria Reference To achieve the criteria the evidence must show that the student is able to: Task No Evidence Page No P1 Provide a definition of what an algorithm is and outline the process in building an application.

P2 Give explanations of what procedural, object- orientated and event-driven paradigms are; their characteristics and the relationship between them.

P3 Write a program that implements an algorithm using an IDE.

P4 Explain the debugging process and explain the debugging facilities available in the IDE.

P5 Outline the coding standard you have used in your code.

M1 Determine the steps taken from writing code to execution.

M2 Analyze the common features that a developer has access to in an IDE.

M3 Use the IDE to manage the development process of the program.

M4 Evaluate how the debugging process can be used to help develop more secure, robust applications.

D1 Examine the implementation of an algorithm in a suitable language. Evaluate the relationship between the written algorithm and the code variant

D2 Critically evaluate the source code of an application which implements the programming paradigms, in terms of the code structure and characteristics.

D3 Evaluate the use of an IDE for development of applications contrasted with not using an IDE.

D4 Critically evaluate why a coding standard is necessary in a team as well as for the individual.

II

2.1 Explain procedural, object oriented and event driven programming paradigms. Your explanations should also include the characteristics of each. (Task covers LO2,P2) 2.2 Describe the relationship between procedural, object oriented and event driven paradigms. (Task covers LO2, P2) 2.3 Explain what an Integrated development environment (IDE) is. Give five(05) examples for IDEs. (Task covers LO2, M2) 2.4 Do a pair wise comparison of the features of the IDEs you’ve mentioned in 2.3. Analyze the common features that a developer has access to in all these IDEs. (Task covers LO2, M2) Task 3 The software development unit of the company you are currently working for have a position available for an application developer which you are interested in applying for. As part of the screening process they want to see if you can implement a system using an IDE. You have been asked to create a fully working application for a book shop as bellow.  The manager can insert, update and delete book details and data will be stored in the database.  When a customer comes to the shop then the manager can select the book which customer wants to buy among displaying books. Once he selects the book, book details will be display in a table. First you should create databases and add a table as bellow. Table name: Books  ISBN  Book_Name IV

 Author  Publisher  Price Then create interfaces according to above requirements. You are required to fulfil the following in terms of building the above application: 3.1. Use an Integrated Development Environment (IDE) of your choice to Implement the abovementioned application. Include source code and screen shots of the application. (Task covers LO3, P3) 3.2 Provide evidence of how the IDE was used to manage the development of your code. (Task covers LO3, M3) 3.3 What are the advantages of using IDE to implement such a system rather than not using an IDE. (Task covers LO3, D3) Task 4 4.1 Explain how debugging is carried out using the IDE that you used for developing your application (the debugging process). Describe the debugging facilities available in the IDE you used. (Task covers LO4, P4) 4.2 Do an evaluation of the debugging process in the IDE you used focusing on how it helped with the development of your application. You may discuss both positives as well as negatives (if any) (Task covers LO4, M4) 4.3 What are the coding standards used to implement above system? What is the importance of using coding standards when developing a system? (Task covers LO4, P5,D5) 4.4 Critically evaluate the source code that you wrote for the application in Task 03 in procedural, object orientated and event-driven programming viewpoints, V

Table of Contents

Introduction....................................................................................................................................................................... Task 1................................................................................................................................................................................. 1.1 Define what an algorithm is. Provide your answer with examples........................................................................... 1.2 Briefly describe phases in Software Development Life Cycle (SDLC) and list down SDLC models............................ 1.3 Determine the steps taken from writing code to execution including the process of programme execution....................................................................................................................................................................... 1.4 What is the purpose of writing an algorithm? How you are going to implement a given algorithm using a programming language. Explain your answer with suitable examples.............................................. Task 2................................................................................................................................................................................. 2.3 Explain what an Integrated development environment (IDE) is. Give five (05) examples for IDEs................................................................................................................................................................................ 2.4 Do a pair wise comparison of the features of the IDEs you’ve mentioned in 2.3. Analyze the common features that a developer has access to in all these IDEs................................................................................ Task 3................................................................................................................................................................................. 3.1. Use an Integrated Development Environment (IDE) of your choice to Implement the above mentioned application................................................................................................................................................... Include source code and screen shots of the application.............................................................................................. 3.3 What are the advantages of using IDE to implement such a system rather than not using an IDE.................................................................................................................................................................................. Task 4................................................................................................................................................................................. 4.1 Explain how debugging is carried out using the IDE that you used for developing your application (the debugging process). Describe the debugging facilities available in the IDE you used............................................................................................................................................................................... 4.2 Do an evaluation of the debugging process in the IDE you used focusing on how it helped with the development of your application. You may discuss both positives as well as negatives (if any) ....................................................................................................................................................................................... 4.3 What are the coding standards used to implement above system? What is the importance of using coding standards when developing a system?...................................................................................................... 4.4 Critically evaluate the source code that you wrote for the application in Task 03................................................... in procedural, object orientated and event-driven programming viewpoints,.............................................................. paying attention to the code structure and characteristics........................................................................................... References......................................................................................................................................................................... Introduction Modern computers without software are just sophisticated machines that convert electricity into heat. It's software on your computer, it runs on your operating system, browser, email, games, movie player everything.

An algorithm is a step-by-step procedure, which defines a set of instructions to perform a specific task and procedure for solving problems. This is a simple process for doing calculations, data process & programming. Search engines use proprietary algorithms to show the most relevant results in their search index for specific queries. Algorithms can create as functions. These functions serve as small programs that can be redirected to a larger program. For example, an image viewing application may include a library of functions that use a custom algorithm to present different image file formats. An image editing program may contain an algorithm designed to process image data. Examples of image processing algorithms include cultivation, resizing, sharpening, blurring and color enhancement. The Categories of Algorithms are;  Search – Finding an item in a data structure.  Sort – Sorting items in a particular list  Insert – Insert an item into a structure  Update −Update an existing item from data structure.  Delete − Delete an existing item from a data structure. Find the average of 3 numbers Steps; 1. Start

  1. Declare the values of X, Y, Z
  2. S = X+ Y + Z
  3. A = S/
  4. Value of A
  5. Stop Find the sum of two numbers Steps; 1. Start
  6. Input the first number A
  7. Input the second number B
  8. Sum = A + B
  9. Display Sum
  1. Stop Find the smallest number from two numbers Steps; 1. Start
  2. Input two numbers as NUM1, NUM
  3. IF NUM1 < NUM THEN print smallest is NUM ELSE Print smallest is NUM ENDIF
    1. Stop 1.2 Briefly describe phases in Software Development Life Cycle (SDLC) and list down SDLC models Software Development Life Cycle The Software Development Life Cycle is a standard process that implement a high quality software within a lowest budget in the shortest possible time period. This Cycle provides a well- known structured flow of phases that help to the organization to quickly produce high- quality, user friendly software which is finalized and ready for production use.

Requirement analysis is the most important and basic stage of SDLC. It is done by senior members of the team with the applications of customer, sales department, market surveys, and industry domain specialists. This information is then used to design the initial project approach and to conduct a product feasibility study in the economic, operational, and technical fields. Analysis Gathering requirements are done in this phase. Mainly focus on the meetings with project managers, stakeholders, and users to get the relevant data as possible for analysis. After requirement gathering, these requirements are analyzed for their validity and the possibility of implementing the required system. The developers and product managers working together in this stage with relevant stakeholders. Design Once the analysis is done we can prepare a Software Requirement Specification document. And it is the reference for the product as well. Based on the requirements specified in the Software Requirements Specification, more than one design method is generally suggested for product architecture. The logical plan produced during the analysis is transformed into a physical plan a detailed description of what is needed to solve the original problem. Through this phase the developers can create the sample module and interpret how the software is going to work, how it looks and how the data use and store for the end users. Implementation In this stage, the exact development begins and the product is built and the developers are the ones who involve this stage mostly. They can use a high-level programming language such as C, C++, Pascal, Java, and PHP are used for coding. The code is generated as in the design. If the design is performed in a detailed and organized manner, code generation can be implemented without any doubts.

While coding the developers should follow the guidelines and use programming tools such as compilers, interpreters, debuggers, etc. And they can implement and test while developing. Developers will have a working feature to share with customers by the end of this stage. Testing and Integration This stage is usually a subset of all stages, as in modern SDLC models, and test activities are often involved in all stages of SDLC. However, this phase is only the testing phase of the product where product defects are reported, tracked, stabilized, and re-tested until the product meets the quality standards defined in the SRS. After the code is generated, the specifications are tested against the specifications to ensure that the product addresses the guided and guessed needs at the point of need. At this stage, several tests such as unit tests, integration tests, system tests, and approved tests are performed. The key people involved in this case are the investigators. They often expect clarification from developers or product owners. During the software testing phase, testers check for the following:  Quality of code  Code that code meets the requirements  Code That code is active  Safety Evidence from Safety Development Principals Software test output is a better solution that meets unique opportunities and user needs. Developers cannot code for every event; The fresh perspective brought to the test helps. Once the software is approved, it will be deployed once no bugs or errors have been confirmed. Then, based on the estimate, the software provides the object segment or with the proposed enhancements. Once the software is deployed, its feeding begins. At this stage, the source code will be reviewed for error checking as well  Syntax errors  Runtime errors

Writing Code Computer code is a list of instructions that a program can execute. Most codes consist of plain-text documents that can be used for a variety of programs. The document is given a unique file extension to indicate the nature of the code. For example, a file created using Python is saved with a .py extension such as 'myprogram.py'. However, the actual contents of the file are still plain text. Since most codes are in plain text, you can write code using a keyword processor or text editor. However, it is more effective to use a software application specifically designed for encoding a specific language. For example, when you write a document in plain English, you will use word processing software that can help you with things like formatting, spelling, and grammar. Similarly, a code editor provides tools such as Syntax testing. The syntax is the coding of what spelling and grammar are used to write English. Syntax A very useful feature of the IDE is called syntax highlighting. This means that the elements of the code are represented in different colors based on them. Color makes it easy to identify different elements of the code. Syntax highlighting makes the code easier to read. However, it does not change the true meaning of the code and is only for human beings. IDE includes tools for checking syntax, similar to checking grammar and spelling. If there are syntax errors in the code, the program simply will not run. The IDE identifies exactly where the syntax errors are. Most IDEs also have some form of auto-complete system. You may be familiar with this if you are texting from a smartphone. When you start typing, the program will determine what you are trying to type. For example, if you type 'pr', IDE suggests 'printing'. Auto-completion of the IDE usually provides not only the most likely option but also a list of options to choose from. This saves on typing and reduces typing. Self-completion in an encoding environment is also known as intelligent code completion.

1.4 What is the purpose of writing an algorithm? How you are going to implement a given algorithm using a programming language. Explain your answer with suitable examples. A finite set of steps to solve any problem is called an algorithm. An algorithm usually develops before true encoding is performed. It is written in English, such as Language, and is easily understood by non-programmers. Writing an Algorithm to Solve a Problem Gives These Advantages -  Promoting effective communication between members and team members  The problem enables close-up analysis  Acts as a plan for coding  Support for de-clearance  Maintenance becomes part of the software documentation for future reference during the maintenance phase These are the characteristics of a good and accurate algorithm -  There is an input set  The steps are uniquely defined  There are a limited number of steps  Desired produces the desired output When we tell the computer what to do, we also tell the computer how to do it. This is where the role of computer algorithms comes into play. An algorithm is a basic technology that we use to tell a computer how to do things. Algorithm and the Code An algorithm is a set of steps used to solve a problem, complete a task, or perform a calculation. Algorithms are usually executed by computer programs, but the term also applies to steps in domains such as mathematics to solve human problems. A code is a series of steps that can be executed by machines. In most cases, the code is in a high-level language that automatically translates into machine-understood instructions. The term algorithm is traditionally used to describe highly optimized code, such as a well- accepted solution to a complex problem in computer science. This application suggests code with a solid design that solves a serious problem.

For example, if you use a bubble sorting algorithm to sort an entire list of 300,000, it would take about 9 minutes to complete. You can only understand these types of performance variants if you really understand the algorithm classification. Some of Sorting Algorithms are,  Selection Sort  Bubble Sort  Insertion Sort  Merge Sort Selection Sort Consider the following Array as an Example; The whole list is scanned sequentially. The first position where 14 is stored presently, and find that 10 is the lowest value. Here replace 16 with 10. After one iteration 10, which happens to be the minimum value in the list, appears in the first position of the sorted list.

For the second position, where 30 is residing, we start scanning the rest of the list in a linear manner. We find that 16 is the second lowest value in the list and it should appear at the second place. We swap these values. After two iterations, two least values are positioned at the beginning in a sorted manner The same process is applied to the rest of the items in the array. Following is a pictorial depiction of the entire sorting process