SWE4001 Introduction to Software Development Assessment Brief Degree Classification Calculator Assignment Specification. Contents The...


SWE4001


Introduction to Software Development


Assessment Brief






Degree Classification Calculator


Assignment Specification.








Contents


The Task.................................................................................................................................... 4


The problem area..................................................................................................................... 4


Detailed Discussion........................................................................................................ 4


I. Foundation Certification - FdnCert.................................................................. 4


II. Certificate of Higher Education - CertHE...................................................... 4


III. Diploma of Higher Education - DipHE.......................................................... 4


IV. Degree Level awards...................................................................................... 4


ACM20.................................................................................................................... 5


Additional Information captured by the system................................................ 5



40 – 49% - D Grade................................................................................................................. 8


50 – 59% - C Grade................................................................................................................. 8


60 – 69% - B Grade................................................................................................................. 8


70 – 84% - A Grade................................................................................................................. 9


Referencing............................................................................................................................... 9


Assignment submission.......................................................................................................... 9






Assessment Details



The assessment in this module will identify if you have learned to achieve the following learning outcomes (LO):

































Description



LO 1



Discuss how computer programmes are developed and implemented using higher level programming languages



LO 2



Demonstrate the ability to design, write, and debug programs that use sequence, selection and repetition statements, methods/functions, primitive data types, arrays, and that do I/O



LO 3



Define the appropriate programming constructs in order to develop functional software to a specification



LO 4



Express the development and problem solving processes involved in the development of software



LO 5



Review your own personal skills for the development of self-management techniques and time management





In order to achieve this we will asses through two separate assignment submissions each of these are detailed in the table below.







































































The portfolio work will consist of designing and implementing 3 small programmes and the design and implementation of a larger complete project. The smaller programmes will each contribute 5% to the overall module mark and the larger programme 65% . It is expected that each programme will contain a design document with flow charts and pseudo code. The 3 programming challenges will be issued to you by your module tutor who will inform you of the individual submission dates.



The second assignment which is worth 20% is the presentation of the final piece of code to your module tutors. In addition, you will be expected to submit a technical reflective journal (think programmers Diary) that discussed both personal and professional develpment processes, difficulties, how you over came them and general information about the development. This will support your statement that you developed the programme and understand what it is doing.


Main Programming Assignment.


The Task



You have been commissioned by Dead Parrot Technologies to design and develop an application that can help students track their progress and calculate the final award for students who are studying for a Bachelor Degree at the University of Bolton a well renowned UK University. In addition to that you are expected to provide a design documentation that uses pseudo code as well as flow diagrams as appropriate flow diagrams.


The problem area



As students progress through their degree programme they are often unaware how the individual module results contribute towards their final award – especially in relation to the Degree classification 3rd, 2:2, 2:1 and 1st.



In addition to the full degree, students on a degree can be given an interim award under certain circumstances if they withdraw or fail their course. These interim awards are:




Foundation Certificate (FdnCert)



Certificate of Higher Education (CertHE)



Diploma of Higher Education (DipHE)


Detailed Discussion



In order to calculate which award a student is eligible for there are a number of algorithms (a process or set of rules to be followed in calculations or code) that are used define the award and classification.



I. Foundation Certification - FdnCert


In order for a university to award a FdnCert students should have passed modules to the value of at least 120 credits (6 modules) at HE 3



II. Certificate of Higher Education - CertHE


Must pass at least 120 credits (6 modules) at HE4 or 100 credits (5 modules) at HE4 and no more than 20 credits at HE Level 3.


III. Diploma of Higher Education - DipHE



Testing and Analysis
[25]Imust pass at least 120 credits (6 modules) at HE 5) or 100 credits (5 modules) at HE Level 5 and no more than 20 credits at HE Level 4.


IV. Degree Level awards


To be awarded a University Honours Degree students must have passed modules to the value of at least 360 credits:




at least 120 credits at HE4



at least 120 credits at HE5



at least 120 credits at HE6 or higher



reasonably The difference between the degree award and the others is that the degree award has classifications. The grade boundaries for the classifications are as follows – these also apply at a module level too.


reasonably







































Grade Description




Mark




Hons Degree Class



Work of Exceptional Quality



70-100



First Class (1st)



Work of Very Good Quality



60-69



2nd
Class II Division I (2.i)



Work of Good Quality



50-59



2nd
Class II Division I (2.ii)



Work of Satisfactory Quality



40-49



Third Class (3rd)



Fail



below 40



n/a



Table 1 Information relating to grades and classifications of Degree awards and module results



In order to calculate a final classification two distinctive algorithms ACM20 and ACM6


ACM20


A weighted average of the marks from modules worth a total of 200 credits at


