IT/210 Version 5
2
Week One: Introduction to Software Development
Details
Due
Points
Objectives
1.1 Describe the importance of using a structured, modular approach when creating program requirements, design, and code.
1.2 Identify how a computer processes and stores data.
Course
Preparation
Read the course description and objectives.
Read the instructor’s biography and post your own.
Reading
Read Appendix A.
Reading
Read Ch. 2 of Prelude to Programming.
Reading
Read Ch. 3 of Prelude to Programming.
Reading
Read Ch. 7 of Prelude to Programming.
Participation
Participate in class discussion.
Day 7
10
Discussion
Questions
Respond to weekly discussion questions. …show more content…
Day 4
10
W1 DQ1
Discussion Question 1
•
Due Date: Day 2 [post to the Main forum]
•
Post your response to the following: Why do you think the requirements analysis process is so difficult?
Describe two things you can do to overcome these difficulties. W1 DQ2
Discussion Question 2
•
Due Date: Day 4 [post to the Main forum]
•
Post your response to the following: When building a house, a structured, modular approach is better than a haphazard approach.
Explain how a structured approach relates to developing programs and why using an organized approach is important.
Course Design Guide
IT/210 Version 5
CheckPoint
Input Data and
Output Process
Resources: Appendix B, Appendix C
Read the following scenario:
You want to build a program that will keep track of your CD and DVD collection at home.
Use the table in Appendix C to complete this CheckPoint.
Identify at least three processes (capabilities) needed to keep track of your collection.
Identify the input data required for each process.
Identify a logical name for each data output item and type of data output: real number, integer, or text.
Post the table as an attachment.
Day 5
15
3
Course Design Guide
IT/210 Version 5
4
Week Two: Software Application Development
Details
Due
Points
Objectives
2.1 Identify the purposes and definitions of software development concepts.
2.2 Use pseudocode to design a program to solve a
computational
problem.
2.3 Identify the application-level requirements of a conversion project. CheckPoint
Software
Development
Activities and
Purposes
Match the software development activity or concept with the description or purpose of the activity using the table in
Appendix D.
Post the table as an attachment.
Day 3
10
CheckPoint
Chapter 2
Programming
Problem
Review the example in Appendix E and the additional examples on pp. 80 & 83 of Prelude to Programming.
Complete Programming Problem 2 on p. 109 of Ch. 2 of
Prelude to Programming.
Day 5
30
Assignment
Application-Level
Requirements
Resources: Appendix B and Appendix F
Day 7
90
Complete the following assignment using Appendix F:
List the application-level requirements for the Currency
Conversion project.
Use a structured programming approach to generate an input-process-output chart for the application.
Generate the hierarchy chart for the application.
Post the table as an attachment.
Course Design Guide
IT/210 Version 5
5
Week Three: Structured Programming, Part I
Details
Due
Points
Objectives
3.1 Demonstrate the sequential processing control structure.
3.2 Demonstrate the selection processing control structure.
Reading
Read Ch. 4 of Prelude to Programming.
Participation
Participate in class discussion.
Day 7
10
Discussion
Questions
Respond to weekly discussion questions.
Day 4
10
Day 5
30
W3 DQ1
Discussion Question 1
•
Due Date: Day 2 [Main] forum
•
Post your response to the following: Review the definition of control structure on Ch. 3 of Prelude to
Programming. Then, think about the pseudocode algorithm you would write for a simple task (making a peanut butter sandwich, for example) as well as three simple control structures that could be used to create this algorithm. What do you think is the most difficult part of creating the algorithm? What can you do to make this process easier?
W3 DQ2
Discussion Question 2
•
•
CheckPoint
Due Date: Day 4 [Main] forum
Post your response to the following: How do you use the three basic control structures—sequential, repetition, and selection—in your everyday problem solving? Do you think there are any other control structures that would make your problem-solving skills more efficient? If so, describe them.
Read the following scenario:
Course Design Guide
IT/210 Version 5
Sequential and
Selection
Processing
Control Structure
You are an accountant setting up a payroll system for a small firm. Each line of the table in Appendix G indicates an employee’s salary range and corresponding base tax amount and tax percentage. Given a salary amount, the tax is calculated by adding the base tax for that salary range and the product of percentage of excess and the amount of salary over the minimum salary for that range.
Design a program that solves this problem.
Generate a set of input test values.
Perform a design walkthrough to verify your design.
6
Course Design Guide
IT/210 Version 5
7
Week Four: Structured Programming, Part II
Details
Objectives
Design a program that models the worm’s behavior in the following scenario:
Day 5
30
Day 7
90
Read Ch. 5 of Prelude to Programming.
CheckPoint
Iteration Control
Structure
Points
4.1 Demonstrate the iteration control structure.
4.2 Design complex program algorithms using the three basic control structures.
Reading
Due
A worm is moving toward an apple. Each time it moves, the worm cuts the distance between itself and the apple by its own body length until the worm is close enough to enter the apple. The worm can enter the apple when it is within one body length of the apple.
Assignment
Currency
Conversion
Design
Resources: Appendix H and Appendix I
Complete the hierarchy chart in Appendix H and the flowcharts in Appendix I, based on the Currency Conversion program requirements and the input-process-output table you generated in Week Two.
Develop the pseudocode for the program design.
Post the assignment as an attachment.
Course Design Guide
IT/210 Version 5
8
Week Five: Complex Data Structures
Details
Due
Points
Objectives
5.1 Explain the need for composite complex data structures.
5.2 Generate the program design and pseudocode for a simple array.
Reading
Read Ch. 6 of Prelude to Programming.
Reading
Read Ch. 8 of Prelude to Programming.
Participation
Participate in class discussion.
Day 7
10
Discussion
Questions
Respond to weekly discussion questions.
Day 4
10
Day 5
30
W5 DQ1
Discussion Question 1
•
Due Date: Day 2 [Main] forum
•
Post your response to the following: Identify at least two data structures that are used to organize a typical file cabinet. Why do you feel it is necessary to emulate these types of data structures in a computer program?
For what kind of work project would you want to use this type of program?
W5 DQ2
Discussion Question 2
•
•
CheckPoint
Simple Array
Process
Due Date: Day 4 [Main] forum
Post your response to the following: Describe a programming project or situation in the workplace that would lend itself to array usage.
Complete Problem 4 on p. 350 in Ch. 6 of Prelude to
Programming. You are required to generate only the pseudocode, as described in the Week Two CheckPoint. No charting is required, but you may have to incorporate the bubble sort algorithm on pp. 304–309 to determine the number of salaries above and below the mean.
Course Design Guide
IT/210 Version 5
9
Week Six: Verification and Validation
Details
Objectives
Answer the following about the information in Appendix J:
Points
Day 5
30
Day 7
90
6.1 Recognize how requirements and desk review design are used to verify algorithms.
6.2 Create test data to validate that algorithms handle user input data correctly.
CheckPoint
Algorithm
Verification
Due
Assignment
Currency
Conversion Test
Procedure
What will be printed if the input is 0?
What will be printed if the input is 100?
What will be printed if the input is 51?
What will be printed if the user enters Wingding?
Is this design robust? If so, explain why. If not, explain what you can do to make it robust.
How many levels of nesting are there in this design?
Provide a set of values that will test the normal operation of this program segment. Defend your choices.
Provide a set of test values that will cause each branch to be executed.
Provide a set of test values that test the abnormal operation of this program segment.
Generate a set of test inputs and expected results for the
Currency Conversion program.
Post the test procedure as an attachment.
Course Design Guide
IT/210 Version 5
10
Week Seven: File and Database Processing
Details
Due
Points
Objectives
7.1 Determine when a sequential file is more useful than a database. 7.2 Differentiate between a flat file and a relational database.
7.3 Design a suitable program to solve given programming problems using the top-down modular approach and pseudocode. Participation
Participate in class discussion.
Day 7
10
Discussion
Questions
Respond to weekly discussion questions.
Day 4
10
W7 DQ1
Discussion Question 1
•
Due Date: Day 2 [Main] forum
•
Post your response to the following: Under what circumstances would you use a sequential file over a database? Describe these circumstances. When would a database be more beneficial than a sequential file? Is it possible for the two types of permanent storage to be used interchangeably? Explain your answers. W7 DQ2
Discussion Question 2
•
Due Date: Day 4 [Main] forum
•
Post your response to the following: What are some of the key differences between a flat file and relational database? Which of the two storage methods do you think is most useful in a real-world application?
Course Design Guide
IT/210 Version 5
Exercise
Peer Reviews of
Currency
Conversion Test
Procedure
Perform peer reviews of two classmates’ Currency
Conversion Test Procedure assignments, which your facilitator will place in in the Assignment section of eCampus on Day 1.
Day 3
20
Day 5
30
Complete the Appendix K form for each peer review.
Post the completed Appendix K forms as an attachment.
CheckPoint
Chapter 8
Programming
Problems
Complete parts a and b of Programming Problems 1 on p.
444 in Ch. 8 of Prelude to Programming.
Provide the analysis and pseudocode only. No diagrams are required. 11
Course Design Guide
IT/210 Version 5
12
Week Eight: Object-Oriented Design and Programming
Details
Objectives
Understanding object-oriented methodologies is often difficult.
You already understand that object-oriented analysis and design emulates the way human beings tend to think and conceptualize problems.
Day 3
30
Read Ch. 9 of Prelude to Programming.
CheckPoint
Interfaces and
Communication
Messages
Points
8.1 Identify both the top-level objects and the GUI interfaces of an electronic product.
8.2 Describe object-oriented, event-driven programming.
8.3 Describe a simple object-oriented program.
8.4 Recognize the difference between object-oriented and structured program design.
Reading
Due
As an example, consider a typical house in which there are several bedrooms, a kitchen, and a laundry room—each with a distinct function. You sleep in the bedroom, you wash clothes in the laundry room, and you cook in the kitchen. Each room encapsulates all the items needed to complete necessary tasks.
You do not have an oven in the laundry room or a washing machine in the kitchen. However, when you do the laundry, you do not just add clothes to the washer and wait in the laundry room; once the machine has started, you may go into the kitchen and start cooking dinner. How do you know when to go back to check the laundry? When the washer buzzer sounds, a message is sent to alert you to go back into the laundry room to put in a new load. While you are folding clothes in the laundry room, the oven timer may ring to inform you that your dinner is done cooking.
What you have is a set of well-defined components: Each provides a single service to communicate with the other components using simple messages when something needs to be done. If you consider a kitchen, you see it is composed of several, smaller components, including the oven, refrigerator, and microwave. Top-level objects are composed of smaller components that do the actual work. This perspective is a very natural way of looking at the world, and one with which everyone is familiar. The same thing is done in object-oriented programming:
Identify components that perform a distinct service.
Course Design Guide
IT/210 Version 5
Encapsulate all items in the component necessary to get the job done.
Identify the messages that need to be provided to the other components.
Although the details can be quite complex, they are the basic principles of object-oriented programming.
Consider the microwave oven in your kitchen, using the object-oriented thinking described above.
Create a table with the following four column headings: TopLevel Objects, Communicates With, Incoming Messages, and
Outgoing Messages.
Identity the top-level objects of the microwave.
Explain some graphical user interfaces and communication messages that occur during the operation of a microwave.
Describe some of the advantages of having a componentized system. For example, what happens if the microwave breaks?
Post your completed CheckPoint as an attachment.
CheckPoint
Object-Oriented
Data and
Processes
Identify a task you perform regularly, such as cooking, mowing the lawn, or driving a car.
Write a short, structured design—using pseudocode only— that accomplishes this task.
Think about this task in an object-oriented way and identify the objects involved in the task.
Identify how you can encapsulate the data and processes you identified into an object-oriented design.
Describe the architectural differences between the objectoriented and structured designs. Which of the designs makes more sense to you? Why?
Day 5
30
Assignment
Object-Oriented
Design
Generate an object-oriented design for a system that keeps tracks of your CD and DVD collection.
Identify each of the classes, associated data, and operations for the classes.
Generate the pseudocode for each of the classes as demonstrated on p. 458 in Ch. 9 of Prelude to Programming.
Draw a GUI that will create the objects and provide access to each object’s processing methods.
Day 7
90
Note. Use the drawing tool in Microsoft® Word or in any other applicable drawing tool to complete this part of the assignment. 13
Course Design Guide
IT/210 Version 5
14
Week Nine: Requirement Specifications, Design Specifications, and Processing Models
Details
Due
Points
Objectives
9.1 Create requirement specifications, design specifications, and processing models, including input/out tables, data flow models, and procedural processing.
Participation
Participate in class discussion.
Day 7
10
Capstone
Discussion
Question
Respond to the capstone discussion question.
Day 3
15
Day 7
250
W9 DQ
Capstone Discussion Question
•
•
Final Project
Currency
Conversion
Due Date: Day 3 [Main] forum
Post your response to the following: Drawing upon your knowledge of software development, which process—requirements, design, coding, or testing—do you think has more impact on the overall success and quality of development? Explain your answer.
Consolidate all sections of the Currency Conversion development documentation: menu selection, requirements, design, and testing.
Incorporate any changes recommended by the facilitator.
Post the assignment as an attachment.
Copyright
University of Phoenix® is a registered trademark of Apollo Group, Inc. in the United States and/or other countries.
Microsoft®, Windows®, and Windows NT® are registered trademarks of Microsoft Corporation in the
United States and/or other countries. All other company and product names are trademarks or registered trademarks of their respective companies. Use of these marks is not intended to imply endorsement, sponsorship, or affiliation.
Edited in accordance with University of Phoenix® editorial standards and practices.