HOME OBJECTIVES OVERVIEW TASK 1 TASK 2 TASK

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP COMPUTATIONAL THINKING FOR INFORMATION TECHNOLOGY

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP STUDENT SCENARIO: PROGRAM DESIGN PROJECT In this scenario, your school has decided to purchase movies for students to rent. Your assignment is to design a program that will help your school keep track of which movies are available, which movies are rented and the student bill. Theresa Kim will be your guide for the lesson. Your instructor will be your overall project manager and information resource.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP OBJECTIVES [STILL NEED OBJECTIVES] This course will enable you to develop logical thinking skills, including: • Asking probing questions to uncover details of a problem • Clearly defining a problem • Defining clear success criteria for the project including measurable objectives

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Hi, I’m Theresa. I’ll be your guide for this assignment.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP PROJECT OVERVIEW You will work on this project for the entire semester adding to the project when you learn a new design skill. You will not design the entire project at one time. You submit one portion of the project at a time.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Your Assignment Create a pseudocode design for a program that will allow students to rent movies. The system will allow students to search the available movie inventory, return a movie and rent a movie. The student information is located using their email address. After the student rents the movie, the system will list the movies the student rented and a bill. The student will be prompted to enter their payment information.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP The Completed System Will: • Store student and movie information. • Update the movie inventory. (keep an accurate count of the number of movies available) • Bill a customer using the following rules: – Students can only rent up to 3 movies at a time – If students rent 3 movies, they receive 1 of the three movies for free – Each movie costs $1. 50

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP • Billing rules (cont. ): – A 5% Sales tax is added to the total cost. – If the movie is rated R, the system must verify that the student is 17 years old or older. If the student is under 17, an error message is printed and the movie is removed from the student's list of movies.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Ready to get started? Your tasks are waiting for you!

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP TASK 1: DATA FILES For this task, you will create preliminary data files.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Task 1 Overview The first step is to determine the type of input data needed for the movie check-out system. You may learn that you need to add more fields as you continue to work on the problem.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables 1. Create a sample Customer data file that includes at least 5 records – Create headings over the columns – Save the file as Customer. Data_Last. Name (where Last. Name is the your last name)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables (cont. ) 2. Create a sample Movie data file that includes at least 10 records – Create headings over the columns – Save the file as Movie. Data_Last. Name (where Last. Name is the your last name)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables (cont. ) 3. Create a sample Payment data file that includes at least 5 records – Create headings over the columns – Save the file as Payment. Data_Last. Name (where Last. Name is the your last name)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Now you’re ready to move on to the next task.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP TASK 2: BASIC DESIGN (SIMPLE SEQUENCE AND SELECTION) For this task, you will build on your work in Task 1 and create code to prompt a student for specific data.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables Create a pseudocode/flowchart design to prompt a student for their Email Address and the titles of the three movies they want to rent. The problem should display the Student’s email address and a total bill. Take into account the data that you created during Task 1. Modify the files that you create during Task 1. you need to add more fields to the files.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Action Steps 1. Bill a student using the following rules: • Students can rent up to 3 movies. • If the movie is rated R, the system must verify that the customer is 17 years old or older • If the customer is under 17, an error message is printed stating that the customer is not allowed to rent the movie

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Action Steps (cont. ) 1. Rules (cont. ): • Each movie costs $1. 50 • A 5% Sales tax is added to the total cost. 2. Save the file as: Simple_Sequence_Selection_School. Name (where School. Name is the name of your school)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Good job. Let’s move on!

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP TASK 3: DESIGN FOR MULTIPLE CUSTOMERS (ITERATION – LOOP) For this task, you will modify your work in Task 2 to include a loop.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables Modify the pseudocode/flowchart design that you created in Task 2 to include statements to prompt the student to enter the movie titles one movie at a time. After the student has finished entering the movie titles, the system will calculate and print the bill. Hint: use a loop to process the total bill.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Action Steps 1. Add the statement(s) for the following: • If customer rents 3 movies, they receive 1 of the three movies for free 2. Save the file as Iteration_School. Name (where School. Name is the name of your school)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP You’re ready for your next task.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP TASK 4: ORGAINZING STATEMENTS (MODULES) For this task, you will enhance your Task 3 work with new modules.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables Modify the pseudocode/flowchart design that you created during Task 3 to include at least the following modules. • Enter Student Email • Calculate the Bill • Print the Bill After the student has finished entering the movie titles, the system will calculate and print the bill.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Action Steps 1. Create a hierarchy chart for the modules 2. Save the hierarchy chart as Hierarchy_Chart_Last. Name (where Last. Name is your Last Name) 3. Save the pseudocode/flowchart design using the filename Modules_Last. Name (where Last. Name is your Last Name)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Let’s move on to Task #5.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP TASK 5: ORGANIZING DATA (ARRAYS) For this task, you will create data arrays, adding to the work you completed in Task 4.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables 1. Modify the pseudocode/flowcharting design that you created in Task 4 to include at least the following modules: – Enter the Movie. Name into an array named Movies and Quantityon. Hand into an array named Movie. Quantity • The information for the movies is stored in the Movie. Data_Last. Name file • Quantityon. Hand = -999 when end the file is reached)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables (cont. ) 1. Modify the pseudocode/flowcharting design that you created in Task 4 to include at least the following modules: – Update Movie inventory (add to inventory/deduct from inventory) – Calculate and print the customer bill – Calculate and print the total daily sales – Calculate and print the average number of movies rented

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables (cont. ) 2. The customer will be prompted to enter their email address and whether they want to rent or return a movie. 3. If the student wants to rent a movie, after the customer has finished entering the movie title(s), the system will calculate and print the bill. 4. If the student wants to return a movie, a message is printed on the screen after returning the movie(s)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables (cont. ) 5. Modify the hierarchy chart to include the new modules. Save the hierarchy chart as Hierarchy_Last. Name 6. Save the pseudocode/flowchart design using the filename Arrays_Last. Name (where Last. Name is your last name)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP OK, you’re ready for your last task.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP TASK 6: OBJECTS For this task, you will use object-oriented design to design classes.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables: Part 1 Use object-oriented design to design a class called Customer that will receive the information in the Sample Customer Data file that you created during Task 1 of the project. The class that you create will receive the customer data, validate the data and display the input data.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Action Steps: Part 1 1. Design the class table 2. Write an algorithm for each operation 3. Write a test or driver algorithm to test the solution

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables: Part 2 Use object-oriented design to design a class called Movie that will receive the information in the Sample Movie Data file that you created during Task 1 of the project. The class that you create will receive the movie data, validate the input data and print the valid movie data that have a quantity amount equal to 0.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Action Steps: Part 2 1. Design the class table 2. Write an algorithm for each operation 3. Write a test or driver algorithm to test the solution

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Deliverables: Part 3 Use object-oriented design to design a class called Payment that will receive the information in the Sample Payment Data file that you created during Task 1 of the project. The class that you create will receive the payment data, validate the input data and print the data.

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP Action Steps: Part 3 1. Design the class table. 2. Write an algorithm for each operation. 3. Write a test or driver algorithm to test the solution When you are done with Parts 1 -3, save the file as Objects_Last. Name (where Last Name is your last name)

HOME | OBJECTIVES | OVERVIEW | TASK 1 | TASK 2 | TASK 3 | TASK 4 | TASK 5 | TASK 6 | HELP INSTRUCTOR CONTACT INFORMATION e. Mail: Phone: Office location: Office hours: Other info:
- Slides: 42