Lesson video

In progress...

Loading...

Hello, my name is Mrs. Jones, and I'm really pleased you decided to join this lesson today.

In this lesson, we will look at the evaluation stage of the software development cycle and how to effectively review your programming project to identify strengths and areas of improvement.

So let's get started.

Welcome to today's lesson.

Today's lesson is called "Evaluating the Success of a Programming Project" from the unit "Python Programming Project." And by the end of this lesson, you'll be able to evaluate a programming project against the original brief and success criteria.

There are two keywords to today's lesson.

Evaluate.

Evaluate is reflect on what has been done well and what could be improved.

Rubric.

Rubric is a guide that outlines criteria and levels of achievement to evaluate work fairly and consistently.

There are two sections to today's lesson.

The first is evaluate the final product, and the second, reflect on strengths and areas for improvement.

So let's start with evaluate the final product.

The final stage of the software development lifecycle, SDLC, is the evaluation stage.

Evaluation can be carried out throughout a development project to inform later stages.

However, there is usually a formal evaluation when the project is complete.

Has the project been successful? How do you know whether you've met the functional requirements outlined in the feasibility report you created during the initiation stage? Lucas says, "After developing your programme, it's important to check whether it meets the functional requirements." And Sofia says, "This helps you make sure the programme works as it should." To evaluate your programme, you should: Look at the functional requirements list; check whether each part of your programme matches what was planned; find anything that is missing, broken, or doesn't fit the brief; suggest ways of making the programme better.

Let's have a quick check.

What is the purpose of the formal evaluation stage in the software development lifecycle? Is it A, to write the code for the programme? B, to identify whether the project met its functional requirements and worked as planned? Or C, to decide on the new features for a future project? Pause the video to consider your answer and then we'll check it.

Let's check your answer.

The answer was B, to identify whether the project met its functional requirements and worked as planned.

Well done if you got that correct.

Your final evaluation should start with an introduction that explains what the project was about.

This will help anyone who is reading your evaluation, but may not know the details of the project.

Let's remind ourselves of the project brief.

StreamScheduler.

A content creator is preparing a live stream where they review a series of upcoming games to people online.

They want a computer programme that will help them to plan the duration of their stream.

A rubric is a checklist that helps you assess your programme clearly and fairly.

It breaks down the functional requirements so you can see what a good programme should include.

A rubric helps you judge your finished programme and makes it easier to give useful feedback on what works well and what could be improved.

Let's have a quick check.

What is the main purpose of a rubric in assessing a completed programme? A, to serve as a code editor for writing the programme? B, to provide a clear guide that explains how the programme will be assessed? C, to create a list of new features for the next version of the app? Pause the video to consider your answer and then we'll check it.

Let's check your answer.

The answer was B, to provide a clear guide that explains how the programme will be assessed.

Well done if you got that correct.

Let's recap.

The inputs for the StreamScheduler programme are: 1.

1.

User inputs the total duration of the stream in minutes.

1.

2.

User inputs the name of each game to be reviewed.

1.

3.

User inputs the review duration for each game in seconds.

The processes for the StreamScheduler programme are: 2.

1.

Store the total duration of the stream.

2.

2.

Convert the total duration to seconds.

2.

3.

Store the name of the game being reviewed and the duration.

2.

4.

Store the running total of games reviewed.

2.

5.

Validate that running total is between 20 and 40 minutes.

2.

6.

Stop asking for more games once total review time is more than or equal to stream duration.

2.

7.

Randomly select a time from total stream time to display discount code giveaway.

And the outputs for the StreamScheduler programme are: 3.

1.

Display the total number of games reviewed.

3.

2.

Display the name and duration of each reviewed game.

3.

3.

Indicate the time that the discount code will be given away during the stream.

3.

4.

Display the total planned stream duration in minutes and seconds.

Here is an example of a partially completed rubric.

On the left, you have the functional requirements.

So we have 1.

1, user inputs the total duration of the stream in minutes.

And on the right, we have, is this met? Is it partially met, or not met? And in this case, it was met.

The second row has 2.

1, store the total duration of the stream.

And again, this was met.

3.

1, display the total number of games reviewed.

This was partially met.

Let's do the activity.

One, write an introduction for your evaluation to explain the StreamScheduler project.

And two, compare your StreamScheduler programme to the original functional requirements.

Go through each functional requirement in the rubric and note whether each requirement has been met, partially met, or not met.

Pause the video, use your worksheet and complete both those parts of the activity and then we'll go through a solution.

Let's have a look at a solution.

So the first part, write an introduction for your evaluation to explain the StreamScheduler project.

Here's an example.

StreamScheduler is a programme that helps a content creator plan their live game review stream.

It lets the user set the total stream time, add games with their review times, and choose a random giveaway time.

