0% found this document useful (0 votes)
14 views

Programming brief Lo1 & Lo2

Uploaded by

osamaanwar90
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Programming brief Lo1 & Lo2

Uploaded by

osamaanwar90
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

ASSIGNMENT BRIEF

QUALIFICATION UNIT NUMBER AND TITLE


PEARSON BTEC HND IN COMPUTING (RQF) 01. PROGRAMMING (LEVEL 4)
INTERNAL VERIFIER UNIT TUTOR
MARIAM QASIM
DATE ISSUED SUBMISSION DATE RESUBMISSION DATE
THURSDAY, 14TH SEPTEMBER 2023

ASSIGNMENT TITLE ALGORITHMS AND PROGRAMMING PARADIGMS

LEARNING OUTCOME AND ASSESSMENT CRITERIA


PASS MERIT DISTINCTION
LO1 DEFINE BASIC ALGORITHMS TO CARRY OUT AN OPERATION AND OUTLINE THE PROCESS OF PROGRAMMING AN APPLICATION
P1 DEFINE AN ALGORITHM AND OUTLINE D1 EVALUATE THE IMPLEMENTATION OF
THE PROCESS IN BUILDING AN M1 ANALYSE THE PROCESS OF WRITING AN ALGORITHM IN A SUITABLE LANGUAGE
APPLICATION. CODE, INCLUDING THE POTENTIAL AND THE RELATIONSHIP BETWEEN THE
P2 DETERMINE THE STEPS TAKEN FROM CHALLENGES FACED. WRITTEN ALGORITHM AND THE CODE
WRITING CODE TO EXECUTION. VARIANT.
LO2 EXPLAIN THE CHARACTERISTICS OF PROCEDURAL, OBJECT-ORIENTATED AND EVENT-DRIVEN PROGRAMMING
D2 CRITICALLY EVALUATE THE SOURCE
P3 DISCUSS WHAT PROCEDURAL, OBJECT M2 COMPARE THE PROCEDURAL, OBJECT- CODE OF AN APPLICATION WHICH
ORIENTATED AND EVENT DRIVEN ORIENTATED AND EVENT DRIVEN IMPLEMENTS THE PROCEDURAL, OBJECT-
PARADIGMS ARE; THEIR CHARACTERISTICS PARADIGMS USED IN GIVEN SOURCE CODE ORIENTED AND EVENT-DRIVEN
AND THE RELATIONSHIP BETWEEN THEM. OF AN APPLICATION. PARADIGMS, IN TERMS OF THE CODE
STRUCTURE AND CHARACTERISTICS.

SUBMISSION FORMAT
THIS ASSIGNMENT COVERS LEARNING OUTCOME 1 AND 2.
THE SUBMISSION IS IN THE FORM OF A TECHNICAL REPORT AND A POWERPOINT PRESENTATION:
 A DETAILED REPORT AND A 20-25 SLIDE PRESENTATION WITH SPEAKER NOTES TO BE PRESENTED TO YOUR MANAGER.

THE REPORTS SHOULD BE WRITTEN IN A CONCISE, FORMAL BUSINESS STYLE USING SINGLE SPACING AND FONT STYLE TIMES NEW ROMAN AND SIZE
11. YOU ARE REQUIRED TO MAKE USE OF HEADINGS, PARAGRAPHS AND SUBSECTIONS AS APPROPRIATE, AND ALL WORK MUST BE SUPPORTED WITH
RESEARCH AND REFERENCED USING THE HARVARD REFERENCING SYSTEM. PLEASE ALSO PROVIDE A BIBLIOGRAPHY USING THE HARVARD REFERENCING
SYSTEM. THE RECOMMENDED WORD LIMIT IS SPECIFIED.

THE PRESENTATION SLIDES (20-25) SHOULD BE SUBMITTED WITH SPEAKER NOTES AS ONE COPY. YOU ARE REQUIRED TO MAKE EFFECTIVE USE OF
POWERPOINT HEADINGS, BULLET POINTS AND SUBSECTIONS AS APPROPRIATE. YOUR RESEARCH SHOULD BE REFERENCED USING THE HARVARD
REFERENCING SYSTEM. THE RECOMMENDED WORD LIMIT IS 2500-3000 WORDS. HOWEVER, YOU WILL NOT BE PENALISED UPON EXCEEDING THE
WORD LIMIT. PROVIDE ‘PRESENTATION EVALUATION’ AFTER PRESENTING THE WORK TO DOCUMENT YOUR EXPERIENCE, QUESTIONING SESSION AND
TEACHER’S FEEDBACK OF THE PRESENTATION.

YOU SHOULD SUBMIT YOUR PLAGIARISM REPORT ALONG WITH YOUR SUBMISSION. NO WORK WILL BE CONSIDERED IF IT CONTAINS PLAGIARISM
MORE THAN THE ACCEPTABLE LEVEL DEFINED AS PER ICMS’S PLAGIARISM POLICY.

ASSIGNMENT SCENARIO AND GUIDANCE