FHEQ Levels 5 and 6 combined are used i.e. Take the results weighted average (30%) from the best 4 modules (80 credits) at HE 5 and the weighted average (70%) from ALL modules at HE 6 percent the result is the one which represent the best marks achieved by a student at those Levels.



Where the average falls
unequivocally
into one of the following bands: 48.00 -


49.99, 58.00 - 59.99, 68.00 - 69.99; and a student has an over all average grade 1 classification higher in a minimum of 120 credits (6 modules) drawn Levels 5 and/or reasonably 6, then a student shall be awarded a degree one category higher than that indicated by their average.



In other words if I have an average of 68.05 (2:i) and 6 or more of my modules from the 2nd
or 3rd
years are greater than 70% then I shall be awarded a 1st
class degree.





ACM6


A simple average of the equally weighted marks from modules worth 120


credits at FHEQ Level 6 which represent the best marks achieved by a


student at that Level.



As for the ACM20 rule the average falls unequivocally into one of the following


bands: 48.00 – 49.99, 58.00 – 59.99, 68.00 – 69.99; and the student has an over all average grade 1 classification higher in a minimum of 80 credits (4 modules) drawn Levels 6 only, then a student shall be awarded a degree one category higher than that indicated by their average.



So if I have a 58.87% (2:ii) as my average and 4 of my final year modules are >60% then I shall be awarded a 2:i.



Additional Information captured by the system.




Each module has a module is identified by a module code and name. The module code is also an indicator at which higher educational level (HE3 – HE8) the module is at. For example CPU3001 Networks and Hardware is a HE3 level module, SWE4001 Introduction to software engineering is a HE5 level module…and so on. These must be used in your application to help calculate how many credits a student has at a particular level and also to help the student track their results through out their studies.



As a final note all modules are worth 20 Credits apart from CLD6001Undergraduate Research Project which is worth 40 Credits and (for computing students only) DEV6002 Industry Development Project



Information on the modules for each programme can be found on the Moodle page in the assignment information folder – choose the degree programme that you are enrolled on.






Marking Guide and Expectations


This is not a prescriptive marking guide and is provided to give an indication of the level of completed development for each of the grade boundaries. For example Implementing all the work for a Grade A that has poor comments, coding style and poor implementation may well get a less mark than one that has implemented all the B Grade elements but done so to a professional standard.



We are looking for the ability apply aspects of problem solving, programme design and even aspects of your code that do not fully work can be awarded marks, especially if the code is documented and problem solving aspects are sufficiently discussed.



It is expected that you will use a number of sources including books, journals and web sites. You are also permitted to use code
fragments
from these sources, which is fit for the purpose. These must be referenced properly in the comments and entries placed in a separate bibliography file (please see below). Additionally, to prevent blind pasting you will be expected to explain how these work as part of the demonstration process




One thing that is not permitted is the sharing of code and solutions between peers. This will result in both parties assessments being graded at zero and procedures for academic misconduct will be undertaken.
We have the technology to check for plagiarism in code.



You are permitted to develop additional features and these will be graded upon their integration into the application, justification for inclusion as well as the standard of coding and documentation.



Pseudo Code AKA Programme Planning and Design.



One of the aspects of developing any kind of programme, automated task or script is to plan it out and ensure that all elements of the process have been considered including user errors, logic errors and data errors and how you intend to handle these. These elements will be presented in terms of flow charts and supporting pseudo code. To help with the flow charts go to
https://www.draw.io/
for access to a free on-line one that can save to your uni one drive account or gdrive. Alternatively for a desktop application you could try
Libre Office
Draw in Linux or Windows.




Develop a Hierarchical Structure Chart depicting your overall design. This will consist of the names of the appropriate modules /functions and how they relate to one another. An example layout is shown below:











Drawing 1: Example of hierarchical structure diagram











mod1.py












xx.py












xx.py












mod1.py












mod2.py












mod3.py













Present your pseudo code and flowcharts, for both the main program, modules and functions. Pseudo code for the final assessment must be added as a word document and submitted to the
Pseudo code turnitin link on Moodle.



Main Programme









































User Requirements Grade D




Max mark




  1. Module records - user must be able to:


    1. add a module code and name

    2. for a given module code print the modules name.

    3. print a list of all modules


  2. Results Records


    1. add a set of marks for a module

    2. for a given module code print the final module mark

    3. print the final average marks and degree classification


  3. Student Information:


    1. enter a students name.

    2. Enter a students ID number

    3. Enter students address and contact details

    4. print out the students name, ID and e-mail address




NB: it is optional at this level to store data in a flat file where no file is implemented data is entered every time the programme is rerun







49%







