Limited time offer

Get 25% off your order

Use the code below at checkout — offer expires soon.

Your promo codeNURSE24
25%
Expires in: 10:00
Claim my 25% discount
LIMITED OFFER Get 25% off — use code BESTW25 | No AI No Plagiarism On-Time Delivery Free Revisions Claim Now
Skip to content
Get Help Now
Uncategorized

Siphiwe went home for a long weekend. You would think that he would come back rested and happy, having eaten his mother’s amazing food all day long instead of his usual takeaways, in one of the most beautiful places in the country too. You would be wrong. In class, he frequently stared out the window with an intense frown on his face. And between classes, he didn’t say much and didn’t eat like his

succurely

Siphiwe went home for a long weekend. You would think that he would come back rested and happy, having eaten his mother’s amazing food all day long instead of his usual takeaways, in one of the most beautiful places in the country too. You would be wrong.

In class, he frequently stared out the window with an intense frown on his face. And between classes, he didn’t say much and didn’t eat like his usual ravenous self either. So when somebody jokingly told him that you can’t live on water alone, his answer was serious. “No … no, you cannot.”

After a lot of prodding, he finally told you what had happened. His father had sat him down and explained that he would no longer be receiving any money from the family once he graduates— no car repayments, no entertainment allowance, no rent … Nothing. Siphiwe had never thought about what would happen after graduation. He was so focussed on his studies that it had never occurred to him that he might have to fend for himself in less than two years.

Siphiwe was worried that he might not be able to maintain his lifestyle if he had to pay for everything himself. What would he have to sacrifice to make ends meet? He didn’t even have a girlfriend yet, and if he couldn’t go out anymore, how would he ever find her? And even worse, if he did find her, how would he keep her without any money to spend on her? The myriad questions were spinning around in his head with no end in sight.

You pointed out to him that he needed some hard data. Without data, he couldn’t know if he even had financial trouble looming, let alone what he could do to improve his situation if he did.

In this Portfolio of Evidence, you will be creating an application that can be used for personal budget planning. That should help Siphiwe understand his potential problems much better.

© The Independent Institute of Education (Pty) Ltd 2022

Page 3 of 17

21; 22; 23 2022

Instructions

This Portfolio of Evidence consists of three parts – two parts submitted during the semester and a final submission at the end of the semester. The parts build on one another, so make sure that you keep a copy of your work in a safe place.

The requirements of real software projects frequently do change, often in quite unexpected ways. Here you have the benefit of knowing what all the requirements are going to be in advance. So, make use of the opportunity! Reading all three parts before starting with the first one will minimise any reworking for later parts.

The rubrics that will be used to mark your submissions appear at the end of this document. Please pay attention to the weighting of items in the rubrics.

Note that marks will be awarded for running functional software, not just source code. So, make sure that your source code compiles and that the readme file contains enough information about running the software.

Part 1 — Object-Oriented Programming

(Marks: 100)

Learning Units: LU1 – 2

Assessment:

Assessment/Deliverable

Marks

Weight

Duration

Part 1

100

25%

15hrs

Using C# and Visual Studio, design and implement a standalone command-line application that fulfils the following requirements:

  1. The user shall be able to enter the following values:

    1. Gross monthly income (before deductions).

    1. Estimated monthly tax deducted.

    1. Estimated monthly expenditures in each of the following categories:

      1. Groceries

      1. Water and lights

© The Independent Institute of Education (Pty) Ltd 2022

Page 4 of 17