The programme then shows the full schedule, including each game, the giveaway time, and the total stream duration.

This evaluation will look at how well the programme meets its requirements, noting strengths and areas for improvement.

And the second part is that rubric.

You have the functional requirements on the left and whether it was met, partially met, or not met on the right.

And this is only part of a sample solution for the input stage of the project.

Your rubric should contain an evaluation of all the functional requirements.

So you can see this was only for the inputs 1.

1, 1.

2, and 1.

3.

And yours should use all the inputs, processes, and outputs.

Well done for completing those activities.

Let's move to the second part of today's lesson, reflect on strengths and areas for improvement.

When evaluating your programme, it is important to reflect on the strengths and areas for improvements for each functional requirement.

This will help you: Identify what worked well in the project.

Keep using the methods and habits that worked well, such as clear code, good planning, and thorough testing in future projects.

Highlight areas that need improvement, so future versions are better.

Reflection should be specific and evidence-based, not just it worked or it didn't work.

Strengths may include: Code runs without errors and meets the requirements.

Clear and consistent formatting, naming conventions, indentation.

Efficient logic with no unnecessary repetition.

Good user experience, clear prompts, readable output.

Areas for improvement may include: Limited input validation, allowing invalid data.

Output formatting unclear or difficult to read.

Code works, but it's hard to maintain because it has few comments or poor variable names.

Programme does not handle unexpected situations well.

Let's have a quick check.

When reflecting on your programme, which of these is an example of an area for improvement? A, the programme has clear and consistent formatting? B, the programme has a good user experience with clear prompts and readable output? And C, the programme has limited input validation, allowing invalid data.

Pause the video to consider your answer and then we'll check it.

Let's check your answer.

The answer was C.

The programme has limited input validation, allowing invalid data.

Well done if you've got that correct Functional requirement.

The user inputs the total duration of the stream in minutes.

Lucas says, "In my programme, this was successfully achieved." Sofia says, "Yes, Lucas, but it would be better to add more detail.

For example, the programme prompts the user for the total stream duration in minutes.

Entering values from 20 to 40 showed correct storage of the input in the stream_duration_minutes variable." Functional requirement.

Randomly select a time from total stream time to display discount code giveaway.

A poor evaluation for a strength here could be: A giveaway time is chosen randomly.

A better evaluation for a strength would be: The programme uses Python's random.

randint to select a giveaway time between 0 and the total stream duration in seconds.

A 30-minute stream produced values within the correct range every time.

Another functional requirement here.

Display the total planned stream duration in minutes and seconds.

A poor evaluation for an area for improvement would be: The programme outputs a single number in seconds.

A better evaluation for a strength: The programme outputs the total strength duration as a single number in seconds.

It could be or should be improved by converting seconds into minutes and seconds using integer division, the two forward slashes, and modulus, percentage sign, before displaying.

Another example here.

Functional requirement.

User inputs the name of each game to be reviewed.

A poor evaluation for an area for improvement: The game name input could be better.

A better evaluation for a strength: The programme accepts any text as a game name, including empty strings.

Adding validation to reject blank entries and prompt the user again would improve usability and reduce errors.

Let's have a quick check.

True or false? The statement "The giveaway time is chosen randomly" is an example of a specific, evidence-based strength in an evaluation.

Pause the video to consider if that is true or false, and then we'll go through the answer.

Let's check your answer.

The answer was false.

Because it is a poor evaluation, it lacks specific evidence.

A better evaluation would provide details on how it's done, such as mentioning the use of random.

randint, and confirming that the programme produces values within the correct range.

Well done if you got that correct.

Let's do the activity.

List the functional requirements for the StreamScheduler programme.

For each requirement: Decide whether you will reflect on a strength or an area for improvement.

Write one clear step sentence that explains your reflection.

If it's a strength, give specific evidence from the programme.

If it's an area for improvement, explain what should change and why.

Pause the video, go back through the slides, use your worksheet and complete the activity, then we'll go through a solution.

Let's check your answers.

So the first two requirements for the processes.

We have 2.

1, store the total duration of the stream, we're gonna look at as strength.

Correctly stores the total stream time after input, allowing other calculations to use the value reliably.

2.

2, convert the total duration to seconds.

An area for improvement has been identified here.

Conversion works, but happens late in the programme.

Moving the conversion earlier would reduce repeated calculations.

Note: This is only part of a sample solution.

Your reflection should contain an evaluation of all the functional requirements.

Well done for completing the activity and completing your reflections.

In summary, to evaluate a project means to look back at what you've created and judge how well it meets the goals and requirements.

Using a rubric can help you check each part of your work against clear success criteria.

A strong evaluation highlights what went well and what could be improved, helping you learn from the project and develop your skills for future programming work.

Well done for completing this lesson, "Evaluating The Success of a Programming Project.".