Lesson Plan. Course Title: Advanced Computer Programming Session Title: Project Management Basics



Similar documents
Lesson Plan. Course Title: Computer Programming. Session Title: Software Life Cycle

Lesson Plan. Course Title: Advanced Computer Programming Session Title: Databases. Preparation

Lesson Plan Course Title: Web Technologies Session Title: Website Administration

Lesson Plan. Preparation. TEKS Correlations: 1C: Examine the role of certifications, resumes, and portfolios in the Web Technologies profession.

Lesson Plan. Course Title: Web Technologies Session Title: Web Site Planning & Design

Lesson Plan. Preparation

Lesson Plan. Course Title: Digital and Interactive Media Session Title: College and Career Poster

Lesson Plan. Course Title: Principles of Information Technology Session Title: Understanding Types & Uses of Software

Lesson Plan. Course Title: Digital and Interactive Media Session Title: Emerging Technologies

Lesson Plan. Course Title: Computer Maintenance Session Title: Numbering Systems

Lesson Plan Course Title: Web Technologies Session Title: Internet Fundamentals & Background

Lesson Plan. Preparation

Lesson Plan. Instructor/Trainer References: Content developer knowledge

Lesson Plan. Preparation (c). Principles of Information Technology (One-Half to One Credit).

Lesson Plan. Upon completion of this assignment, the student will be able to build a small network and identify the different types of hackers.

Lesson Plan. Preparation

Lesson Plan. Preparation

Credit History and Ratings

Animation Overview of the Industry Arts, AV, Technology, and Communication. Lesson Plan

Lesson Plan. Preparation

Preparation. TEKS Correlations:

Lesson Plan. Preparation

Lesson Plan - Time Value of Money

Lesson Plan Careers in Financial Management and Investment Planning

Lesson Plan. Preparation

Lesson Plan. Preparation

Lesson Plan. Graphic Design & Illustration

Lesson Duration: Approximately two to four 90-minute class periods [Lesson length is subjective and will vary from instructor to instructor]

Meeting the Needs of Visual-Spatial Learners

Game Programming & Game Design

Lesson Plan. Course Title: Concepts of Engineering and Technology Session Title: Green Energy Careers

Lesson Plan. Time When taught as written, this lesson should take approximately minutes to teach. Preparation

What is Multiple Intelligence? Multiple Intelligences are 8 different ways to demonstrate intellectual ability. It is how you learn best.

Facilitating Adult Learning

It is vital that you understand the rationale behind the correct answer(s) as wel as the incorrect answer options.

Learning how you Learn.

Kindergarten Math Curriculum Course Description and Philosophy Text Reference:

Lesson Plan. Preparation

Social Forces Human Development Learning and Learning Styles

CHIPPEWA STUDY SKILLS. Helpful Hints for Test and. Exam Preparation. Brought to you by Chippewa Resource and Student Success

What s Your Learning Style?

Lesson Plan. Performance Objective Upon completion of this lesson, each student will create a design plan for a tiny house.

What is active learning?

Lesson Plan. Course Title: Principles of Business, Marketing and Finance Session Title: Advertising Media. Performance Objective:

Lesson Plan. Time When taught as written, this lesson should take two to three days to teach. Preparation

Lesson Plan. monitor project development or resource allocation on a horizontal time scale.

Lesson Plan. monitor project development or resource allocation on a horizontal time scale.

INVENTION CONVENTION. Webquest. by Diane Findlay

FORMATIVE ASSESSMENT STRATEGIES, DEFINITIONS, EXAMPLES

Multiple Intelligence

Accommodated Lesson Plan on Solving Systems of Equations by Elimination for Diego

Pesticide Applicator Recertification: Online Training Course Design and Structure

Mathematics Curriculum Guide Precalculus Page 1 of 12

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Requirements Engineering

Factoring Quadratic Trinomials

Lesson Plan. Preparation

Building an Effective elearning Experience with Drupal. Ray Saltini of Blink Reaction

(Refer Slide Time: 01:52)

MATHEMATICS: REPEATING AND GROWING PATTERNS First Grade. Kelsey McMahan. Winter 2012 Creative Learning Experiences

Student Profile Template

How To Write A Checkbook