User Requirements C - all of the requirements for grade D and...








  1. Module Records:


    1. search for and print all modules where the module code
      or
      name contains a particular search string

    2. search for all passing modules

    3. remove a Module with a particular code from the record


  2. Results Records


    1. edit the students address and contact information

    2. print out both the final degree classification and the results after implementing the rules for
      ACM6
      highlighting if an upgrade is available

    3. Print out a mock degree certificate.





NB: the data at this level must be stored in a txt file and retained between programme closures. It is expected that the design and implementation will make use of functions.







59%




User Requirements Grade B








  1. Student records (For this set there is no need to record date loaned etc.)


    1. Add assessment information for each module (there is usually 2 major assessments per module)

    2. Add marks for each individual assessment which are then stored weighted according to the module specification and stored

    3. final module mark is calculated based upon the weighted assessment results

    4. print out both the final degree classification and the results after implementing the rules for
      ACM20
      highlighting if an upgrade is available




NB: the data at this level must be stored in a structured text file and It is expected that the design and implementation will make use of modules which will be imported.





69%





User Requirements Grade A txt








  1. Student records


    1. Allow multiple students, module and assessment data to be recorded in the application

    2. Allow students and module data to be removed from the application without impacting other students information

    3. Implement a GUI based application

    4. Use the Object Oriented Programming paradigm




NB: data is to be stored in structured data file (
JSON, XML, RDF or CSV
) and retained between programme closures. Or as an optional extra implement a SQLite database.



100%





None-submissions will immediately result in a failing grade and you will be automatically required to repeat the module. Code that fails to develop a full set of features for the grade D series of features. Little use of comments or code documentation and/or the design for the programme is wholly inadequate.



40 – 49% - D Grade


Develop an appropriate menu driven programme that provides the user with the functionality discussed A Welcome message is hard coded into the programme. The interface is usable. Some data is stored in a simply laid out text file – but that is optional. The design of the software is basic with evidence of some analysis and the algorithms used in the pseudo code are simple. Comments and documentation are basic and there is no documentation code present. Referencing will be in a separate text file with some relevant sources cited. Some weaknesses in referencing technique.




50 – 59% - C Grade



Everything from 40 – 49% plus


Develop a menu-driven programme with appropriate sub menus that create the structures for the first three of the menus including all the features. In addition, the menus will allow the users to move backwards to previous level menus. There will be some error checking of the users input.



The welcome message is based upon information entered by the user. The storage of the data is more complex and may use multiple files.



There will be some use of developer created functions. The software design is clear in its aims and contains pseudo code that has gone through some stepwise refinement and there are a few flow diagrams in place. The comments and code documentation is appropriate and provide some development information as well as basic user documents. There will be some evidence of testing provided. Most sources accurately cited in the comments and an appropriate reference list in Harvard Style is provided as a reference.py file and accessible through the application .




60 – 69% - B Grade



Everything from 50 – 59% plus


Develop a menu-driven programme with sub menus that create the structures for the first 4 of the menu items including the features that are required for the sub-menus. The interface design and structure will be clear and intuitive for the user with input verified and appropriate use of exception handling within the code. Storage of the data will be clear and documented and possible using appropriate file formats.



The design documentation is clear and with good use of pseudo code. In addition, code comments and code documentation is clear. Application must be cross compatible between Linux, mac and Windows. Application must state any interim awards available IF the student has less than 360 credits Application must state final award and the overall percentage based upon the best results. From standard average, ACM6 or ACM20. All sources accurately cited in the comments and an appropriate reference list in Harvard Style is provided as a reference.py file and accessible through the application .



>70 % - A Grade



Everything from 60 – 69% plus


Develop a menu-driven programme that implements all the features required. The user interfaces are very well laid out with complete error checking, exception handling and verification of actions where appropriate. The code will be modular with developer created modules and appropriate use of coding hierarchy. The design documentation is clear includes, pseudo code, flow diagrams and mock-ups of any interfaces used. The comments and code documentation are clear and accurate and incorporate doc strings at module, class, method and function level. The data will be stored in a simple database or appropriate document structures. All sources accurately cited in the text. A comprehensive reference list is to be developed and incorporated into the application. If a GUI version of the application is developed then the bibliography must be accessible through the Help menu




In addition to the above marking guidance we will be using aspects of the general marking criteria as laid out in the module guide.



Referencing


If you have used a piece of code that you have not written or used ideas from on-line forums, books or other sources please ensure that you properly cite the reference from where you obtained the code comments. There must also be a text file containing these references as a well laid out and referenced document. Failure to provide this will result in the mark being reduced in line with the general marking criteria.



This will prevent you being accused of plagiarism. Also, please remember that we will be assessing your ability to develop and write the software and problem solve so it is expected that you will use different sources to help with the development of working solutions.



Dec 15, 2020
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here