Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
97 views

Programming Assignment - LO1 & LO2

The document provides guidance for an assignment on algorithms and programming paradigms. It outlines two parts - Part A focuses on basic algorithms and requires defining algorithms, outlining the application development process, and evaluating an algorithm's code. Part B examines programming paradigms like procedural, object-oriented, and event-driven programming and requires explaining their characteristics, comparing and contrasting them, and evaluating example applications using each paradigm. Appendices provide example algorithms and applications to assist with the assignment.

Uploaded by

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

Programming Assignment - LO1 & LO2

The document provides guidance for an assignment on algorithms and programming paradigms. It outlines two parts - Part A focuses on basic algorithms and requires defining algorithms, outlining the application development process, and evaluating an algorithm's code. Part B examines programming paradigms like procedural, object-oriented, and event-driven programming and requires explaining their characteristics, comparing and contrasting them, and evaluating example applications using each paradigm. Appendices provide example algorithms and applications to assist with the assignment.

Uploaded by

Hassan Malik
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

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
12 SEPTEMBER 2022 12 DECEMBER 2022 19 DECEMBER 2022

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
D1 EXAMINE THE IMPLEMENTATION OF AN
P1 PROVIDE A DEFINITION OF WHAT AN
M1 DETERMINE THE STEPS TAKEN FROM WRITING ALGORITHM IN A SUITABLE LANGUAGE. EVALUATE
ALGORITHM IS AND OUTLINE THE PROCESS IN
CODE TO EXECUTION. THE RELATIONSHIP BETWEEN THE WRITTEN
BUILDING AN APPLICATION.
ALGORITHM AND THE CODE VARIANT.

LO2 EXPLAIN THE CHARACTERISTICS OF PROCEDURAL, OBJECT-ORIENTATED AND EVENT-DRIVEN PROGRAMMING


D2 CRITICALLY EVALUATE THE SOURCE CODE OF AN
P2 GIVE EXPLANATIONS OF WHAT PROCEDURAL,
M2 COMPARE AND CONTRAST THE PROCEDURAL, APPLICATION WHICH IMPLEMENTS THE
OBJECT-ORIENTATED AND EVENT-DRIVEN
OBJECT-ORIENTED AND EVENT-DRIVEN PARADIGMS PROCEDURAL, OBJECT-ORIENTED AND EVENT-
PARADIGMS ARE; THEIR CHARACTERISTICS AND THE
USED IN GIVEN SOURCE CODE OF AN APPLICATION. DRIVEN PARADIGMS, IN TERMS OF THE CODE
RELATIONSHIP BETWEEN THEM.
STRUCTURE AND CHARACTERISTICS.

SUBMISSION FORMAT
THE SUBMISSION IS IN THE FORM OF A DETAILED DOCUMENT 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

A TOP TIER INTERNATIONAL SOFTWARE HOUSE IS EXTENDING THEIR BUSINESS OPERATIONS IN PAKISTAN AND IS LOOKING TO BUILD A TEAM OF FRESH GRADUATES
WHO ARE GOOD WITH ALGORITHMS IN THE PROGRAMMING DOMAIN. ICMS HAS PITCHED THEIR FRESH GRADUATES TO THEM AND THIS IS A GOLDEN CHANCE
FOR YOU TO PROVE YOURSELF IN THE FIELD OF PROGRAMMING AND KICK START YOUR CAREER WITH A UNIQUE OPPORTUNITY BY WORKING FOR A
MULTINATIONAL SOFTWARE HOUSE WITH INTERNATIONAL CLIENTS.
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 OUTLINE THE ROLE AND USE 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.
▪ YOU SHOULD HIGHLIGHT THE STEPS OF APPLICATION DEVELOPMENT, FROM WRITING AN ALGORITHM TO CODE GENERATION AND ITS EXECUTION.
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). PRESENTATION WITH SPEAKER NOTES.
Appendix A

Linear Search Algorithm Linear Search Code in C++


#include < iostream >
1. Take the input array arr[] from user. using namespace std;
2. Take element(x) you want to search in void linearSearch(int a[], int n) {
int temp = -1;
this array from user. for (int i = 0; i < 5; i++) {
3. Set flag variable as -1 if (a[i] == n) {
4. LOOP : arr[start] -> arr[end] cout << "Element found at
1. if match found i.e position: " << i + 1 << endl;
arr[current_postion] == x then temp = 0;
▪ Print “Match Found at break;
}
position”
}
current_position. if (temp == -1) {
▪ flag = 0 cout << "No Element Found" <<
▪ abort endl;
5. After loop check flag variable. }
1. if flag == -1 }
▪ print “No Match
int main() {
int arr[5];
Found” cout << "Please enter 5 elements
6. STOP of the Array" << endl;
for (int i = 0; i < 5; i++) {
cin >> arr[i];
}
cout << "Please enter an element
to search" << endl;
int num;
cin >> num;
linearSearch(arr, num);
return 0;
}
Appendix B
CALCULATE FACTORIAL OF A NUMBER

Procedural Programming Object-Oriented Programming Event-driven Programming

#include<iostream> #include<iostream>
using namespace std; using namespace std;

int factorial(int n); class Test {


namespace Factorial_app
int main() public:
{
{ int factorial(int x) {
int i, f = 1; public sealed partial class MainPage : Page
int n;
for (i = 1; i <= x; {
cout << "Enter a i++) { public MainPage()
positive integer: "; f = f*i; {
cin >> n; } this.InitializeComponent();
return f; }
cout << "Factorial } protected override void OnNavigatedTo(Na
of " << n << " = " << }; vigationEventArgs e)
factorial(n);
{
int main() {
return 0; }
} int x, f; private void Button1_click(object sender, Ro
utedEventArgs e)
int factorial(int n) cout << "Enter a {
{ number:"; int num= Convert.ToInt32(Textbox1.Text);
if(n > 1) cin >> x; int fact = 1;
return n * for (int i = num; i > 0; i--)
factorial(n - 1); Test obj;
{
else f = obj.factorial(x);
fact = fact * i;
return 1;
} cout << "Factorial is:" }
<< f; text2.Text = fact.ToString();
}
return 0; }
} }

https://www.c-
sharpcorner.com/UploadFile/8ea152/get-
factorial-in-windows-store-app/

You might also like