Course Syllabus
PRG/210 FUNDAMENTALS OF PROGRAMMING WITH ALGORITHMS AND LOGIC Course Start Date: 04/06/10 Course End Date: 05/10/10
Please print a copy of this syllabus for handy reference. Whenever there is a question about what assignments are due, please remember this syllabus is considered the ruling document.
Copyright Copyright ©2009 by University of Phoenix. All rights reserved. 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.
Facilitator Information
Travis Sprouse [email protected] (University of Phoenix) [email protected] (Personal) 540-832-2779 (EST)
Facilitator Availability Although I will be online off and on throughout the day during the week, I generally set aside time specifically for this course each evening between 6 p.m. - 9 p.m. Eastern Standard Time. On Saturdays, I tend to be online during the morning hours of 8 a.m. - 12 p.m., although I sometimes will check in once or twice late that evening. If these times are not convenient for you, please let me know. I will be happy to accommodate your schedule, if possible. I provide you with these times to make it easier to communicate with me, and not to limit our contact. I want you to know that, should you need to contact me outside these time frames, you should not hesitate to do so. I am best reached via e-mail. If you do need to call me, please leave a message. For emergencies, when you are not able to gain access to messages on the Online Learning System (OLS), please send a message to my personal email address. In the event a third party needs to contact me, please direct them to my contact information listed under "facilitator information." No third party should use your login credentials to gain access to the classroom.
Where to Go to Class Main: This is the main forum for the class and is where discussion is conducted. It has read-and-write access for everyone. Chat-Room: This is a read-and-write access forum. It is designed as a place to discuss issues not related to the course content. This is the forum to which we will send our bios. Course-Materials: This is a read-only forum, which means you can read messages here but cannot send any. This is where I will post the course syllabus and materials. Learning-Team-A, B, C, D, E and F: These six Learning Team forums will be used as workrooms for the learning teams. You will be assigned to one of these learning teams. Individual Forum: You will see one forum with your name on it. This is a private forum, shared only by you and me, the facilitator. Your classmates will not have access to this forum. You can ask questions here. However, if you have general questions about instructions of assignments, please post those in the Main forum, since other students may benefit by that exchange as well.
Where to Submit Your Assignments Assignment Section: This is where you will submit all formal assignments. Navigate to the Assignments link on eCampus. Locate the link to submit your assignment as an attachment.
Policies For class policies, please see the "Policies" link on the left side of the Materials page for the course on eCampus. Faculty and students/learners will be held responsible for understanding and adhering to all policies contained within that link. University policies are subject to change so please be sure to read them at the beginning of each class as it may have changed since your last class. Policies may be slightly different depending on the modality in which you attend class. If you have recently changed modalities it is important you read the policies governing your current class modality.
Late Assignments
Late assignments receive a 10% deduction for each day they are late if assignments are not posted by 11:59 p.m. M.S.T. on the day they are due. Assignments more than 4 days late will not be accepted. Technological issues are not considered valid grounds for late assignment submission. In the event of a University of Phoenix server outage, students should submit assignments to the instructor and when systems are restored, submit those assignments according to syllabus instructions. Unless an Incomplete grade has been granted, learner assignments submitted after the last day of class will not be accepted.
Learning Teams University of Phoenix students are expected to work effectively in diverse groups and teams to achieve tasks. They must collaborate and function well in team settings as both leaders and followers. They should respect human diversity and behave in a tolerant manner toward colleagues and peers. If you experience difficulties working with your team, you are expected to resolve them within the team if possible. However, please feel free to contact me for guidance if you have concerns in this area. Because Learning Team projects are outcome-based, all members of your Learning Team will generally earn the same grade for Learning Team projects. However, I reserve the right to report different grades for different Learning Team members if I see a substantial imbalance in individual contribution. Learning Teams should provide a brief summary of any communication held outside the forum. Therefore, if you hold conference calls, work in a real-time chat room, or get together outside the OLS (Online Learning System) environment in another way, please post a log, transcript, or summary in the Learning Team forum. Further, do not use any of these supplementary communication tools unless everyone on your Learning Team agrees to the method and to the schedule. If you have any questions, please contact me.
Several of the assignments in this class will be completed in Learning Teams of three to five students. I will set up these teams by the end of Week 1. If you have any requests for teammates, please let me know by Thursday of the first week via your Individual Forum. Learning Team Charters and Peer Evaluation forms are required. Please see the instructions in the weekly sections for more information. All Learning Team assignments must be submitted to the Learning Team forum.
It is expected that you will actively participate with your learning team and contribute to the team discussions by a) contributing original work that is accepted and used by the team with proof of originality b) participating in the project from assignment organizing through meaningful final review of the team project for submission, and c) ensuring to your team that your contributions are your original work and properly quoted, cited, and referenced.
Technical Support Technical Support is available 24 hours a day, 365 days a year. Call 1-877-832-4867, or use the e-mail support form . Answers to the most common issues are found in the Knowledge Base by clicking Help, found at the top of every student Web site.
Feedback Each week, I will provide grades or scores and comments on assignments within 6 days of when they were submitted. After I send feedback each week, I will post a notification in the Main forum.
Course Description
This course provides students with a basic understanding of programming development practices. Concepts covered include the application of algorithms and logic to the design and development of computer programs to address the problem solving requirements associated with business information systems. This course will cover procedural programming concepts including data types, controls structures, functional decomposition, arrays, and files.
Course Topics & Objectives
Week One: Programming Fundamentals
· Identify how a computer processes and stores data.
· Describe the importance of using a structured, modular approach when creating program requirements, design, and code.
Week Two: Problem Solving and Algorithm Development
· Describe the process and methods for problem recognition.
· Examine the development of problem solutions.
· Define the process of algorithm development.
Week Three: Programming Logic
· Apply the concepts of functional decomposition to the development of programming logic.
· Demonstrate the sequential and selection processing control structure.
· Demonstrate the iteration control structure.
Week Four: Data Structures, Verification, and Validation
· Explain the need for complex data structures.
· Explain the design and application of arrays to program logic and data manipulation.
· Describe how requirements and desk review design are used to verify algorithms.
Week Five: File and Database Processing
· Determine when a sequential data file is more useful than a database.
· Differentiate between a flat file and a relational database.
· Differentiate between a text file and a binary file.
Course Materials
Robertson, L. A. (2007). Simple program design: A step by step approach (5th ed.). Mason, OH: Cengage Learning.
Venit, S., & Drake, E. (2007). Extended prelude to programming: Concepts & design (3rd ed.). Boston: Pearson Education.
All electronic materials are available on your student Web site.
Grading Formula
Points |
Grade |
95+ |
A |
90-94 |
A- |
87-89 |
B+ |
84-86 |
B |
80-83 |
B- |
77-79 |
C+ |
74-76 |
C |
70-73 |
C- |
67-69 |
D+ |
64-66 |
D |
60-63 |
D- |
<59 |
F |
Point Values for Course Assignments
ASSIGNMENTS |
Points |
Individual (70%) |
|
Computer Programs and Program Development (Week 2) |
10 |
Computer Operations, Solving Problems, and Algorithms (Week 3) |
10 |
Selection and Repetition Control Structures (Week 4) |
15 |
Complete Data Structures, Arrays, and Modular Design (Week 5) |
15 |
Participation / DQ (4 points per week) |
20 |
Learning Team (30%) |
|
Software Development Project (Week 5) |
18 |
Software Development Presentation (Week 5) |
10 |
Learning Team Charter (Week 1) |
2 |
Total |
100 |
Week One
Programming Fundamentals
· Identify how a computer processes and stores data.
· Describe the importance of using a structured, modular approach when creating program requirements, design, and code.
Course Assignments
1. Readings
· Read Ch. 0 of Extended Prelude to Programming.
· Read Ch. 1 of Simple Program Design.
· Read this week’s Electronic Reserve Readings.
2. Discussion Questions
· DQ1 – In "Microsoft Begins Its Radical Shift to Software as a Service" (Orr, 2008), the author discusses the new software delivery model of Microsoft®. How will this model affect the way software is designed, built, and maintained? What special end-user considerations need to be considered?
· DQ2 - Based on Mitchell’s (2008) article, discuss something that a company's application development team would need to consider if the company decided to introduce Macintosh® into the company's computing environment.
3. Individual Assignment: Biography / Syllabus Confirmation
· Check out the "Chat Room" forum to learn a little bit about me and while there, be sure to post a short bio about yourself. You can also take some time to respond to some of your fellow classmates. Have your bio posted no later than Week 1 Day 2 (Wednesday).
· Post a quick note in your individual forum indicating that you have read and understand the course syllabus. This should be completed by Week 1 Day 7 (Monday).
4. Learning Team Assignment: Software Development Project and Presentation
· Create a Learning Team Charter. The form for this charter can be found in the Course-Materials forum. One member of the Learning Team should post a completed version of the Learning Team Charter to their Learning Team Forum. This should be completed by Week 1 Day 7 (Monday).
· Begin working on the Software Development Assignment due in Week Five. Review and discuss your ideas for the Learning Team Assignment. Identify the criteria your team will need in order to develop the required software.
· Software Development Assignment: The Learning Team assignment is a rolling assignment in which your team of software developers has won a contract to develop a program that will calculate a customer's charges and total bill at the gasoline pump, taking into account the following:
· The per-gallon price for gas is determined by whether the customer purchases leaded or unleaded gasoline.
· A federal gasoline tax is applied to each gallon of gas, varying by whether the gas is leaded or unleaded.
· If the customers pump the gas themselves, there are no additional charges apart from state sales tax. If the customers do not pump the gas themselves, one of the following two service charges apply:
· Gas-n-Go charge: If the customer asks for Gas-n-Go (the station pumps the gas for the customer but performs no other service), a fixed service charge is applied to the bill. The charge does not vary by the amount of gas purchased; the price remains the same whether the customer purchases a half gallon of gas or 10 gallons.
· Full-Service charge: If the customer asks for Full-Service (the station pumps the gas, checks the oil, checks the air pressure in the tires, and cleans the car windows), a fixed charge is applied to the bill. The charge does not vary by the amount of gas purchased; the price remains the same whether the customer purchases a half gallon of gas or 10 gallons.
· A state sales tax is applied to the sum of all charges except for the federal gasoline tax.
Weekly Reminders
Discussion Questions
Discussion question responses will count towards the class participation requirement. Only posts in the Main classroom forum will count towards your class participation score.
Participation
All Week: Remember to participate in the class discussions 4 out of 7 days during the week. You earn 1 point each day you post at least two substantive posts .
Summary of Week 1 Deliverables
Assignment |
Location |
Due |
Participation / DQ’s |
Main |
Ongoing |
Introduction / Bio |
Chat Room |
Wednesday |
Syllabus Confirmation Message |
Individual |
Monday |
DQ1 |
Main |
Thursday |
DQ2 |
Main |
Saturday |
Learning Team Charter |
Learning Team |
Monday |
Software Development Assignment |
Learning Team |
Week 5 Day 7 |
Week Two
Problem Solving and Algorithm Development
· Describe the process and methods for problem recognition.
· Examine the development of problem solutions.
· Define the process of algorithm development.
Course Assignments
1. Readings
· Read Ch. 2 of Simple Program Design.
· Read Ch. 3 of Simple Program Design.
· Read this week’s Electronic Reserve Readings.
2. Discussion Questions
· DQ1 – Based on the article, "The Road to Our Scripting Future” (Yared, 2007), discuss the relevance of structured programming techniques in the development of applications for grid computing?
· DQ2 - Based on the article, "Changing the Corporate IT Development Model: Tapping the Power of Grassroots Computing" (Cherbakov, Bravery, Goodman, Pandya, Baggett, 2007), discuss how grassroots computing changes the way software is designed, developed, tested, and maintained in a typical organization.
3. Individual Assignment: Computer Programs and Program Development
· Prepare a 2–3 page paper addressing the following:
· Computer Programs:
· Describe the three basic types of programming languages. Explain the advantages and disadvantages of each type.
· Discuss possible reasons why so many different programming languages exist.
· Describe the relationship between the computer program and how a computer processes and stores data.
· Program Developmen t:
· Describe the program development cycle, and explain why it is called a cycle.
· Describe the importance of using a structured, modular approach when creating program requirements, design, and code.
· Besides the programmer, who else should be involved in the stages of the program development cycle?
· This assignment does ask you to cover a lot of detail so it is OK to go over the page limit a little, just don’t go overboard with details. Also remember that this should be a regular APA formatted college paper complete with an introduction and summary. Your completed paper should be posted to the Assignments Section by Monday Week 2 Day 7.
4. Learning Team Assignment: Software Development Project and Presentation
· Continue working on your Software Development Project. The first phase of your team’s project is to plan how your team will develop a program that calculates a customer's charges and total bill at the gasoline pump.
· Create a complete list of activities, in logical order that must take place in the first phase of the program development cycle. For each activity, identify who should be included, other than the Learning Team members (such as project manager, developer, etc…), in each activity.
Weekly Reminders
Discussion Questions
Discussion question responses will count towards the class participation requirement. Only posts in the Main classroom forum will count towards your class participation score.
Participation
All Week: Remember to participate in the class discussions 4 out of 7 days during the week. You earn 1 point each day you post at least two substantive posts .
Summary of Week 2 Deliverables
Assignment |
Location |
Due |
Participation / DQ’s |
Main |
Ongoing |
DQ1 |
Main |
Thursday |
DQ2 |
Main |
Saturday |
Computer Programs and Program Development Paper |
Individual |
Monday |
Software Development Assignment |
Learning Team |
Week 5 Day 7 |
Week Three
Programming Logic
· Apply the concepts of functional decomposition to the development of programming logic.
· Demonstrate the sequential and selection processing control structure.
· Demonstrate the iteration control structure.
Course Assignments
1. Readings
· Read Ch. 4 of Simple Program Design.
· Read Ch. 5 of Simple Program Design.
· Read Ch. 6 of Simple Program Design
· Read this week’s Electronic Reserve Readings
2. Discussion Questions
· DQ1 – The article, "Building Trustworthy Software" (Hogan, 2007), discusses many software development issues. Pick one of these issues, explain its significance, and critically examine the article's discussion of it.
· DQ2 - In the article, "(A Look Back at) GOTO Statement Considered Harmful" (Dijkstra, 2008), the author reprints a historic letter, originally published in 1968, that criticizes the use of the GOTO statement in computer programming. Discuss why the author objects to GOTO statements, and explain why you agree or disagree with his perspective.
3. Individual Assignment: Computer Operations, Solving Problems, and Algorithms
· Prepare a 3–4 page paper addressing the following:
· Computer Operations:
· Identify the six basic computer operations. Explain each operation's role in a computer program and indicate whether it is part of a program's input component, processing component, or output component.
· Solving Problems :
· Describe the process and methods for problem recognition and problem solutions
· Algorithms :
· Define the process of algorithm development and explain in detail each step of the process.
· This assignment should be a regular APA formatted college paper complete with an introduction and summary. Your completed paper should be posted to the Assignments Section by Monday Week 3 Day 7.
4. Learning Team Assignment: Software Development Project and Presentation
· Continue working on your Software Development Project which is due at the end of week 5.
· This week your learning team should complete the following:
· Write a simple algorithm in pseudocode that lists the program's input, output, and processing components in a logical, sequential order. At this stage, do not show the tasks and subtasks within each component.
· Document the purpose of each module (component), such as what do they do and why they are important.
· Identify the variables that are needed in the program. For each variable, provide the following:
· A name
· Its data type
· A description of its purpose
Weekly Reminders
Discussion Questions
Discussion question responses will count towards the class participation requirement. Only posts in the Main classroom forum will count towards your class participation score.
Participation
All Week: Remember to participate in the class discussions 4 out of 7 days during the week. You earn 1 point each day you post at least two substantive posts .
Summary of Week 3 Deliverables
Assignment |
Location |
Due |
Participation / DQ’s |
Main |
Ongoing |
DQ1 |
Main |
Thursday |
DQ2 |
Main |
Saturday |
Computer Operations, Solving Problems, and Algorithms Paper |
Individual |
Monday |
Software Development Assignment |
Learning Team |
Week 5 Day 7 |
Week Four
Data Structures, Verification, and Validation
· Explain the need for complex data structures.
· Explain the design and application of arrays to program logic and data manipulation.
· Describe how requirements and desk review design are used to verify algorithms.
Course Assignments
1. Readings
· Read Ch. 7 of Simple Program Design.
· Read Ch. 8 of Simple Program Design.
· Read Ch. 9 of Simple Program Design
· Read this week’s Electronic Reserve Readings
2. Discussion Questions
· DQ1 – In the article, "Thoughts on Language Design," Steele (2007) suggests that structured programming techniques may not be necessary or even as helpful today as they were in the past. Discuss the author's reasoning and explain why you agree or disagree with his perspective.
· DQ2 - The article, "Failure Analysis" (Nisley, 2006), discusses factors that contributed to the failure of the Mars Climate Orbiter. Discuss one of the Orbiter's software problems and how it could have been avoided.
3. Individual Assignment: Selection and Repetition Control Structures
· Prepare a 3–4 page paper addressing the following:
· Selection Control Structures:
· Explain how selection control structures increase the usefulness and power of a computer program. Support your answer with a hypothetical real-world example that uses one of the following selection control structures:
· Simple selection
· Simple selection with null false branch
· Combined selection
· Nested selection
· Repetition Control Structures :
· Explain how repetition control structures increase the usefulness and power of a computer program. Support your answer with a hypothetical real-world example that uses one of the following repetition control structures:
· Leading decision loop
· Trailing decision loop
· Counted repetition
· This assignment should be a regular APA formatted college paper complete with an introduction and summary. Your completed paper should be posted to the Assignments Section by Monday Week 4 Day 7.
4. Learning Team Assignment: Software Development Project and Presentation
· Continue working on your Software Development Project which is due at the end of week 5.
· This week your learning team should complete the following:
· For each program module (component) that was in the simple algorithm that you developed last week, develop an algorithm in pseudocode that shows the tasks and subtasks of the module.
· Document the purpose of each task and subtask.
· Desk check your algorithms using the following test values:
· Leaded gas: $4.00/gallon
· Unleaded gas: $4.50/gallon
· Federal gas tax: $0.10/gallon
· Gas-n-Go service charge: $1.00
· Full-Service charge: $2.00
· State sales tax: 5%
· Create a desk check table to show the results of your desk check test.
Weekly Reminders
Discussion Questions
Discussion question responses will count towards the class participation requirement. Only posts in the Main classroom forum will count towards your class participation score.
Participation
All Week: Remember to participate in the class discussions 4 out of 7 days during the week. You earn 1 point each day you post at least two substantive posts .
Summary of Week 4 Deliverables
Assignment |
Location |
Due |
Participation / DQ’s |
Main |
Ongoing |
DQ1 |
Main |
Thursday |
DQ2 |
Main |
Saturday |
Selection and Repetition Control Structures Paper |
Individual |
Monday |
Software Development Assignment |
Learning Team |
Week 5 Day 7 |
Week Five
File and Database Processing
· Determine when a sequential data file is more useful than a database.
· Differentiate between a flat file and a relational database.
· Differentiate between a text file and a binary file.
Course Assignments
1. Readings
· Read Ch. 6 of Extended Prelude to Programming.
· Read Ch. 10 of Simple Program Design.
· Read this week’s Electronic Reserve Readings
2. Discussion Questions
· DQ1 – The article, "Scaling On-Site Customer" (Ambler, 2008), discusses requirements development in an agile environment. Pick one of the issues discussed in the article and explain its significance from a software development perspective.
· DQ2 - In the article, "Forever Beta" (Cross, 2007), the author discusses the advantages for a software company to release beta releases instead of final releases of products. What is his reasoning? Do you agree with his reasoning? Why might some companies prefer final releases to beta releases from other software companies?
3. Individual Assignment: Complete Data Structures, Arrays, and Modular Design
· Prepare a 3–4 page paper addressing the following:
· Explain the need for complex data structures and how they are used.
· Explain the design and application of arrays and how an array simplifies program development. Support your answer with a hypothetical real-world example.
· Explain at least four benefits of modular design. Support your answer with a hypothetical real-world example.
· This assignment should be a regular APA formatted college paper complete with an introduction and summary. Your completed paper should be posted to the Assignments Section by Monday Week 5 Day 7.
· Submit a completed learning team evaluation form to your individual forum no later than Week 5 Day 7 (Monday). Be sure to be honest as I will use the feedback I get on these forms to make any necessary adjustments to the grade of team member who did not perform their fair share of work.
4. Learning Team Assignment: Software Development Project and Presentation
· Finish working on your Software Development Project which is due at the end of this week.
· This week your learning team should complete the following:
· Compile all of your Learning Team’s work from Weeks Two, Three, and Four into a 4–5 page, APA formatted, college paper. In your Learning Team’s paper, be sure to include the following:
· Problem statement
· High-level view of the program solution
· Function and internal structure of each program module
· Inputs
· Processing logic
· Output
· Developed pseudocode
· Desk check diagram
· Task documentation
· Create an 8–10 slide Microsoft® PowerPoint® presentation in which you present the main elements of your paper. Each slide should include detailed speaker notes.
· One member of your team should create a thread in your team forum called “Final Team Project” and post a copy of the paper and power point presentation to this tread so I can easily find it and so that all team members know it has been submitted on time.
Weekly Reminders
Discussion Questions
Discussion question responses will count towards the class participation requirement. Only posts in the Main classroom forum will count towards your class participation score.
Participation
All Week: Remember to participate in the class discussions 4 out of 7 days during the week. You earn 1 point each day you post at least two substantive posts .
Summary of Week 5 Deliverables
Assignment |
Location |
Due |
Participation / DQ’s |
Main |
Ongoing |
DQ1 |
Main |
Thursday |
DQ2 |
Main |
Saturday |
Complete Data Structures, Arrays, and Modular Design Paper |
Individual |
Monday |
Learning Team Evaluation |
Individual |
Monday |
Software Development Assignment |
Learning Team |
Monday |

Get help from top-rated tutors in any subject.
Efficiently complete your homework and academic assignments by getting help from the experts at homeworkarchive.com