SCENARIO
XiSYS Consulting Private Limited is extending its business operations in pakistan and is looking to build a team of fresh
graduates who are good with algorithms in the programming domain. They are looking for enthusiastic and exceptional C/C++
developers to join our team! As a C/C++ Developer, they will be responsible for developing modules that integrate into the
Linux operating systems/operating system modules, or low-level libraries for communication with Server-Side Web APIs.
You will be in your probationary phase in the beginning where your performance will be judged based on two tasks which are
explained below. As of now, you are required to produce a detailed report and presentation on each one of them, highlighting
their critical areas of operation.
If you do well, you are in an ideal position to score a permanent position with the company.
PART A – (LO1) – GUIDANCE

ACTIVITY 1: BASICS ALGORITHMS


In this section, you are required to provide information on the following:
 You will review the various definitions of algorithms and come up with the most suitable one that you deem fit, along
with a supporting explanation of your choice. You should also define the role and process of algorithms in designing
and programming an application with the help of an example and discuss at least two commonly used algorithms in
the programming domain, for example Bubble Sort, Quick Sort, Binary Search etc., with respect to its purpose and
operation with the help of pictorial illustrations.
 Explain the developmental step of writing a code all the way to its execution.You should highlight the steps of
application development, from writing an algorithm to code generation and its execution.You are required to conduct
a detail analysis on the code development and its process, along with potential issues faced by the developer. You
may include an explanation of the role of compilers, debuggers, loaders, and executors while outlining your steps.
 Provide an evaluation of a written algorithm and its code. It would help if you relate the algorithm with its
corresponding code so that it encomposes the details of the written algorithm and its implementation in a suitable
language (Java or C++) and a detailed evaluation of the output expected from the algorithm and the actual output
received from the code. You may use any example of your own choice. However, Appendix A includes an example for
your assistance.
PART B – (LO2) – GUIDANCE

ACTIVITY 2: PROGRAMMING PARADIGMS


In this section, you are required to explore the different programming paradigms, Object Oriented, Event Driven and Procedural
Programming, and provide information on the following:
 Explore the different programming paradigms, Object Oriented, Event Driven and Procedural Programming, and
provide a detailed explanation of their characteristics, benefits, and drawbacks. You are required to support your
explanation with relevant code examples and illustrations. You may also include how these paradigms relate to each
other through a comprehensive comparison and contrast of the different paradigms.
 You are required to use an example of an application for the three programming paradigms and critically evaluate it in
terms of its code structure, characteristics and operation. An example has been provided in Appendix B for your
assistance.

EVIDENCE CHECKLIST SUMMARY OF EVIDENCE REQUIRED BY STUDENT


PART A AND B TECHNICAL REPORT (2500-3000 WORDS).
Appendix A

Linear Search Algorithm Linear Search Code in C++


#include < iostream >
1. We are given with an input using namespace std;
array
quickSort(arr, beg, end)
2. Choose pivot, here we are if (beg < end)
choosing the last element as pivotIndex = partition(arr,beg,
our pivot end)
3. Now partition the array as per quickSort(arr, beg, pivotIndex)
pivot quickSort(arr, pivotIndex + 1,
end)
4. Keep a partitioned index say p
and initialize it to -1 partition(arr, beg, end)
5. Iterate through every element set end as pivotIndex
in the array except the pivot pIndex = beg - 1
6. If an element is less than the for i = beg to end-1
pivot element then increment if arr[i] < pivot
swap arr[i] and arr[pIndex]
p and swap the elements at pIndex++
index p with the element at swap pivot and arr[pIndex+1]
index i. return pIndex + 1
7. Once all the elements are
traversed, swap pivot with
element present at p+1 as
this will the same position as
in the sorted array
8. Now return the pivot index
9. Once partitioned, now make 2
calls on quicksort
10. One from beg to p-1
11. Other from p+1 to n-1
12. STOP
Appendix B
CALCULATE FACTORIAL OF A NUMBER

Procedural Programming Object-Oriented Programming Event-driven Programming

#include <iostream> #include<iostream>


using namespace std; #include<conio.h>
int main()
{ using namespace std;
int n, i, m=0,
flag=0; // Class Declaration
cout << "Enter the
Number to check Prime: class prime {
";
int a, k, i; namespace Prime_app
cin >> n;
public: {
m=n/2;
prime(int x) { public sealed partial class MainPage : Pa
for(i = 2; i <= m; i+
ge
+) a = x;
{
{ }
public MainPage()
if(n % i == 0) {
{ void calculate() {
this.InitializeComponent();
cout<<"Number k = 1;
}
is not Prime."<<endl; { protected override void OnNavigated
flag=1; for (i = 2; i <= a / 2; i+ To(NavigationEventArgs e)
break; +) {
} if (a % i == 0) { }
} k = 0; private void Button1_click(object sen
if (flag==0) break; der, RoutedEventArgs e)
cout << "Number } {
is Prime."<<endl; else { int num= Convert.ToInt32(Textbox
return 0; k = 1; 1.Text);
} // Check from 2 to n-1
} } for (int i = 2; i < num; i++)
} if (num % i == 0)
{
void show() { text2.Text = fact.ToString();
if (k == 1) }
cout << "\n" << a << " is }
Prime Number."; }
else
cout << "\n" << a << " is
Not Prime Numbers.";
}
};

int main() {
int a;
cout << "Enter the
Number:";
cin>>a;

// Object Creation For


Class

prime obj(a);

// Call Member
Functions
obj.calculate();
obj.show();
getch();
return 0;
}

You might also like