How To Factor Quadratic Trinomials

2 Mathematics Curriculum

CTE Toolkit Lesson Plans and Handouts Help your students learn about the numerous career pathways and opportunities available.

Study Strategies Used By Successful Students

(CONTINUED ON NEXT PAGE)

High School Lesson Plan: PlayInsure.com Home and Auto Insurance Experience An animated experience of insurance needs and risks

How To Design An Information System

Software Project Management: Methodologies & Techniques

INDEX OF LEARNING STYLES *

Days. Day 1. Reflection Teacher Responsibilities. Lesson Plans

Could you use more resources to help you learn & retain info? Do you create your own study aids to ensure you learn the course content?

PART II: ACTIVITY PACKETS. Lesson Planning. What Are the Essential Components of a Lesson Plan?

Wilson Area School District Planned Course Guide

University of Toronto TEFL Online

Middle School Interactive Websites

SCRATCH Lesson Plan What is SCRATCH? Why SCRATCH?

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

Lesson Plan. Preparation

Getting Started 15 minutes 1. Journal entry: What types of messages can be communicated with a single bit? 2. Introduce the sending bits challenge

Days of the Week Grade Kindergarten

Learning Objectives 9.2. Media Run Times 9.3

Howard Gardner s Theory of Multiple Intelligences

RISK MANAGEMENT HEALTH CARE

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Lesson Plan. Parallel Resistive Circuits Part 1 Electronics

VAK Learning Styles Self-Assessment Questionnaire

How To Develop An Application

How To Teach A Class

What is a web site? The Basic Framework. Why Should I Choose the Web Site Category?

Learning Design Principles for Power Point Presentations

Demonstrating Understanding Rubrics and Scoring Guides

Instructional Design for e-learning. Dr Richard Hyde Atlantic Link Ltd.

TEEL 670, Workshop in Education II: CONTEMPORARY AMERICAN EDUCATION (Graduate Version) Phone:

Subject: Math Grade Level: 5 Topic: The Metric System Time Allotment: 45 minutes Teaching Date: Day 1

Chapter 13: Program Development and Programming Languages

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Lesson Plan. Performance Objective: Upon completion of this assignment, the student will be able to identify the Twelve Principles of Animation.

Transcription:

Lesson Plan Lesson Duration: Weeks/Days/Hours/Minutes 3 weeks Performance Objective: Course Title: Advanced Computer Programming Session Title: Project Management Basics Upon completion of this assignment, the student will be able to: identify various features of Project Management such as development models, software life cycle and their components. The student should also be able to: perform some of the functions such as creating and implementing a test plan and time management. Specific Objectives: The student will be able to determine how rapidly they develop software using a burn down chart. The student will be able to identify and list the components of the Software Life Cycle The student will be able to perform a needs analysis on a set of requirements through creating user stories. The student will be able to identify and describe several software development methodologies. The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations: 130.277 (c) 1.I demonstrate planning and time-management skills such as project management and storyboarding 3.D conduct project needs analysis 4.B identify software resources and individual project risks 4.C identify software development methodologies 6.A articulate the information system life cycle 6.B identify system analysis issues related to design, testing, implementation, and maintenance 6.D identify current information life cycle models 8.S prepare a project testing plan 9.A develop a test plan 9.C develop test cases 9.D perform software testing Instructor/Trainer References: Huijbers, Rico, Funs Lemmens, Bram Senders, Sjoerd Simons, Bert Spaan, Paul Van

