Wednesday, 15 January 2014

Tips on how to write the report

Use this information in conjunction with the specific detail for some elements in this blog entry

For other details, look at the table in the Exam Booklet (U8 section of the ICT/Computing Intranet)
If you have any difficulties explaining specific programming details (ifs/ select case, for next etc...) look it up on the Internet or using the VB syntax guide (U8 section of the ICT/Computing Intranet)

Write about best program
When writing the report make sure you only talk about the best program you wrote, you can compare this with the first version (if you did two versions) in the evaluation.

Headings
Make sure you use the headings from the table in the Exam booklet, this will help the examiner see what you have written about

Organise using short paragraphs
Make sure under each heading you write about one thing at a time in separate paragraphs, for example each global storage should be talked about on its own, don't lump them together - this will make it clearer for the examiner.

Refer to the code
You must list or show a screenshot of the code you are referring to. e.g if you are talking about the global storage you created then show that in the code. If you have line numbers printed you can refer to that

Data types
Make sure you have explained all the data types for your storage (why single, string, integer, boolean where chosen)

Subroutines/Functions
If you have used parameters for your subroutines or functions (the bit in the brackets that allows you to pass a value to the subroutine/function then explain what the data type is (string, integer, single, boolean etc...) and the purpose of the parameter (what is it used for). Also show the code where the subroutine/function is called (run from) to show the parameter value being passed.

Functions
If you used a function, explain that it returns a value and explain what type (single, integer, string, boolean) of data it returns

Calculations
Make sure you always explain your calculations by showing the code and explaining what the code is doing, don't forget the = sign means store. e.g

ericsNumber = 10 * number this would multiply 10 the value of the variable number and store the results in the variable ericsNumber

Also make sure you explain code that is storing simple values into your local or global variables

Input code
Make sure you explain clearly any code responsible for taking input from the user, explain where the input is stored.

Output code
Make sure you explain how output is displayed, is this by storing text in the text property of a label, or showing a message box

String manipulation
Make sure you explain any code that involves stitching text (strings) and values held in variables to form meaningful output (make sure you explain about any padding using spaces in your text).

Make sure you explain any code that uses Substring() or ToLower(). Explain clearly what these do.

If you specified any filters for dialog boxes explain the structure of the filter

Sequence
Show code where the order of statements (lines) matters and explain why they have to be done in that order

Decisions
Make sure you explain your decisions, these include

If test Then
    action if test true
Endif

If test Then
    action if test true
Else
    action if test false
Endif

Nested If structures

If test Then
    If another test then
        action if another test also true
    end if
else
    action if test false
end if

Select statements

Select Case item to compare
    Case is it this : action
    Case is it this : action
End Select

Try and Catch

Try
    code that may fail
Catch 
    sensible error message
End Try

better use

Try
    code that may fail
Catch ex As OverflowException
    related error message

Catch ex As FormatException
    related error message
End Try

Loops/Iteration
Make sure you clearly explain what is being performed inside the loop and when the loop will finish. If in doubt refer to VB Syntax guide or look it up on the Internet.

For Next loops
Explain what the control variable is used for, if it is used inside the loop to perform a specific purpose inside the loop then explain this. Explain where the start and stop values come from. 

For control variable = start value To stop value
    actions to perform in loop
Next

While Loops
Make sure you again explain what is happening inside the loop and explain when the loop will end, what is will make the stop condtion become false and end the loop. If you have used NOT you need to explain that this turns a true value to false and a false value to true.

While stop condition
    actions to perform in loop
End While

Testing
Clear annotated screenshots showing program working, checked against hand done calculations.

Clear annotated screenshots showing all error messages, explaining what code was responsible.

File Handling
Explain the Creation of StreamReaders and StreamWriters (what do they do)

Explain all Reading and Writing code (Readline, WriteLine)

Explain what Close() does with StreamReaders and StreamWriters

Wednesday, 13 November 2013

Final Deadline Monday 18th November 2013 - update

Due to unfortunate server issues today I have decided to extend the unit 8 deadline to the end of Monday.

Your final folder needs to be handed in before 4pm on Friday 15th Monday 18th November.

The last lesson you have with me is on Thursday, you can hand the folder in then if it is finished.

I will then mark these and give you an estimated score (this has to be an estimate because I still have to mark two more classes of work before scores can be finalised). I will also give you some corrections, if I feel there is more you can do to improve your work.

You will need to resubmit any sections that you correct. e.g. if you need to make a change to the subroutine part of the your report for program two, you will need to give me the complete report for program two so I can swap out the old one for the new one. I cannot allow you to have your folders back at this stage.

Once you have re-submitted I will see how this affects the mark I gave you and update the estimated score appropriately.

All these details will be placed on your Nilpit for Unit 8, which can be found at the top of your dashboard when you are viewing the IT Intranet site.

Python Evaluation (tips)

For the evaluation after your Python report, you only really need to cover the following things


  • identify things that ought to be changed to make the program more readable and maintainable (names of variables/functions). Maybe some re-structuring. You will need to give specific examples of changes.
  • Think of improvements and features you could add to the program to make it more usable and work better (what issues does it have and how what might improve them). You don't have to say how you'd do it but just what you would do.
  • Finally improvements to the way you went about commenting and understanding the Python code. What would you do if faced with a Python program that used features of python that you had never seen before.



Thursday, 3 October 2013

Homework: Evaluation of Exam question One

You need to complete and hand in your evaluation for the first program you wrote by:

Thursday 10th October 2013

You can look at the exam booklet for information about the evaluation, but look at the sheet I have given you which is a print of this blog entry




Writing your report key points to explain

Refer back to this blog post I wrote Tips on how to write the report before looking at this as it covers all the elements of the report, what you need to show and what you need to write.

I'll be more specific in these examples:

Subroutines (& Functions)
You must state the names of the subroutines and what specific module they are in


You must mention any parameters that a subroutine uses, explain why they are a certain type and what they are used for in the subroutine.


'This subroutine requires a parameter value
'of type string which is referred to using the name data
'this value is processed by the subroutine
Public Sub ReactToInput(data As String)

End Sub


Functions are subroutines that return a value, you need to explain what information is returned and what type it is.

You need to explain where the return value of a function is used, whether it is stored in a variable or whether it is used directly as part of some calculation or string manipulation.


'function returns an integer value back to the caller
Function GenerateNumber() As Integer

    ' do some code

    Return 45

End Function



'call the GenerateNumber subroutine and store
'the return value in the variable saveMe
saveMe = GenerateNumber()



'combine the text with the return value from the function GenerateNumber
s = "I generated " & GenerateNumber() & " for you"


String manipulation
You should remember that & joins text together in visual basic

SubString(), ToLower() are both examples of string manipulation and you should describe how they work and how they are used.

Selection
You need to explain the test being performed for the IF and what code runs when the condition is true and what code runs when the condition is false.


If saveMe < 105 Then
    'code if condition is true (saveMe is less than 105)
Else
    'code if condition is false (saveMe is 105 or more)
End If


Make sure you explain nested if structures carefully, highlighting the chain of tests that get you to certain parts of the nesting.


If saveMe > 0 Then
    'code if condition is true (saveMe is greater than 0)
Else
    'saveMe is not greater than 0
    If saveMe = 0 Then
        'code if condition is true (saveMe is 0)
    Else
        'saveMe must be less than 0 (not greater than or equal to 0)
    End If
End If


With select case, you need to explain what value is being tested for a match and then explain each of the possible matches and the code that is executed when each match is found.


'examine lowercase version of choice
Select Case choice.ToLower()
    Case "open"
        'code if choice is open
    Case "close"
        'code if choice is close
    Case "delete"
        'code if choice is delete
End Select


Iteration (Loops)

In for loops you need to state the loop variable, it's starting value and its stop value (the value it will have during the last run of the loop).


'loop variable called clock starts at 1
'increases each time by 1, stops at 12
For clock = 1 To 12

Next

You need to explain how the loop variable is used inside the loop, whether it is just a counter or whether it's value is used to perform some other task like accessing an individual character in a string.


For count = 1 To 10
    'add current value of count to the total so far
    total = total + count
Next

In While loops make sure you explain the general purpose of the loop what does it do. You need to explain the condition that is tested at the start of the loop, explaining that the loop only keeps working if this condition is true. Make sure you explain where the end of the loop is and that the code jumps back to the start of the loop to test the condition at the end of each run through.


total = 45
'loop happens if total is less than 100
Do While (total < 100)

    'add 7 to the total
    'this will eventually cause loop to stop
    total = total + 7

    'end of loop must go back to Do While to test condition again
Loop

Tips on how to write the evaluation

You can refer to the Exam Booklet (U8 section of the ICT/Computing Intranet) for other details of the evaluation. When writing your evaluation you need to cover two strands:

Evaluation of the solution(s)

Strengths
Look at the strengths of your best program (these are some of the things you could write about if they are actually well done)
  • sensible clear comments
  • meaningful variable names
  • meaningful subroutine names
  • Using camelCasing for variables, Pascal casing for subroutine and function names and CAPS_CASING for contsants
  • careful use of comments
  • clear solution
  • Appropriate use of modules
  • Use of constants where appropriate to make the program more meaningful
  • Clear User interface
  • Meaningful messages to user
Weaknesses and Improvements
Weakness can cover any of the bullets above that could be strengths, but in the opposite way e.g poor naming of variables and interface elements.

If you have specific issues with either your first program (or even in the finished improved program), then explain them here (make sure you use a separate paragraph for each) list those issues with direct reference to the program code.

Looking at your improved program, for each improvement explain why they way you did it is better than the way you did it in the original program, this may be better for the user of the program or it may be better for another programmer (easier to maintain / better structure [modules, subroutines] / naming of variables/subs/functions).

This could be accompanied with screenshots from the code to illustrate the differences. It is important that this is clear, use a separate paragraph for each improvement

Future improvements
If you did not do an improved version you need to look at the program and identify anything that you could do to improve it (these should of already been mentioned in the weakness), make sure you identify more than one improvement (you don't have to do it just explain it what the improvement could be and why it would be better)

if you did an improved program then you need to also think of any other ways in which you could improve it, explain them clearly making sure you have explained why it would be an improvement. This is more likely to be extending the features of the program (unless you identified a weakness in the improved one)

Evaluation of your performance

Strengths
Try to identify what you feel your strengths were/are during the VB programming task. This is really asking you to talk about what you did well when you approached the task:

  • Preparation, prior learning
  • Commenting as you went along
  • How you tackled the task (e.g. did you put the interface elements together first?, then storage etc...)
  • Clear testing
Weaknesses and Improvements
It is not wrong to have weaknesses with the way you approached the work, it gives you something to address for improvements  Make sure you also discuss any areas in which you feel you have weaknesses and how you could improve them, these may be issues you had with the bullet points above or something else entirely.

For each weakness you identify you need to explain what you do on a future task to reduce the weakness, what would you do differently and explain why this would make a difference to the program produced.

Future improvements
If there is anything else you could do on top of what you did well, then explain those items here.Think about approaches to programming (you may need to look up some methods of program design), user feedback etc...

Monday, 9 September 2013

Programming language report

You need to complete the report by Monday 30th September 2013

Programming language report can be found here

This report is worth 6 marks of the total for the programming unit. You need to make sure you carefully proof read this report so it doesn't not have obvious mistakes in the English spelling or the grammar.

Thursday, 18 April 2013

Basics of software development report Unit 4


The final report you write needs to briefly talk about 4 considerations used when writing software. Create a report with the following 4 headings. Under each discuss the topics in the bullet points, don't use the bullet points as sub headings it's not necessary, just use a separate paragraph for each sub topic.

Data Input and Output

  • Gather user requirements (investigation, Data Flow Diagrams etc...)
  • Identify methods of data capture (keyboard, scanner, barcode etc...)
  • Validate input data (range checks, presence check, drop down lists etc...)
  • Types of out required (on screen, print outs)

Data storage

  • Individual files (text files, ini files etc...)
  • Database requirements (ERD and normalisation, data dictionaries)
  • Use of variables (data types integer, real, boolean, character, string)
  • Use of lists/arrays and other data structures (lists of strings, records etc...)

Processing of data

  • Use of flowcharts, pseudo code to design algorithms
  • Sequence (identifying tasks to be performed in order)
  • Selection (If, Select Case)
  • Iteration (For next, Repeat Until and While loops)
  • Subroutines and Functions

Efficiency of program

  • Programming language to use
  • User interface to adopt (console/forms/web etc...)
  • writing maintainable/readable code (comments, sensible names, indentation etc...)
  • Carrying out testing (white box, black box, alpha testing, beta testing, end user testing)