# Mathematics for Software Development

## Scenario

The Central Bureau of Statistics (CBS) established under the statistics act in 1959 is the central agency for the analysis, collection, consolidation, publication and dissemination of statistics. It is under the National Planning Commission Secretariat (NPCS) and serves as a national statistical organization of Government of Nepal.

The primary operation of CBS is to generate timely and socio-economic statistics mainly through the operation of censuses and surveys. The statistical units in various government departments and bureau are responsible for statistics for dedicated use in their respective work and provide necessary support in the application of statistics.

The work of CBS can be classified into three categories:

- Conducting statistical surveys and operating statistical systems for the production of social and economic statistics including data series on such areas as population, external trade, commerce and industry, labor, prices, national income and Balance of Payments;
- Performing statistical analysis and disseminating statistical data and analytical results; and
- Providing consultation and support services on statistical matters to various government departments.
- Solving various sophisticated calculation problems, supervised by a team of mathematical experts, by simple process and implementation of those processes.

But the organization has now undertaken the decision to solve some complex mathematical problems through the use of programming techniques. So, you have been hired as a junior IT engineer to solve some complex mathematical problems exhibiting the use of algorithms and the programming techniques. Based upon your role, you are required to perform the following task.

**In order to meet the requirement, you are asked to do the tasks below.**

### Part A

Task 1

**Design a** programming solution to given algebraic problems. **[1.1, M2]**

- Linear equation in three variables.
- Quadratic equations involving real roots

**Consider:** You are required to design the programming solution, pseudo-code, flowchart, algorithm, illustration of validations performed and a detailed background study on each topic. Also consider theoretical examples

**In order to achieve M2**, your report needs to demonstrate **that a range of methods and techniques have been used** when designing the given programming solutions.

Task 2

**Design a** programming solution to the given geometric problems. [1.2, M1]

*1. Area of a triangle*

- a. When all the sides of the triangle are given.
- b. When the base and the height of the triangle are given assuming that the triangle is a right angled triangle.

*2. Circle Problems*

You will take an input, r or d, as standard input for radius and diameter respectively. Your program must output a number C, which is the circumference of the circle as well as a number A which is the area of the circle. Below listed are some rules which you must follow in order to complete this task

**Note**: *You cannot hard code r or d and you must explicitly state if you take radius or diameter*

**Consider:** Your program must be able to compile reverse calculations i.e. (take circumference and calculate radius / diameter). Also, consider pseudo-code, flowchart, algorithm, illustration of validations and a detailed background study.

**In order to achieve M1**, your report must demonstrate **that an effective approach to study and research has been applied to** while designing the given programming solution.

Task 3

**Implement** code that presents a range of vectors for the following problems [1.3, M3]

- Calculate dot product of two vectors.
- Demonstrate through programming, the use of vector addition, subtraction and multiplication by adding, subtracting and multiplying two given vectors in x, y, z coordinates.
- Implement the code to calculate the scalar multiplication of a given vector. In this problem, the constant used as scalar must be user defined along with the coefficient of the vector.

**In order to achieve M3**, your work needs to demonstrate **that the appropriate structure and approach has been used** while implementing the code for the given vectors problems.

Task 4

**Explain** how relations link to technologies used in programming **[2.1]**

**Consider:** Relations such as domains, Cartesian products, unions etc.

Task 5

**Design a** programming solution to solve given matrix manipulation problems [2.2]

- Check to see if given two matrices are identical
- Find the transpose of a given matrix
- Subtract two given matrices
- Add two given matrices
- Multiply two given matrices
- Find the inverse of a matrix

**Consider:** Theoretical examples of each, pseudo-code, flowchart, algorithm, detailed background study and simple manual testing.

In order to achieve a **Distinction**, the learner must:

**In order to achieve D1**, you need to demonstrate and write a few paragraphs that the validity of the results has been judged in tasks 2 and 5. Also, you need to justify that the end results have been checked for accuracy.

**In order to achieve D2**, you will provide evidence that you have taken responsibility for planning, managing and organizing activities while doing tasks 1 to 5. The evidence will show how you have planned, organized and managed the activities.

**To order to achieve D3**, you will provide written evidence which shows that you have applied creative thinking and have taken self-evaluation while doing tasks 4.

### Part B

Task 6

**Discuss** the application of set theory in computing. **[3.1, M1]**

**Consider**: Your discussion must include at least two practical applications of set theory in computing.

**In order to achieve M1**, your writing must demonstrate **that an effective approach to study and research has been applied** to while discussing the applications.

Task 7

**Design** a programming solution to a given propositional calculus problem **[3.2, M2]**

Construct truth table for

- a. Negation
- b. Conjunction
- c. Disjunction
- d. Conditional
- e. Bi-conditional

**Consider**: Background theory, table generation of results, theoretical examples, pseudo code, algorithm, illustration of validations performed and flowchart.

**Note**: The table so generated should be neat. The columns for the statements and the resulting conclusion should be well separated.

**In order to achieve M2**, your report needs to demonstrate **that a range of methods and techniques have been used** when designing the given programming solutions.

Task 8

**Design a** programming solution to solve the given statistical analysis technique. [4.1, M3]

Statistical analysis technique consists of mean, mode, median and standard deviation to name a few. Below given is a scenario where you are required to design a programming solution based on this scenario using the appropriate analysis technique.

**Scenario**: Input the data for employees working at a particular apparel house. The data must consist of employee’s name, id, salary and sales of the last six months. You are required to compute the mean, median and mode of the data(s) so entered. Furthermore, the following data must be computed

- The standard deviation of the total sales
- The frequency of each sales showing which employee sold the most number of items

**Note**: The data(s) entered must be dynamic and must be stored onto a database

**Consider**: Data description, pseudo-code, flowchart, algorithm, validation applied and SQL queries (if used).

**In order to achieve M3**, your work needs to demonstrate that **the appropriate structure and approach has been used** while designing the solution for the given statistical problem.

In order to achieve a **Distinction**, the learner must:

**In order to achieve D1**, you need to demonstrate and write a few paragraphs that the validity of the results has been judged in tasks 7 and 8. Also, you need to justify that the end results have been checked for accuracy.

**In order to achieve D2**, you will provide evidence that you have taken responsibility for planning, managing and organizing activities while doing tasks 6 to 8. The evidence will show how you have planned, organized and managed the activities.

**To order to achieve D3**, you will provide written evidence which shows that you have applied creative thinking and have taken self-evaluation while doing tasks 6 and 7.

**Note**: All Merit and Distinction criteria are qualitative extension of assessment criteria for pass. Refer the unit details provided in your handbook when responding all the tasks above. Make sure that you have understood and developed your response that matches the highlighted key words in each task.

### Other Requirements:

- It should be the student’s own work – plagiarism is unacceptable.
- Clarity of expression and structure are important features.
- Your work should be submitted as a well presented, word-processed document with headers and footers, and headings and subheadings, both in hard and soft copies.
- You are expected to undertake research on this subject using books from the Library, and resources available on the Internet.
- Any sources of information should be listed as references at the end of your document and these sources should be referenced within the text of your document using Harvard referencing style
- Your report should be illustrated with screen-prints, images, tables, charts and/or graphics.
- All assignments must be typed in Times New Roman, size 12, 1½ spacing.