Tilburg, and Koen Vossen. Software Project Management: Methodologies & Techniques. Thesis. Technische Universiteit Eindhoven, 2004. Print. Schach, Stephen R. Software Engineering with Java. Chicago: Irwin, 1997. Print. Kölling, Michael. "Unit Testing in BlueJ." Web. 3 June 2011. <http://bluej.org/tutorial/testing-tutorial.pdf>. CodingBat. Web. 30 May 2011. <http://javabat.com>. Rosetta Code. Web. 26 May 2011. <http://rosettacode.org/>. HP CodeWars - Home. Web. 26 May 2011. <http://hpcodewars.org/>. Content developer knowledge Instructional Aids: Presentations Project Management Basics Project Management Software Life Cycle Project Management - Methodologies Worksheets Waterfall Model worksheet Iterative Model worksheet Life Cycle Pitfalls worksheet Quizzes (Quiz and Key provided for each) Project Management Basics Quiz Project Management Software Life Cycle Quiz Project Management Methodologies Quiz Case Study Labs (Lab and Key provided for each) Lab 1 Requirements Lab 2 Planning Lab 3 Implementation Lab 4 Verification Case Study Student Source Files (a solution is also provided, though the instructor is encouraged to create their own solution) Calculator.java CalcEngine.java CalcView.java Materials Needed: JavaDocs (either through internet access or saved to student s workstation) Copies of Worksheets Copies of Quizzes Copies of Labs Student Files should be loaded on student computers, or provided in some manner. Equipment Needed: Each student will require a computer with a java compiler with a java JDK version of 1.5 or newer. Learner 2

Students should have observation journals to record common errors and other observations. Students should be comfortable with the concepts of Objects, Object-Oriented Design and be able to develop a simple program. Introduction MI Introduction (LSI Quadrant I): Present the students with the following scenario: You are part of a programming team developing an application. There are six of you working on the same program. What are some of the things you can do to make sure that each of you does your fair share of the work, but at the same time get the program to work with as little tweaking as possible? Outline MI Outline (LSI Quadrant II): Instructor Notes: I. Project Management Basics a. Initiation b. Planning c. Execution d. Closure This is an overview. The Basics Slides go over this information. II. Software Life Cycle a. Requirements b. Design c. Implementation d. Verification e. Deployment f. Maintenance g. Implementations III. Methodologies a. Waterfall b. Rational Unified Process c. extreme Programming After the overview here, you can safely start the Case Study. For the case study, it is important to focus on the process more than the correctness of the code. This material is covered in the Software Life Cycle Slides. This section is covered in the Methodologies Slides. Note that Waterfall is considered a bad example of design methodology. Also, extreme Programming is properly capitalized Application MI Guided Practice (LSI Quadrant III): 3

Students should be guided through the first two labs. It may even be helpful to have them work on the labs in pairs or teams of three (but no larger). MI Independent Practice (LSI Quadrant III): Completion of Worksheets and Case Study. Summary MI Review (LSI Quadrants I and IV): Students will incorporate the concepts introduced by completing the hands on labs as well as worksheets. It would also be a good idea to have the students keep an observation journal to record observations of common errors they encounter and what kinds of results they are getting. Evaluation MI Informal Assessment (LSI Quadrant III): There are periodic questions in the presentations that the instructor can use to gauge some level of understanding. The instructor should present the students with a scenario, and, in small groups, have the students determine the most appropriate data structure to represent the scenario, and why they chose it. You may also use the worksheets to assess whether or not the students are progressing well. The worksheets are important in determining whether or not the students are ready to complete the quizzes themselves. MI Formal Assessment (LSI Quadrant III, IV): Instructor may use any or all of the following instruments for formal assessment: Basics Quiz Software Life Cycle Quiz Methodologies Quiz Case Study Results User Stories (use cases) Design plan Test Plan Burn-Down Chart Completed Tests 4

Extension MI Extension/Enrichment (LSI Quadrant IV): There are many more project management methodologies and techniques. Students may consider exploring other methodologies such as SCRUM or Agile. Students interested in project management should be encouraged to read any of the numerous books on the subject such as The Mythical Man Month or The Pragmatic Programmer. Ambitious students may consider applying for an internship with a local software development company. Icon MI Teaching Strategies Verbal/ Linguistic Logical/ Mathematical Visual/Spatial Musical/ Rhythmic Bodily/ Kinesthetic Intrapersonal Interpersonal Lecture, discussion, journal writing, cooperative learning, word origins Problem solving, number games, critical thinking, classifying and organizing, Socratic questioning Mind-mapping, reflective time, graphic organizers, color-coding systems, drawings, designs, video, DVD, charts, maps Use music, compose songs or raps, use musical language or metaphors Use manipulatives, hand signals, pantomime, real life situations, puzzles and board games, activities, roleplaying, action problems Reflective teaching, interviews, reflective listening, KWL charts Cooperative learning, roleplaying, group brainstorming, cross-cultural interactions Personal Development Strategies Reading, highlighting, outlining, teaching others, reciting information Organizing material logically, explaining things sequentially, finding patterns, developing systems, outlining, charting, graphing, analyzing information Developing graphic organizers, mindmapping, charting, graphing, organizing with color, mental imagery (drawing in the mind s eye) Creating rhythms out of words, creating rhythms with instruments, playing an instrument, putting words to existing songs Moving while learning, pacing while reciting, acting out scripts of material, designing games, moving fingers under words while reading Reflecting on personal meaning of information, studying in quiet settings, imagining experiments, visualizing information, journaling Studying in a group, discussing information, using flash cards with other, teaching others Naturalist Existentialist Natural objects as manipulatives and as background for learning Socratic questions, real life situations, global problems/questions Connecting with nature, forming study groups with like minded people Considering personal relationship to larger context 5

