ITC 4210, Programming Concepts and Problem Solving Course Syllabus Course Description Presents an introduction to solving computer programming problems using Visual Basic. Includes principles that translate easily to many other modern programming languages. Focuses on user interfaces, program structure, language syntax, and implementation details. Requires Microsoft Visual Basic. Course Textbook Zak, D. (2014). Clearly Visual Basic: Programming with Microsoft Visual Basic 2012 (3rd ed.). Boston, MA: Course Technology. Note: The material in this course provides introductory approaches to Visual Basic. Advanced concepts are covered in ITC 4230, Programming Concepts and Problem Solving II. The textbook in this course is also used in ITC 4230 to cover the more advanced material in the 2 nd half of the textbook. Course Software/Tools In order to complete the assignments in this course, you will need to have access to the following software and tools: Microsoft Visual Basic 2012 (or newer) Express Edition Trial Download or Visual Studio. The Express version may be downloaded from www.microsoft.com/express/windows. Access to the Internet A computer with Windows XP (Home or Professional), Windows Vista (Basic or above), or Windows 7 Course Learning Outcomes Upon completion of this course, students should be able to: 1. Demonstrate the ability to use the fundamental functions within programming software. 2. Utilize a programmer s problem-solving process toward creating solutions. 3. Develop a user interface for a computer program. 4. Write an expression containing arithmetic operators by declaring variables, declaring constants, and formatting a program s numeric output. 5. Locate and resolve syntax and logic errors by stepping through the code and by using breakpoints. 6. Write an If Then Else statement as an integral part of a computer program. 7. Compose both a nested selection structure and also a multiple-alternative selection structure. 8. Utilize testing methods within a computer program to both verify the program s functionality and also detect and prevent unwanted user input. 9. Construct a looping condition for a computer program by using an InputBox function, a Do Loop statement, and an arithmetic assignment operator. 10. Develop a complete computer program for the purpose of solving a problem by determining a control structure, using major functions, and preparing an appropriate user interface. Credits Upon completion of this course, the students will earn three (3) hours of college credit. ITC 4210, Programming Concepts and Problem Solving 1
Course Structure 1. Unit Learning Outcomes: Each unit contains Learning Outcomes that specify the measurable skills and knowledge students should gain upon completion of the unit. 2. Unit Lesson: Each unit contains a Unit Lesson, which discusses unit material. 3. Reading Assignments: Each unit contains Reading Assignments from one or more chapters from the textbook. Chapter presentations are provided in each unit study guide to aid students in their course of study. Suggested Readings are listed in the Units I and V study guides to aid students in their course of study. The readings themselves may or may not be provided in the course, but students are encouraged to read the resources listed if the opportunity arises as they have valuable information that expands upon the lesson material. Students will not be tested on their knowledge of the Suggested Readings. 4. Learning Activities (Non-Graded): These non-graded Learning Activities are provided in each unit to aid students in their course of study. 5. Key Terms: Key Terms are intended to guide students in their course of study. Students should pay particular attention to Key Terms as they represent important concepts within the unit material and reading. 6. Discussion Boards: Discussion Boards are a part of all CSU term courses. Information and specifications regarding these assignments are provided in the Academic Policies listed in the Course Menu bar. 7. Unit Quiz: This course contains one Unit Quiz to be completed at the end of Unit I. Quizzes are used to give students quick feedback on their understanding of the unit material. The Unit I Quiz is composed of multiplechoice questions, file response questions, and written response questions. 8. Unit Assignments: Students are required to submit for grading Unit Assignments in each unit. Specific information and instructions regarding these assignments are provided below. Grading rubrics are included with each assignment. Specific information about accessing these rubrics is provided below. 9. Ask the Professor: This communication forum provides you with an opportunity to ask your professor general or course content related questions. 10. Student Break Room: This communication forum allows for casual conversation with your classmates. CSU Online Library There is a virtual library with resources, including both journals and ebooks, to support your program and your course at Columbia Southern University. eresources are accessible 24 hours a day/7 days a week from the CSU Online Library gateway page. To access the library, log into mycsu, and then click on CSU Online Library. Resources are organized in the library by title, but if you click on Subject Research Guides, you will find eresources arranged by subject. The Library Reference service is available 7 days a week by e-mailing library@columbiasouthern.edu. Ask a Librarian is also available 7 days a week by using the chat box located on the CSU Online Library main page. Librarian responses may occur within minutes or hours, but it will never take more than 24 hours for a librarian to send a response to the e-mail address you have provided. Replies to reference requests may include customized keyword search strategies, links to videos, research guides, screen captures, attachments, a phone call, live screen sharing, meeting room appointments, and other forms of instruction. Unit Assignments Unit I Project This project provides you with the opportunity to examine algorithms, identify the inaccuracies in the algorithms, and finally, to modify the algorithms with the correct details. Your next step will be to write an algorithm that includes the three control structures (sequence, selection, and repetition). First, explain the purpose of the algorithm by providing a brief description for the task being performed. Then, list the details of the algorithm. Remember to include all three control structures (sequence, selection, and repetition). Select ONE of the following tasks as the basis for completing your algorithm: Changing a television channel by using a remote control Using a sponge to wash a car Walking up a set of stairs ITC 4210, Programming Concepts and Problem Solving 2
Click here to access the template for this project. This document include two algorithms you will review, identify the inaccuracies, and insert the corrections. Additionally, there is a space for you to add the algorithm you will write. Complete your work on this template, save the document, and upload it for grading. Unit II Homework Chapter 2: Exercises 1, 2, & 3 Complete Exercises 1, 2, and 3 in the Exercises section at the end of Chapter 2 on page 31. Check your answers for Exercises 1 and 2 by referring to Appendix B. The answer for Exercise 3 is not in Appendix B, so your grade will be heavily based on how you complete it. Save all of your work in one Microsoft Word document, and submit it in Blackboard for grading. Unit II Project So far, this course has addressed control structures, problem solving, and planning. This project provides you with an opportunity to apply those concepts by analyzing the problem, planning an algorithm, and performing a desk-check. Click here to download the template (a Microsoft Word document) for this project and to complete the three-step process of analyzing the problem, planning the algorithm, and desk-checking the algorithm. Step 1: Analyze the Problem Step one of this project requires you to first identify a problem and to briefly draft the details of the problem in approximately one to two sentences. Also, compose a solution for the identified problem in a paragraph. You may choose the problem; however, the solution must involve a calculating program which you can design. Be sure to include input and output while analyzing the problem. Here are a few examples of designing a program to solve a problem: 1. calculate discount rates 2. calculate a customer s balance (how much he or she owes) 3. calculate purchase costs 4. calculate employee pay and pay-raise percentages 5. calculate the costs of rental merchandise Step 2: Plan the Algorithm The next part of the project involves drafting pseudocode and a flowchart as part of the planning process of an algorithm. This task helps identify all of the details for an algorithm planning the algorithm. Draft a set of pseudocode to include at least the following details: the output the input the algorithm with at least three instructions (Be sure the calculation instructions specify both what is to be calculated and also how to perform the calculation.) Next, draft a flowchart by using the shapes in the template (a Microsoft Word document). The flowchart must include at least the following components: one start symbol and one stop symbol (ovals) one input symbol and one output symbol (parallelograms) one process symbol (rectangle) flowlines Step 3: Desk-Check the Algorithm The final step involves performing a desk-check by inserting sample data (e.g., values) into a table. This allows you to test the algorithm to ensure it functions properly. Include at least two sample data sets in the desk-check table. Be sure to save all of your work in one document (the template), and submit the document in Blackboard for grading. ITC 4210, Programming Concepts and Problem Solving 3
Unit III Homework Chapter 3: Exercises 2 & 3 Complete Exercises 2 and 3 by modifying the application created in the chapter according to Exercise 2 on page 58 and creating an application for Country Vacations as instructed in Exercise 3 on page 59. Save your work in two separate Visual Basic files. After saving your work, zip up the entire solution folder for each of your programs and attach both of the zip files in Blackboard for grading. Chapter 4: Exercises 4 & 9 Complete Exercises 4 and 9. Save your work in separate Visual Basic files for each exercise and attach the files in Blackboard for grading. Be sure to include the problem solution (problem, output, input, and algorithm) for each exercise. Click here to access the exercise files for Chapters 3 & 4. Unit III Project Part I: For part one of this project, you will incorporate the concepts that you have learned so far in the course. Create a graphical user interface (GUI) that includes each of the following as part of the user interface: at least one Label control at least one PictureBox with an image Be sure to also change the name of the Form as well as the Form properties and lock the controls on the form. Save your application (in Visual Basic), test your interface by using the DEBUG feature, and apply edits as needed. Save the file after applying any edits. Then, proceed to part two. Part II: For part two, take your application s graphical user interface from part one and add a text box to get user input, perform an action with a button control, code a control s Click event procedure and stop an application by using the Me.Close() instruction. Be sure to include each of the following as part of the updated user interface: 1. a minimum of one text box 2. a minimum of one button control 3. a Click event procedure for an Exit button Save your application (in Visual Basic), test your btnexit control by using the procedure at the bottom of page 75 of your textbook. Save the file after applying any edits. Submit the GUI (i.e., the Visual Basic file) in Blackboard for grading. Unit IV Homework Chapter 5: Exercises 4 & 5 Complete Exercises 4 and 5 in Chapter 5. Chapter 6: Exercises 1 & 6 Complete Exercises 1 and 6 in Chapter 6. Click here to access the exercise files for Chapters 5 & 6. ITC 4210, Programming Concepts and Problem Solving 4
Save your work in separate Visual Basic files for each exercise, and attach the files in Blackboard for grading. Unit IV Project Part I: For this project, create a new application and apply what you learned in this unit to the new application. Be sure to add the following to your interface: 1. Include one or more comments such as the btncalc control s Click event procedure. 2. Include at least two arithmetic operators. 3. Include the Val function. 4. Use appropriate assignment statements. 5. Enter the appropriate comments in the General Declarations section. Save your application (in Visual Basic), test your interface by using the DEBUG feature, and apply edits as needed. Save the file after applying any edits. Then, proceed to part two. Part II: For part two, you will define variables, format the output using the Const statement, and format your numbers in the graphical user interface (GUI) to part one of this project. Be sure to include each of the following as part of the user interface: 1. Declare variables by using the DIM statement. 2. Format at least one number using the ToString Method. 3. Declare at least one Named Constant using the Const statement. Save your application (in Visual Basic), and submit the Visual Basic file in Blackboard for grading. Unit V Homework Chapter 7: Exercises 6 & 8 Complete Exercises 6 and 8 in Chapter 7. Chapter 8: Exercises 10 & 13 Complete Exercises 10 and 13 in Chapter 8. Click here to access the exercise files for Chapters 7 & 8. Save your work in separate Visual Basic files for each exercise, and attach the files in Blackboard for grading. Unit V Project For this project, create a new application and apply what you learned in this unit to the new application. Be sure to add the following to your interface: 1. Include at least one If Then Else statement. 2. Include at least one comparison operator. 3. Change at least one control s ForeColor property. 4. Add at least one Check Box to the interface. Save your application (in Visual Basic), and save the file after applying any edits. Submit the GUI (i.e., the Visual Basic file) in Blackboard for grading. ITC 4210, Programming Concepts and Problem Solving 5
Unit VI Homework Chapter 9: Exercises 3 & 9 Complete Exercises 3 and 9 in Chapter 9. Chapter 10: Exercises 3 & 16 Complete Exercises 3 and 16 in Chapter 10. Click here to access the exercise files for Chapters 9 & 10. Save your work in separate Visual Basic files for each exercise and attach the files in Blackboard for grading. For Exercise Question 16 in Chapter 10, upload a MS Word document that discusses your answer to each of the questions in the exercise. Unit VI Project This project allows you to create a new graphical user interface and apply what you learned in this unit to your application project. Be sure to include the following in your interface: 1. Radio buttons that limit the user to only one choice (nested selection structure) 2. A group box for your radio buttons 3. Controls to prevent unwanted characters in text boxes 4. At least one message box 5. At least one select case statement Test your application by using valid data to ensure that your application provides the correct results. Save the file (in Visual Basic) after applying any edits. Finally, submit the GUI (i.e., the Visual Basic file) in Blackboard for grading. Unit VII Homework Chapter 11: Exercises 4, 12, & 13 Complete Exercises 4, 12, and 13 in Chapter 11. Click here to access the exercise files for Chapter 11. Save your work in separate Visual Basic files for each exercise, and attach the files in Blackboard for grading. Unit VII Project For this project, create a new application and apply what you learned in this unit to your application. Be sure to perform the following: 1. Include a text box and prevent the entry of unwanted characters in a text box. 2. Create a message box with the MessageBox.Show method. 3. Include the Trim method and remove any leading and/or trailing spaces from a string. Test your application by using valid and invalid data to ensure that your application provides the correct results. Refer to the testing guidelines in Figure11-1 on page 238. Save your application (in Visual Basic), save the file after applying any edits. Submit the GUI (i.e., the Visual Basic file) in Blackboard for grading. ITC 4210, Programming Concepts and Problem Solving 6
Unit VIII Homework Chapter 12: Exercises 3, 4, & 15 Complete Exercises 3, 4, and 15 in Chapter 12. Click here to access the exercise files for Chapter 12. Save your work in separate Visual Basic files for each exercise, and attach the files in Blackboard for grading. Unit VIII Project This project provides you with an opportunity to write an application (i.e., computer program) by using a problem specification (output, input, and algorithm) and then creating the application in Visual Basic. Your application should use at least one of the following structures: sequence, selection, and/or repetition. 1. Select ONE of the following tasks as the basis for completing this project: changing a television channel by using a remote control using a sponge to wash a car walking up a set of stairs a game of your choosing net income calculator measurement calculator discount calculator sales calculator labor calculator totals calculator membership calculator inventory calculator 2. Select at least three of the concepts from Chapters 1-11 and apply this to your Windows application, which solves a problem. These are concepts you learned in this course and are listed below. arithmetic operator If Then Else statement nested selection structure multiple-alternative selection structure testing method looping condition 3. In a Microsoft Word document, explain the purpose of your Windows application by providing a brief description for the task being performed. Then, develop the algorithm using pseudocode (output, input, and algorithm). You can write your algorithm and support it with the use of a flowchart. Upload the Word document to File Upload. 4. Based on the topic you selected in #1 use an appropriate user interface and the programming concepts selected in #2 to develop a Windows application in Visual Basic. In addition to the concepts you selected, the application should have an appropriate interface. Upload the finished application to File Upload. For this project, you will be submitting one Microsoft Word document to address #3. Also, you will be submitting on Visual Basic Document to address #1, #2, and #4. ITC 4210, Programming Concepts and Problem Solving 7
APA Guidelines The application of the APA writing style shall be practical, functional, and appropriate to each academic level, with the primary purpose being the documentation (citation) of sources. CSU requires that students use APA style for certain papers and projects. Students should always carefully read and follow assignment directions and review the associated grading rubric when available. Students can find CSU s Citation Guide by clicking here. This document includes examples and sample papers and provides information on how to contact the CSU Success Center. Grading Rubrics This course utilizes analytic grading rubrics as tools for your professor in assigning grades for all learning activities. Each rubric serves as a guide that communicates the expectations of the learning activity and describes the criteria for each level of achievement. In addition, a rubric is a reference tool that lists evaluation criteria and can help you organize your efforts to meet the requirements of that learning activity. It is imperative for you to familiarize yourself with these rubrics because these are the primary tools your professor uses for assessing learning activities. Rubric categories include: (1) Discussion Board, (2) Assessment (Written Response), and (3) Assignment. However, it is possible that not all of the listed rubric types will be used in a single course (e.g., some courses may not have Assessments). The Discussion Board rubric can be found within Unit I s Discussion Board submission instructions. The Assessment (Written Response) rubric can be found embedded in a link within the directions for each Unit Assessment. However, these rubrics will only be used when written-response questions appear within the Assessment. Each Assignment type (e.g., article critique, case study, research paper) will have its own rubric. The Assignment rubrics are built into Blackboard, allowing students to review them prior to beginning the Assignment and again once the Assignment has been scored. This rubric can be accessed via the Assignment link located within the unit where it is to be submitted. Students may also access the rubric through the course menu by selecting Tools and then My Grades. Again, it is vitally important for you to become familiar with these rubrics because their application to your Discussion Boards, Assessments, and Assignments is the method by which your instructor assigns all grades. Communication Forums These are non-graded discussion forums that allow you to communicate with your professor and other students. Participation in these discussion forums is encouraged, but not required. You can access these forums with the buttons in the Course Menu. Instructions for subscribing/unsubscribing to these forums are provided below. Click here for instructions on how to subscribe/unsubscribe and post to the Communication Forums. Ask the Professor This communication forum provides you with an opportunity to ask your professor general or course content questions. Questions may focus on Blackboard locations of online course components, textbook or course content elaboration, additional guidance on assessment requirements, or general advice from other students. Questions that are specific in nature, such as inquiries regarding assessment/assignment grades or personal accommodation requests, are NOT to be posted on this forum. If you have questions, comments, or concerns of a nonpublic nature, please feel free to email your professor. Responses to your post will be addressed or emailed by the professor within 48 hours. Before posting, please ensure that you have read all relevant course documentation, including the syllabus, assessment/assignment instructions, faculty feedback, and other important information. ITC 4210, Programming Concepts and Problem Solving 8
Student Break Room This communication forum allows for casual conversation with your classmates. Communication on this forum should always maintain a standard of appropriateness and respect for your fellow classmates. This forum should NOT be used to share assessment answers. Grading Discussion Boards (8 @ 2%) = 16% Unit I Quiz = 3% Unit Projects (7 @ 6%) = 42% Unit Homework (7 @ 2%) = 14% Unit VIII Project = 25% Total = 100% Course Schedule/Checklist (PLEASE PRINT) The following pages contain a printable Course Schedule to assist you through this course. By following this schedule, you will be assured that you will complete the course within the time allotted. ITC 4210, Programming Concepts and Problem Solving 9
ITC 4210, Programming Concepts and Problem Solving Course Schedule By following this schedule, you will be assured that you will complete the course within the time allotted. Please keep this schedule for reference as you progress through your course. Unit I Control Structures Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 1: I Am Not a Control Freak! (Control Structures) Chapter 1 Presentation: See Study Guide Suggested Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Quiz by Tuesday, Project by Tuesday, Unit II The Problem-Solving Process Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 2: First You Need to Plan the Party (Problem-Solving Process) Internet Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Homework by Tuesday, Project by Tuesday, ITC 4210, Programming Concepts and Problem Solving 10
ITC 4210, Programming Concepts and Problem Solving Course Schedule Unit III A Graphical User Interface Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 3: I Need a Tour Guide (Introduction to Visual Basic 2012) Chapter 4: Do-It-Yourself Designing (Designing Interfaces) Internet Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Homework by Tuesday, Project by Tuesday, Unit IV Assignment Statements, Variables, and Constants Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 5: The Secret Code (Assignment Statements) Chapter 6: Where Can I Store This? (Variables and Constants) Internet Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Homework by Tuesday, Project by Tuesday, ITC 4210, Programming Concepts and Problem Solving 11
ITC 4210, Programming Concepts and Problem Solving Course Schedule Unit V Selection Structure and Debugging Errors Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 7: What s Wrong With It? (Syntax, Logic, and Run Time Errors) Chapter 8: Decisions, Decisions, Decisions (Selection Structure) Internet Reading: See Study Guide Suggested Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Homework by Tuesday, Project by Tuesday, Unit VI Nested Selection Structures and Multiple-Alternative Selection Structures Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 9: Time to Leave the Nest (Nested Selection Structures) Chapter 10: So Many Paths So Little Time (Multiple-Alternative Selection Structures) Internet Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Homework by Tuesday, Project by Tuesday, ITC 4210, Programming Concepts and Problem Solving 12
ITC 4210, Programming Concepts and Problem Solving Course Schedule Unit VII Testing, Testing 1, 2, 3 Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 11: Testing, Testing 1, 2, 3 (Selecting Test Data) Internet Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Homework by Tuesday, Project by Tuesday, Unit VIII Pretest Loops Unit Study Guide Learning Activities (Non-Graded): See Study Guide Chapter 12: How Long Can This Go On? (Pretest Loops) Internet Reading: See Study Guide Discussion Board Response: Submit your response to the Discussion Board question by Saturday, Discussion Board Comment: Comment on another student s Discussion Board response by Tuesday, Homework by Tuesday, Project by Tuesday, ITC 4210, Programming Concepts and Problem Solving 13