ICON College of Technology and Management
BTEC HND in Computing and Systems Development
(CSD)
Unit18: Assignment: Procedural Programming (L4)
Session: September 2013
Coursework
Word limit: maximum 3,000
This Unit will be assessed by assignment and Presentation
You are strongly recommended to read “Preparation guidelines of the Coursework
Document – section 3” before answering your assignment.
Physical Exercise Progress Tracker
This assignment brief requires the student to produce a menu driven console application. The
program is structured so that it tests the students’ knowledge in various areas of structured
programming using C#. Each student is expected to produce a single program and hand in a printed
copy of the code as part of the final assignment report. All program test output screens must be
included in the report. Finally, the student will demonstrate a working program in class for oral
examination within Microsoft Visual C# 2010/2012 express edition environment.
Scenario
WANT TO HAVE A PROFESSIONAL WRITER WORK ON THIS PAPER? CLICK HERE TO ORDER THIS PAPER
You are required to design, implement, test and document a program which will aid monitoring your
periodic progress in the gym. The program shall have a menu system consisting of:
1. Sign in
2. Sign up
3. Exit
Once logged in successfully (login details are saved in a file), the user shall be directed to the main
menu with the following options to direct the flow of the program.
1. Read previous history (shall be one week data)
2. Enter New (today’s body weight, exercise types and the respective sets and reps to be
saved to a file)
3. Show overall Progress Summary (include reps/sets/body weight/load etc.)
3. Sign out
N.B. If signing in fails, the user shall be prompted to enter details again or register as a new user
using the signup process. All data shall be stored in a file system.
TASK 1: Understand the principles of Procedural Programming
Write a one page introduction to discuss your own understanding of the principles, characteristics
and features of procedural programming and why you think it is important step in learning further
Department of Information Technology Page 2 of 7
programming skills. Highlights its benefits in code readability, usability, maintenance and error
tracking.
TASK 2: Design Procedural Programming Solutions
You are required to develop an Algorithm using pseudo code and Flowcharts using the standard Signs
and Symbols to show the Algorithm’s different Functions and the Functions’ inter‐connectivity as
well as to show the Algorithm’s Logical working Flow. ‘Divide’ the Algorithm into simple action steps.
Then, decide which of the actions should be grouped together and which should be individually
written into Functions. Based on the Algorithm’s Logical working Flow arrange the order of the
Functions to be called in the main() Function of the Program and decide on their individual and
shared parameters.
Each method should have its own pseudocode and flowchart in addition to the overall pseudocode
and flowchart. Discuss the benefits of pseudocode and flowcharts.
TASK 3: Implement Procedural Programming Solutions
You are required to implement the developed Algorithm and drawn Flowchart into C# Program Code
using MS Visual Studio Express 2010/2012.
You are expected to use all the programming skills you have learned in this module including arrays
and user functions as well as built‐in I/O Standard Library or other Functions for allowing the
program User to Input the Menu Choice from the Keyboard.
TASK 4: Test Procedural Programming Solutions
The Test part of the assignment consists of taking Print Screens using ALT+PrintScrn Keyboard
buttons and saving them in the main assignment Report of the Program’s Console demonstrating the
following:
Every aspect of the program implemented should be tested and the outcome compared against the
design specification.
Special care should be taken to eliminate all the Logical Errors of the implemented Algorithm. In
effect, extensive Testing is needed to be done. Good examples of “Worst Case Scenarios”
demonstrating Logical Errors should be included in the assignment’s Report and how they are solved
(Debugged) in the Program Code. Extra care should be taken to include in the Program Code
appropriate “default” and “else” statements to avoid unpredicted Program States during running.
Testing of the written Program Code should eliminate any Semantic Errors by appropriate Debugging.
Include in the assignment’s Report examples demonstrating the difference between Syntax and
Semantic Errors in the written Program Code. Examples demonstrating how Semantic Errors may
occur in the written Program Code and how they were solved should be included in the assignment’s
Report.
Discuss about whitebox and blackbox testing, show debugging of errors (syntax/runtime/logical) by
example.
Department of Information Technology Page 3 of 7
Additional Specs, Hints & Good Programming Practices
The marking scheme for this coursework will assign marks for Functionality, Quality of Code,
Program Design, Style, Documentation and Working Binaries. Style and Documentation are
crucial – you must neatly comment your code.
Try and break the coursework down into do‐able chunks as identified by the task list. These
are distinct programs in the coursework, so try and modularise your effort – for instance ‐
first you need to set up the menu system and build functionalities of each menu item one by
one. This approach will help in the testing and debugging process of your code.
DEBUGGING HINT: Compile and test your program after every change, even if it was as
simple a change as adding a single line. This will allow you to find and fix errors early
before you write more code. This is another reason why you have to write the skeleton
program which runs first even if it does not do anything yet.
Your main program should have the following heading shown below. You must customise it
to your particular details.
/*************************************************************************************
About: This program is written as part of the fulfilment for the ‘put unit name here’
Course ‐ HND in ‘put your course here’ at Icon College, London.
Date : ‘Put date here’
By : Put your name here. Student ID: Put your student ID Here
*************************************************************************************/
Each function must have its own comment heading which describes exactly what the code
does as shown below as an example.
/*************************************************************************************
About: This program takes your date of birth as an input and returns your age.
*************************************************************************************/
In addition to the above, follow good programming practices. Below are some of the common good
practices generally accepted as industry standard and followed by those in industry who are using
programming in general and the C/C++/C#/Java in particular. You will get more marks for following
good programming practices. Some examples are given below.
When naming identifiers,
o Do not start with underscore (used for technical programming). e.g. _grades (this is
bad practice)
o Write single word variables in all lower case , e.g. int grades, roots;
o Space is not allowed in identifiers, e.g. ‘student grades’ is wrong! write this as
studenGrades or student_grades. Note the use of capitalisation or the underscore.
o Use CAPITAL LETTERS TO DECLARE CONSTANTS, e.g. SIZE = 100 or PI = 3.14;
o Start function names with capital letters. e.g. AverageGrades(). Spaces are not
allowed in function names. ‘Average Grades()’ is wrong. Use AverageGrades() or
Average_grades().
Make a habit of using Meaningful identifier and Function Names to make your code easier
for others to understand. Think about it, what does "g" mean? Is it grades, garbage, grave,
etc. Thus do not use cryptic identifier names, e.g. Use ‘grades’ to refer to student grades
rather than ‘g’. Similarly, use sensible function names. If you want to write a function that
assigns student’s grades, then call it StudentGrades(). Do not use your names or names of
your pets or any name that does not describe what the function does, but at the same time
do not use more than 3 words, i.e. do not use a sentence to name a function. e.g.
ThisIsMyAverageFunction() while syntactically correct is not good programming practice.
Department of Information Technology Page 4 of 7
Remember C# is case sensitive so ‘Grades’ and ‘grades’ are not the same as identifier names.
Thus be case and spelling consistent. Use an identifier name only once and spell it (upper
and lower case) the same way within your program.
Finally give the project a sensible name like E.g. Unit18_CW_ID3344
Presentation
As part of the overall assessment of this assignment, the students need to prepare an oral
presentation of their individual work. You will use power point presentation or similar presentation
package of your choice. The presentation will last no more than 10-15 minutes. You will be marked on
content, presentation style and clarity of delivery.
Relevant Information
1. Outcome of the Units
Outcomes Assessment criteria for pass To achieve each
outcome a learner must demonstrate
Questions
reflecting the
outcome
1. Understand the principles
of Procedural Programming
Discuss the principles, characteristics and
features of procedural programming
Task 1 &
WANT TO HAVE A PROFESSIONAL WRITER WORK ON THIS PAPER? CLICK HERE TO ORDER THIS PAPER
presentation
2. Design Procedural
Programming Solutions
Identify the program units and data and file
structures required to implement a given
design
Design a procedural programming solution
for a given problem
Task 2 &
presentation
3. Implement Procedural
Programming Solutions
Select and implement control structures to
meet the design algorithms
Correctly use parameter passing
mechanisms Implement a procedural
programming solution based on a prepared
design
Task 3 &
presentation
4. Test Procedural
Programming Solutions
Critically review and test a procedural
programming solution based on a prepared
design
Analyse actual test results against expected
results to identify discrepancies
Evaluate independent feedback on a
developed procedural program solution
and make recommendations for
improvements
Create onscreen help to assist the users of
a computer program
Task 4 &
presentation
Department of Information Technology Page 5 of 7
2. Grading Criteria for Merit and Distinction of this coursework
Merit (M1, M2, M3) Distinction (D1, D2, D3)
Descriptors Indicative characteristics Descriptors Indicative characteristics
Identify and apply
strategies to find
appropriate
solution
Pass requirements
achieved
effective judgement have
been made
complex problems with
more than one variable
have been explored
an effective approach to
study and research has
been applied
Use critical
reflection to
evaluate own work
and justify valid
conclusions
Pass and Merit
requirements achieved
Conclusions have been
arrived at through
synthesis of ideas and
have been justified
The validity of results has
been evaluated using
defined criteria
Self criticism of approach
has taken place
Realistic improvements
have been proposed
against defined
characteristics for success
Select/design and
apply appropriate
methods/techniqu
es
Relevant theories and
techniques have been
applied
A rang of methods and
techniques have been
applied
A range of sources of
information has been used
The selection of methods
and techniques/sources
has been justified
The design of methods and
techniques/sources has
been justified
Complex information/data
has been synthesised and
processed
Appropriate learning
methods/techniques have
been applied
Take responsibility
for managing and
organising
activities
Autonomy/independence
has been demonstrated
Substantial activities,
projects or investigations
have been planned,
managed and organised
Activities have been
managed
The unforeseen has been
accommodated
The importance of
independence has been
recognised and achieved
Present and
communicate
appropriate
findings
The appropriate structure
and approach has been
used
Coherent, logical
development of
principles/concepts for the
intended audience
A range of methods of
presentation has been
used and technical
language have been
accurately used
Communication has taken
place in familiar and
unfamiliar contexts
Communication is
Demonstrate
convergent/lateral/
creative thinking
Ideas have been generated
and decisions taken
Self evaluation has taken
place
Convergent and lateral
thinking have been applied
Problems have been
solved
Innovation and creative
though have been applied
Receptiveness to new
ideas is evident
Effective thinking has taken
place in unfamiliar contexts
Department of Information Technology Page 6 of 7
appropriate for familiar and
unfamiliar audiences and
appropriate media have
been used
3. Preparation guidelines of the Coursework Document
a. All coursework must be word processed.
b. Document margins must not be more than 2.54 cm (1 inch) or less than 1.9cm (3/4 inch).
c. Font size must be within the range of 10 point to 14 point including the headings and body text.
d. Standard and commonly used type face such as Times new Roman or Arial etc should be used.
e. All figures, graphs and tables must be numbered.
f. Material taken from external sources must be properly refereed and cited within the text using a
Harvard standard
g. Do not use Wikipedia as a reference.
h. Word limit must be strictly followed.
4. Plagiarism and Collusion
Any act of plagiarism or collusion will be seriously dealt with according to the regulations. In this
context the definition and scope of plagiarism and collusion are presented below:
Plagiarism is presenting somebody else’s work as your own. It includes copying information directly
from the Web or books without referencing the material; submitting joint coursework as an individual
effort.
Collusion is copying another student’s coursework; stealing coursework from another student and
submitting it as your own work.
Suspected plagiarism or collusion will be investigated and if found to have occurred will be dealt with
according to the college procedure. (For details on Plagiarism & Collusion please see the student
hand book)
5. Submission
a. Initial submission of coursework to the tutors is compulsory in each unit of the course.
b. Students must attach their initial feedback copy with their final submission of the coursework.
The exam office will not receive any final coursework without initial feedback.
c. Student must check their assignments on the College VLE site with plagiarism software TurnItIn
and obtain a certificate. The student soft copy of assignment should remain in the College VLE site.
c. All Final coursework must be submitted to the assigned person (not to the Tutor) and a receipt
must be obtained. Under no circumstances other College staffs accepts them.
d. The copy of the coursework submitted will not be returned to you after marking.
e. Any computer files generated such as program code (software), graphic files that form part of the
coursework must be submitted on a pen drive or CD together with the documentation.
f. The student must attach a copy of the question in between the cover page and the answer.
6. Good practice
a. Make backup of your work in different media (hard disk, floppy disk, memory stick etc) to avoid
distress for loss or damage of your original copy.
b. Make an extra hardcopy of your work submitted for your own reference or later use
7. Extension and Late Submission
a. If you need an extension for a valid reason, you must request one using a coursework extension
request form available from the college. Please note that the lecturers do not have the authority to
extend the coursework deadlines and therefore do not ask them to award a coursework extension.
The completed form must be accompanied by evidence such as a medical certificate in the event of
you being sick.
b. Late submission will be accepted and marked according to the college procedure. It is noted that
late submission may result in lower grade or rejection.
Department of Information Technology Page 7 of 7
8. Submission deadlines
Initial Submission 9 – 14 Dec. 2013
Feedback given 16 – 21 Dec. 2013
Final Submission 13 – 18 Jan. 2014
WANT TO HAVE A PROFESSIONAL WRITER WORK ON THIS PAPER? CLICK HERE TO ORDER THIS PAPER
No comments:
Post a Comment