Project Management Waterfall Model Draw a diagram of the Waterfall Model: 6

Project Management Waterfall Model KEY Draw a diagram of the Waterfall Model: 7

Project Management Iterative Model Draw a diagram of an iterative model: 8

Project Management Iterative Model KEY Draw a diagram of an iterative model: 9

Project Management Life Cycle Pitfalls List at least two pitfalls that might occur during each of the stages of the Software Life Cycle. Requirements Gathering Design Implementation Verification Maintenance 10

Project Management Life Cycle Pitfalls KEY List at least two pitfalls that might occur during each of the stages of the Software Life Cycle. Requirements gathering: Any of the answers below are valid: - Client says one thing but means something else - Not all requirements are specified (incomplete specification) - Misunderstanding about what the client wants Design: Any of the answers below are valid: - Misinterpretation of requirements - Inefficient or wrong solution to a problem - Incomplete or over-complicated design Implementation Any of the answers below are valid: - Implementing faulty or buggy code - Misinterpretation of design - Not following the design and doing your own thing - Mismatched components preventing integration - Lack of communication between developers - Overwriting or deleting someone else s work - Not understanding someone else s code and changing how it works Verification: Any of the answers below are valid: - Incomplete tests (not testing for something you should) - Ignoring test results - Misinterpreting test results 11

Maintenance: Any of the answers below are valid: - Misinterpretation of requests from client - Fixing something that isn t broken - Almost any of the concerns that may arise during the rest of the software life cycle 12

Program Management Basics Quiz 1. Which of the following Project Management processes determines the feasibility of a project? b. Project Planning d. Project Closure 2. Which of the following Project Management processes would include selecting a development team? b. Project Planning d. Project Closure 3. Which of the following Project Management processes would involve Risk Assessment and Risk Management? b. Project Planning d. Project Closure 4. Which of the following Project Management processes would scheduling occur in? b. Project Planning d. Project Closure 5. Which of the following Project Management processes would a development methodology be selected? 13

b. Project Planning d. Project Closure 6. What is a CASE tool? a. A device to examine the inside of a computer b. A program to package software c. A program to aid in the design of software d. Computer Aided Software Evaluator 7. What methodology are the methodologies discussed in this lesson? a. Rational Unified Process b. Waterfall c. extreme Programming d. all of the above 8. Which of the following Project Management processes includes writing code? b. Project Planning d. Project Closure 9. Which of the following Project Management processes includes quality assurance? b. Project Planning d. Project Closure 10. Which of the following Project Management processes might involve a postmortem? b. Project Planning 14

d. Project Closure 11. During which of the following Project Management processes would you deliver software to the client? b. Project Planning d. Project Closure 15

Program Management Basics Quiz KEY 1. Which of the following Project Management processes determines the feasibility of a project? b. Project Planning d. Project Closure 2. Which of the following Project Management processes would include selecting a development team? b. Project Planning d. Project Closure 3. Which of the following Project Management processes would involve Risk Assessment and Risk Management? b. Project Planning d. Project Closure 4. Which of the following Project Management processes would scheduling occur in? b. Project Planning d. Project Closure 5. Which of the following Project Management processes would a development methodology be selected? 16

