The objective of this course is to educate students on fundamental programming practices. These practices encompass the comprehension of flowcharting, pseudocode methodologies, and the importance of applying proper techniques in program design.
Policies Faculty and students/learners must understand and comply with the policies found in two documents:
- University policies: To view this document, you need to be logged into the student website.
- Instructor policies: This document can be found in the Course Materials forum.
University policies may change, so make sure to read them at the beginning of each class. The policies may vary slightly depending on your class modality. If you have recently changed modalities, read the policies that apply to your current class.
The text provides information about the course mat
...erials for the "Introduction to Software Development" class. It mentions that the materials, which include a book titled "Prelude to Programming: Concepts and Design" by Venit and Drake, can be accessed on the student website. The text also indicates that Week One focuses on introducing software development and outlines the objectives of this particular week.
It is important to use a structured, modular approach when creating program requirements, design, and code.
1. In order to prepare for the course, there are several readings and tasks that need to be completed. These include reading the course description and objectives, the instructor’s biography, Appendix A, Chapter 2 and Chapter 3 of Prelude to Programming. There is also a due date for these tasks.
2. There is a CheckPoint task that involves reading Chapter 7 of Prelude to Programming and participating in clas
discussion. There are also weekly discussion questions that need to be responded to by certain dates. The resources for this task include Appendix B and Appendix C. The CheckPoint task involves building a program to track CD and DVD collections, using the table provided in Appendix C. This task requires identifying three processes, input data required for each process, and logical names for output items with their corresponding data types.
3. The second objective of Week Two is to identify the purposes and definitions of software development concepts.
2. 2 Use pseudocode to design a program for solving a computational problem.
Identify the application-level requirements of a conversion project. 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.
Due Points CheckPoint Software Development Activities and Purposes CheckPoint Chapter 2 Programming Problem Individual Application-Level Requirements 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.
Resources: Appendix B and Appendix F Complete the following assignment using Appendix F: 01/06/12 30 01/08/12 90 Course Design Guide IT/210 Version 5
List the application-level requirements for the Currency Conversion project.
Use a structured programming approach to create an input-process-output chart and a hierarchy chart for the application. Attach the table with the generated chart. Week Three: Structured Programming, Part I Details Objectives 3.1 Demonstrates the sequential processing control structure.
3.2 Demonstrate the selection processing control structure. Read Chapter 4 of Prelude to Programming. Participate in class discussion and respond to weekly discussion questions on January
15, 2012, January 10, 2012, January 12, 2012, and January 13, 2012. This assignment is worth a total of 10 points: reading (5 points), participation (3 points) and discussion questions (2 points). The topic is: Sequential and Selection Processing Control Structure.
Read the following scenario: 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.
30 Week Four: Structured Programming, Part II - Details Objectives
4. Show the iteration control structure.
4.2 Design complex program algorithms using the three basic control structures. Read Ch. 5 of Prelude to Programming. Design a program that models the worm's behavior in the following 01/20/12 30 Due Points Reading CheckPoint Course Design Guide IT/210 Version 5 4 Iteration Control Structure scenario: A worm is moving towards 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.
Please complete Appendix H and Appendix I by creating a hierarchy chart and flowcharts based on the requirements of the Currency Conversion program, as well as the
input-process-output table generated in Week Two. Additionally, develop pseudocode for the program design. Submit the assignment as an attachment by 01/22/12. This assignment is worth 90 points.
Week Five: Complex Data Structures Details Objectives:
1. Explain the importance of composite complex data structures.
5. 2 Generate the program design and pseudocode for a simple array. Read Ch. 6 of Prelude to Programming. Participate in class discussion. Respond to weekly discussion questions. 01/29/12 01/24/12 01/26/12 01/27/12 10 10 Due Points Reading Reading Participation Discussion Questions CheckPoint Simple Array Process 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. 30 Week Six: Verification and Validation Details
Objectives 6. 1 Recognize how requirements and desk review design are used to verify algorithms.
6.2 Test data creation for algorithm validation.
CheckPoint Algorithm Verification
In Appendix J, answer the following questions:
If input equals 0, what will be output?
If input equals 100, what will be output?
If input equals 51, what will be output?
If user enters Wingding, what will be output?
Is this design robust? If yes, explain why. If no, explain how to enhance its robustness.
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.
02/03/12 30 Individual Currency Conversion Test Procedure Generate a set of test inputs and expected results for the Currency Conversion program. Post the test procedure as an attachment.
02/05/12 90 Week Seven: File and Database Processing Details
Objectives 7. Determine when a sequential file is more useful than a database.
7. A flat file and a relational database are two distinct types that can be distinguished.
7.3 Design a suitable program to solve given programming problems using the top-down modular approach and pseudocode. Participate in class discussion. Respond to weekly discussion questions. CheckPoint Chapter 8 Programming Problems Individual Peer Reviews of Currency Conversion Test Procedure Complete parts a and b of Programming Problems 1 on p. 444 in Ch. 8 of Prelude to Programming.
analysis and pseudocode should be provided, but no diagrams are necessary. Peer reviews of two classmates' Currency Conversion Test Procedure assignments are required, and will be provided by the facilitator in the Individual forum on Day 1. Each peer review should include a completed Appendix K form. The completed Appendix K forms should be posted as an attachment.
Week Eight: Object-Oriented Design and Programming Details Objectives
8.1 Identify the main objects and graphical user interfaces (GUIs) of an electronic device.
Object-oriented, event-driven programming can be defined in the following way:
A simple object-oriented program is described in section 8.3.
Chapter 9 of Prelude to Programming explores the contrast between object-oriented and structured program design. Although understanding object-oriented methodologies can be difficult, it is crucial to acknowledge that they reflect human thinking patterns and problem-solving approaches. For example, imagine a house with different rooms like bedrooms, a kitchen, and a laundry room, each serving specific purposes. In the bedroom,
people sleep; in the laundry room, clothes get washed; and in the kitchen, cooking takes place.
Each room has its own required items for different tasks. For example, the laundry room does not have an oven, while the kitchen does not have a washing machine. However, you do not need to stay in the laundry room when the washer is running. Instead, you can go to the kitchen and start cooking dinner. But how do you know when it's time to go back and check on the laundry? You will receive a notification when the washer buzzer goes off, telling you to return to the laundry room and start a new load. Meanwhile, as you fold clothes in the laundry room, the oven timer may ring indicating that your dinner is ready.
What you have is a collection of clearly defined components that each offer a specific service and communicate with the other components through simple messages when there is a task to be completed. If we consider a kitchen as an example, we can observe that it comprises various smaller components such as the oven, refrigerator, and microwave. These smaller components come together to form larger objects which carry out the actual work. This perspective aligns with how we naturally perceive things in our everyday lives and is familiar to everyone. The same principle applies in object-oriented programming:
- Identify components that provide a distinct service.
Encapsulate all items in the component necessary to get the job done. 02/15/12 30 Due Points Reading CheckPoint Interfaces and Communication Messages Course Design Guide IT/210 Version 5 7 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 objectoriented thinking described above.
Create a table with the following four column headings: Top-Level 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 object-oriented and structured designs. Which of the designs makes more sense to you? Why? 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. of Prelude to Programming. Draw a GUI that will create the objects and provide access to each object’s processing methods. Note. Use the drawing tool in Microsoft® Word or in any other applicable drawing tool to complete this part of the assignment.
02/17/12 30 Individual Object-Oriented Design
02/19/12 90 Week Nine: Requirement Specifications, Design Specifications, and Processing Models Details Due Points Course
Design Guide IT/210 Version 5 8 Objectives 1. 1 Create requirement specifications, design specifications, and processing models, including input/out tables, data flow models, and procedural processing.
Join the class discussion and answer the capstone discussion question. Utilize your software development expertise to determine which process (requirements, design, coding, or testing) has the biggest impact on the overall success and quality of development. Provide a thorough explanation for your choice. 02/26/12 250 02/26/12 02/22/12 10 15 Participation Capstone Discussion Question Final Project Currency Conversion Gather all sections of the Currency Conversion development documentation (menu selection, requirements, design, and testing) and incorporate any suggested modifications from the facilitator.
Submit the assignment. 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.
The use of these marks does not imply endorsement, sponsorship, or affiliation.
This text has been edited to adhere to University of Phoenix® editorial standards and practices.