21; 22; 23 2022

      1. Travel costs (including petrol)

      1. Cell phone and telephone

      1. Other expenses

  1. The user shall be able to choose between renting accommodation or buying a property.

  1. If the user selects to rent, the user shall be able to enter the monthly rental amount.

  1. If the user selects to buy a property, the user shall be required to enter the following values for a home loan:

    1. Purchase price of the property

    1. Total deposit

    1. Interest rate (percentage)

    1. Number of months to repay (between 240 and 360)

  1. The software shall calculate the monthly home loan repayment for buying a property based on the values that the user entered. (See https://www.siyavula.com/read/maths/grade-10/finance-and-growth/09-finance-and-growth-03 for more information on how to calculate this).

  2. If the monthly home loan repayment is more than a third of the user’s gross monthly income, the software shall alert the user that approval of the home loan is unlikely.

  1. The software shall calculate the available monthly money after all the specified deductions have been made.

  2. The software shall not persist the user data between runs. The data shall only be stored in memory while the software is running.

Non-functional requirements:

  1. You are required to use internationally acceptable coding standards. Include comprehensive comments explaining variable names, methods, and the logic of programming code.

  1. You are required to use classes and inheritance. Create an abstract class Expense, from which HomeLoan, etc., can be derived.

  2. Store the expenses in an array.

Submit the following items for this part:

  1. Source code.

  1. A readme file with instructions for how to compile and run the software.

© The Independent Institute of Education (Pty) Ltd 2022

Page 5 of 17

21; 22; 23

2022

Part 2 — Advanced C# Features

(Marks: 100)

Learning Units: LU1 – 3

Assessment:

Assessment/Deliverable

Marks

Weight

Duration

Part 2

100

30%

15hrs

You will continue working on the application created in Part 1. Implement the feedback provided by your lecturer on Part 1 before continuing with Part 2. Marks will be awarded for this (10%).

The application must still perform all the functions from Part 1, with the following features added:

  1. The user shall be able to choose whether to buy a vehicle.

  1. If the user selects to buy a vehicle, the user shall be required to enter the following values for vehicle financing:

    1. Model and make.

    1. Purchase price.

    1. Total deposit.

    1. Interest rate (percentage).

    1. Estimated insurance premium.

  1. The software shall calculate the total monthly cost of buying the car (insurance plus loan repayment). Assume that all cars will be repaid over a period of five years.

  1. The software shall notify the user when the total expenses exceed 75% of their income, including loan repayments.

  2. Display the expenses to the user in descending order by value.

Non-functional requirements:

  1. You are required to use internationally acceptable coding standards. Include comprehensive comments explaining variable names, methods, and the logic of programming code.

  1. You are required to use classes and inheritance.

  1. You must use a generic collection to store the expenses and no longer an array.

  1. You must use a delegate to notify the user when expenses exceed 75% of their income. Submit the following items for this part:

© The Independent Institute of Education (Pty) Ltd 2022

Page 6 of 17

21; 22; 23 2022

  1. Source code.

  1. A readme file containing:

    1. Instructions for how to compile and run the software; and

    1. A brief description (100 to 200 words) of what you changed based on your lecturer’s feedback.

Portfolio of Evidence (POE) — Windows Presentation Foundation (Marks: 100)

Learning Unit: All

Assessment:

Assessment/Deliverable

Marks

Weight

Duration

Final Completed POE

100

35%

15hrs

You will continue working on the application created in Part 2. Implement the feedback provided by your lecturer on Part 2 before continuing with the final POE submission. Marks will be awarded for this (10%).

For this part, you are required to update your application to have a graphical user interface (GUI) built using either Windows Presentation Foundation (WPF) or Universal Windows Platform (UWP). Note that UWP will require additional research, so choose wisely.

All the same functionality must be available in the new user interface that was in the command line application from Part 2 (just presented in a more user-friendly way), with your choice of one of the following features added:

  1. The user shall be able to choose to save up a specified amount by a certain date for a specified reason, e.g. save R100 000 for an honours degree over five years. Then, given the interest rate that will be earned on the savings, calculate how much the monthly saving

should be to reach the goal.

OR

  1. Display the monthly income, expenses and account balance (assume the balance starts at 0) as a graph over time, for a given period (e.g., five years).

© The Independent Institute of Education (Pty) Ltd 2022

Page 7 of 17

21; 22; 23 2022

Submit the following items for this part:

  1. Source code.

  1. A readme file containing:

    1. Instructions for how to compile and run the software; and

    1. A brief description (100 to 200 words) of what you changed based on your lecturer’s feedback.

  1. A short user manual (no more than 2 000 words) including screenshots that explains how to use the app. You may use any application of your choice to create the user manual, but the file that you submit must be a .PDF export of the document.

© The Independent Institute of Education (Pty) Ltd 2022

Page 8 of 17

21; 22; 23 2022

Appendix A

Assessment Sheet (Marking Rubric)

Please note: Tear off this section and attach it to your work when you submit it.

MODULE NAME:

MODULE CODE:

PROGRAMMING 2A

PROG6211

PROGRAMMING 2A

PROG6221

STUDENT NAME:

STUDENT NUMBER:

RUBRIC 1

Levels of Achievement

Feedback

To be awarded full marks for

Excellent

Good

Developing

Poor

these elements of Part 1,

Score Ranges Per Level (½ marks possible)

students need to have:

11—15

9—10

8

0—7

App Functionality: User can

All values can be

All the values can

Only some of the

The values cannot

entered, and good

be entered, but

values can be

be entered, or the

enter values for income, tax and

error handling

error handling

entered, or no error

app crashes

expenditures.

implemented.

could be improved.

handling

regardless of what

implemented.

the user enters.

© The Independent Institute of Education (Pty) Ltd 2022

Page 9 of 17

21; 22; 23 2022

RUBRIC 1 [continued]

Levels of Achievement

Feedback

In order to be awarded full

Excellent

Good

Developing

Poor

marks for these elements of

Score Ranges Per Level (½ marks possible)

Part 1, students need to have:

11—15

9—10

8

0—7

App Functionality: Rental and

All values can be

All the values can

Only some of the

The values cannot be

entered, and good

be entered, but

values can be

entered or the app

home loan entry implemented

error handling

error handling

entered, or no error

crashes regardless of

correctly.

implemented.

could be improved.

handling

what the user enters.

implemented.

11—15

9—10

8

0—7

The home loan

The home loan

The home loan

Home loan repayments

App Functionality: Home loan

repayments are

repayments are

repayments are

are not calculated, or the

calculations and warning

calculated correctly,

calculated

calculated partially

calculation is completely

implemented correctly.

and the alert is

correctly, but the

correctly, and the

wrong.

displayed in a user-

alert is never

alert is never

friendly way.

displayed.

displayed.

11—15

9—10

8

0—7

App Functionality: Available

Available monthly

Available money

Available money is

Available money is not

monthly money calculated

money calculated

was calculated, but

partially correctly

calculated correctly and is

correctly and displayed.

and displayed.

the display could be

calculated or not

not displayed.

improved.

displayed.

Application Structure:

8—10

7

5—6

0—4

The class structure is

The class structure

The class structure

The class structure is

Application makes use of

logical and easy to

is mostly logical,

is somewhat logical,

entirely illogical and

classes and inheritance

follow.

with a few small

with quite a few

confusing.

logically.

errors.

errors.

© The Independent Institute of Education (Pty) Ltd 2022

Page 10 of 17

21; 22; 23 2022

RUBRIC 1 [continued]

Levels of Achievement

Feedback

In order to be awarded full

Excellent

Good

Developing

Poor

marks for these elements of

Score Ranges Per Level (½ marks possible)

Part 1, students need to have:

8—10

7

5—6

0—4

Application Structure: The

Expenses are stored

Most, but not all, of

Only some of the

Expenses are not stored

expenses are stored in an

in an array, and the

the expenses are

expenses are stored

in an array.

array.

array size is

stored in the array.

in the array.

managed well.

8—10

7

5—6

0—4

Coding Standards: The code is

Code is well

Code is well

Code is structured

Code is all in one file

well structured and

structured with good

structured with

somewhat well with

with no comments.

documented.

comments explaining

minor mistakes and

little or no

the logic.

mostly commented.

comments.

8—10

7

5—6

0—4

An excellent readme

The readme file

The readme file

No readme file is

Documentation: The readme

file is included that

presents some

contains information

included, or the readme

file provides enough

explains all the

information about

about running the

file doesn’t provide any

information to run the app.

required details

running the app but

app, but it is hard to

useful information

about running the

could be more

understand or

about running the

app.

detailed.

doesn’t work.

application.

5-4

3

2-1

0

Other Marks: Advanced

Excellent use of

Good use of features

Some features that

No features that go

features that go

that go above and

go above and

above and beyond what

features not covered in class

above and beyond

beyond what was

beyond what was

was learned in class was

(Bonus Marks).

what was covered in

learned in class was

learned in class was

used.

class.

used.

used.

PART 1 SUBTOTAL

/100

© The Independent Institute of Education (Pty) Ltd 2022

Page 11 of 17

21; 22; 23 2022

RUBRIC 2

Levels of Achievement

To be awarded full marks for

Excellent

Good

Developing

Poor

these elements of Part 2,

Score Ranges Per Level (½ marks possible)

students need to have:

Feedback

8—10

7

5—6

0—4

Updates: All the feedback

Excellent

Most feedback was

Some feedback was

Little or no

provided on Part 1 has been

implementation of

implemented.

implemented.

feedback was

implemented.

all feedback

implemented.

provided.

15—20

11—14

10

0—9

App Functionality: The user can

All values can be

All the values can

Only some of the

The values cannot

entered, and good

be entered, but

values can be

be entered or the

successfully capture the details

error handling

error handling

entered, or no error

app crashes

for a vehicle.

implemented.

could be improved.

handling

regardless of what

implemented.

the user enters.

15—20

11—14

10

0—9

App Functionality: The

The vehicle loan

The vehicle loan

The vehicle loan

The vehicle loan

calculations work

calculations most

calculations are

calculations are not

calculations for the vehicle loan

perfectly.

work correctly.

implemented, but

implemented or

works correctly.

most don’t work

don’t work at all.

correctly.

App Functionality: The expenses are displayed in descending order according to value.

8—10

The expenses are

excellently

displayed in

descending order.

7

The expenses are

displayed in

descending order,

but the display

could look better.

5—6

The expenses are

displayed but not in

descending order according to value.

0—4

The expenses are

not displayed at all.

© The Independent Institute of Education (Pty) Ltd 2022

Page 12 of 17

21; 22; 23 2022

RUBRIC 2

Levels of Achievement

Feedback

To be awarded full marks for

Excellent

Good

Developing

Poor

these elements of Part 2,

Score Ranges Per Level (½ marks possible)

students need to have:

8—10

7

5—6

0—4

Application Structure: The

The expenses are

Most of the

Some of the

The expenses are

expenses are stored in a generic

correctly stored in a

expenses are stored

expenses are stored

stored in an array

collection.

generic collection.

in a generic

in a generic

or a non-generic

collection.

collection.

collection.

8—10

7

5—6

0—4

The 75%

The 75%

The 75%

The 75% expenses

Application Structure: The 75%

notification is

notification is

notification is

notification is not

expenses notification is

excellently

adequately

adequately

implemented at all

implemented using a delegate.

implemented using

implemented using

implemented,

or doesn’t work at

a delegate.

a delegate.

something other

runtime

than a delegate.

8—10

7

5—6

0—4

Coding Standards: The code is

Code is well

Code is well

Code is structured

Code is all in one

well structured and

structured with

structured with

somewhat well

file with no

documented.

good comments

minor mistakes and

with little or no

comments.

explaining the logic.

mostly commented.

comments.

© The Independent Institute of Education (Pty) Ltd 2022

Page 13 of 17

21; 22; 23 2022

RUBRIC 2

Levels of Achievement

Feedback

To be awarded full marks for

Excellent

Good

Developing

Poor

these elements of Part 2,

Score Ranges Per Level (½ marks possible)

students need to have:

8—10

7

5—6

0—4

An excellent

The readme file

The readme file

No readme file is

Documentation: The readme

readme file is

presents some

contains

included, or the

included that

information about

information about

readme file doesn’t

file provides enough

explains all the

running the app but

running the app,

provide any helpful

information to run the app.

required details

could be more

but it is hard to

information about

about running the

detailed.

understand or

running the

app.

doesn’t work.

application.

[5-4]

[3]

[1—2]

[0]

Other Marks: Advanced

Excellent use of

Good use of

Some features that

No features that go

features that go

features that go

go above and

above and beyond

features not covered in class

above and beyond

above and beyond

beyond what was

what was learned in

(Bonus Marks).

what was covered

what was learned in

learned in class was

class was used.

in class.

class was used.

used.

PART 2 SUBTOTAL

/100

© The Independent Institute of Education (Pty) Ltd 2022

Page 14 of 17

21; 22; 23 2022

RUBRIC 3 (POE)

Levels of Achievement

Feedback

To be awarded full marks for these

Excellent

Good

Developing

Poor

elements of the final Portfolio of

Score Ranges Per Level (½ marks possible)

Evidence, students need to have:

8—10

7

5—6

0—4

Updates: All the feedback provided

Excellent

Most feedback

Some feedback

Little or no

implementation

was

was

feedback was

on part 2 has been implemented.

of all feedback

implemented.

implemented.

implemented.

provided.

8—10

7

5—6

0—4

All values can be

All the values can

Only some of the

The values cannot

App Functionality: User can enter

entered, and

be entered, but

values can be

be entered or the

good error

error handling

entered or no

app crashes

values for income, tax and

handling

could be

error handling

regardless of

expenditures.

implemented.

improved.

implemented.

what the user

enters.

11—15

9—10

8

0—7

Rental and home

Rental and home

Rental and home

Rental and home

loan functionality

loan functionality

loan functionality

loan functionality

App Functionality: Rental and home

is excellently

implemented

implemented

not implemented

loan functionality working correctly.

implemented in

with some errors.

with lots of

or not working at

the new user

errors.

all.

interface.

© The Independent Institute of Education (Pty) Ltd 2022

Page 15 of 17

21; 22; 23 2022

RUBRIC 3 (POE)

Levels of Achievement

Feedback

To be awarded full marks for these

Excellent

Good

Developing

Poor

elements of the final Portfolio of

Score Ranges Per Level (½ marks possible)

Evidence, students need to have:

11—15

9—10

8

0—7

Car purchase

Car purchase

Car purchase n

Car purchase

App Functionality: Car purchase

functionality is

functionality was

functionality

functionality is

excellently

implemented

implemented

not implemented

working correctly.

implemented in

with some errors.

with lots of

or not working at

the new user

errors.

all.

interface.

15—20

11—14

10

0—9

App Functionality: New savings or

New feature

A new feature

The new feature

The new feature

excellently

was implemented

was implemented

is not

graph feature working correctly.

implemented.

with some minor

but caused lots of

implemented or

errors.

errors.

not working.

8—10

7

5—6

0—4

The user interface

The user interface

The user interface

The user interface

Usability: The user interface is easy

is excellently

is well

can be used but is

is completely

implemented and

implemented

not very logical.

confused and

to use.

very easy to use.

with a few minor

illogical.

usability

problems.

Documentation: The user manual is

11—15

9—10

8

0—7

well-structured with useful

Complete user

Some information

Not included or

screenshots.

manual included.

is included.

almost no detail.

© The Independent Institute of Education (Pty) Ltd 2022

Page 16 of 17

21; 22; 23 2022

RUBRIC 3 (POE)

Levels of Achievement

Feedback

To be awarded full marks for these

Excellent

Good

Developing

Poor

elements of the final Portfolio of

Score Ranges Per Level (½ marks possible)

Evidence, students need to have:

Mostly complete

user manual

included.

5-4

3

1—2

0

An excellent

The readme file

The readme file

No readme file is

readme file is

presents some

contains

included, or the

Other Marks: The readme file

included that

information

information

readme file

provides enough information to run

explains all the

about running the

about running the

doesn’t provide

the app.

required details

app but could be

app, but it is hard

any helpful

about running the

more detailed.

to understand or

information

app.

doesn’t work.

about running the

application.

5-4

3

1—2

0

Excellent use of

Good use of

Some features

No features that

Other Marks: The student has used

features that go

features that go

that go above and

go above and

advanced features not covered in

above and

above and

beyond what was

beyond what was

class (Bonus Marks).

beyond what was

beyond what was

learned in class

learned in class

covered in class.

learned in class

was used.

was used.

was used.

POE SUBTOTAL

/100

© The Independent Institute of Education (Pty) Ltd 2022

Page 17 of 17