b. Project Planning d. Project Closure 6. What is a CASE tool? a. A device to examine the inside of a computer b. A program to package software c. A program to aid in the design of software d. Computer Aided Software Evaluator 7. What methodology are the methodologies discussed in this lesson? a. Rational Unified Process b. Waterfall c. extreme Programming d. all of the above 8. Which of the following Project Management processes includes writing code? b. Project Planning d. Project Closure 9. Which of the following Project Management processes includes quality assurance? b. Project Planning d. Project Closure 10. Which of the following Project Management processes might involve a postmortem? b. Project Planning d. Project Closure 17

11. During which of the following Project Management processes would you deliver software to the client? b. Project Planning d. Project Closure 18

Program Management Software Life Cycle Quiz 1. Which step of the Software Life Cycle would involve testing software? a. Design b. Implementation c. Requirements d. Verification 2. Which step of the Software Life Cycle would involve programming? a. Design b. Implementation c. Requirements d. Verification 3. Which step of the Software Life Cycle would involve requirements analysis? a. Design b. Implementation c. Requirements d. Verification 4. Which step of the Software Life Cycle is used to determine what the software should do? a. Design b. Implementation c. Requirements d. Verification 5. List one pitfall that could occur during requirements gathering: 19

6. List one pitfall that could occur during design: 7. List one pitfall that could occur during implementation: 8. List one pitfall that could occur during verification: 20

9. List one pitfall that could occur during maintenance: 10. Draw a diagram of the Waterfall Model: 11. Draw a diagram of an iterative model: 21

Program Management Software Life Cycle Quiz KEY 12. Which step of the Software Life Cycle would involve testing software? a. Design b. Implementation c. Requirements d. Verification 13. Which step of the Software Life Cycle would involve programming? a. Design b. Implementation c. Requirements d. Verification 14. Which step of the Software Life Cycle would involve requirements analysis? a. Design b. Implementation c. Requirements d. Verification 15. Which step of the Software Life Cycle is used to determine what the software should do? a. Design b. Implementation c. Requirements d. Verification 16. List one pitfall that could occur during requirements gathering: Any of the answers below are valid: - Client says one thing but means something else - Not all requirements are specified (incomplete specification) - Misunderstanding about what the client wants 22

17. List one pitfall that could occur during design: Any of the answers below are valid: - Misinterpretation of requirements - Inefficient or wrong solution to a problem - Incomplete or over-complicated design 18. List one pitfall that could occur during implementation: Any of the answers below are valid: - Implementing faulty or buggy code - Misinterpretation of design - Not following the design and doing your own thing - Mismatched components preventing integration - Lack of communication between developers - Overwriting or deleting someone else s work - Not understanding someone else s code and changing how it works 19. List one pitfall that could occur during verification: Any of the answers below are valid: - Incomplete tests (not testing for something you should) - Ignoring test results - Misinterpreting test results 23

20. List one pitfall that could occur during maintenance: Any of the answers below are valid: - Misinterpretation of requests from client - Fixing something that isn t broken - Almost any of the concerns that may arise during the rest of the software life cycle 21. Draw a diagram of the Waterfall Model: 22. Draw a diagram of an iterative model: 24

25

Program Management Methodologies Quiz 1. What is the most commonly used software development models? a. Waterfall b. Rational Unified Process (RUP) c. extreme Programming (XP) d. None of the above 2. What are the six steps of Waterfall development, in order? 3. What is an advantage of using Waterfall Development? 4. What is a disadvantage of using Waterfall Development? 5. What is an advantage of using Ration Unified Process Development? 26

6. What is a disadvantage of using Ration Unified Process Development? 27

Project Management Case Study Lab 1 Introduction: To examine the various stages of Project Management you are going to use the development process to design and build a four function calculator. Each step of the way, you will focus on an aspect of the software life cycle and get a feel for how project management is implemented. To get started, you need to gather the requirements for the project. The client has requested that you build a four function calculator. The client has drawn a sketch of what they want it to look like using a digital paint program. The program should be in a window. There needs to be a display and 16 button: the 10 numbers, the four functions +,-,/ and *, as well as a Clear button to clear the screen and register and an equals button to evaluate the last entered equation. When the program is opened, it should display the number 0 and the register should be storing a null value (the integer null value is 0). The number displayed in the display should be the last number in the register unless the user has pressed a number button. If a number button is pressed, the display should show the number being typed in until an operator is pressed. Once an operator is pressed, the value should be calculated, stored in the register and then display that number in the register. Assignment: With a partner, try to come up with a complete set of User Stories and Use Cases for how a four function calculator might be used. For example, a use case might be: I press the C button and it clears the register and the display displays the number 0. 28

Project Management Case Study Lab 1 KEY The students should have a series of use cases similar to the list provided. They should have at least those shown here. They may have more, depending on how ambitious they are. You may want to suggest the ones they are missing to help guide them. I press the C button and it clears the register and the display displays the number 0. When I open the Calculator, the display window shows the number 0. When I press a number button, it multiplies the value in the register by ten then adds the number I pressed. The number being typed is shown in the display without the components from the register. When I press an operator, it applies the last operator on the value in the register and the value in the display (register op display) and stores the result in the register then shows the value in the register. 29

Project Management Case Study Lab 2 Planning: Now that we know what the requirements are, we need to look at how we are going to put the program together. To do this, you are going to put together a plan to assemble the project and design a test plan to determine if the program works. To eliminate the frustration of having to figure out the GUI, a graphical interface is provided for you. All you have to do is fill in the details of a Calculation Engine or CalcEngine. We know we have to support addition, subtraction, division and multiplication, but what about = or evaluation? Also, how should we handle entering numbers? Assignment 1 Create a design for how you plan to implement individual features. Include a design for: - Storing the number displayed - Performing the operations - Evaluating a value based on the value in the register and the one in the display - How to store numbers entered from the button pad - Anything else you think you might need. Assignment 2 Create a test plan. Come up with a series of at least 10 tests that you will use to determine if the calculator is functioning properly. An example test would be Press 3, then 2, then 5. The number 325 should show in the display. 30

Project Management Case Study Lab 2 KEY Planning: Assignment 1 Develop a solution for the calculator project and compare the students plans with your solution (or use the solution provided with the lesson). A valid answer will contain ideas on how to solve all the key problems: Storing the number displayed Performing the operations Evaluating a value based on the value in the register and the one in the display How to store numbers entered from the button pad A correct answer is less important than the process of developing the plan, but help students with suggestions on how they can improve their design. For example, for Store the number displayed, if they said, create a variable to store the number entered, this is minimal effort, but at least they know they need a variable. A complete design spec for that specific line would look something like: Accept input from the interface. Each time a number is received, append the number to the end of the sequence. This can be done by storing the value as a string and using the append() method of the String class. The String will be directly set to the textfield. This is not the only solution, as you see in the solution provided; the number was stored as an int. Again, the actual solution doesn t matter; thinking about viable solutions is what matters here. Assignment 2 The test plan needs to include at a minimum the following features: A test to insure numbers are entered correctly A test for each of the operators to make sure they work ( +, -. *, /, =, and C) 31

Project Management Case Study Lab 3 Implementation: You are ready to implement your program. Before you do, though, we re going to look at one of the things you need to do in Project Management time tracking. There are 6 features in the calculator that you are going to implement: number entry addition subtraction multiplication division evaluation Assignment Draw a graph with six marks on the y axis and 25 marks on the x axis The y axis is the number of features you are going to implement; the x axis is 10 minute intervals. Place a dot on x = 0, y = 6. This is your starting position. Then begin implementing your calculator. When you finish a feature, mark the amount of time it took you since the last feature. You should have a descending graph. Your chart should look like the example when you are done. This is called a burn-down chart. 32

Project Management Case Study Lab 3 KEY Assignment Check each student s graph to make sure it looks similar to the one on the right. Check often to ensure they are recording it correctly. Don t worry if it takes longer than the 4 hours allotted. 33

Project Management Case Study Lab 4 Verification: Now that you ve implemented your calculator, get out the test plan you created in Lab 2. Run your test plan determining if the tests pass or fail. If any fail, make corrections and run the tests again (keep separate copies of each test run). Once all your tests pass, you are ready to move to deployment. Deliver your project to your teacher with all copies of your test runs. Since this is a simple project, you probably won t need to worry about maintaining it unless you wanted to add features.see your teacher for extra credit 34

Project Management Case Study Lab 4 KEY Verification: Check to make sure the students have run all their tests and determined if they passed or failed and made necessary corrections. 35