Introduction to Computer Programming in C and APPS …



P ARS I P P AN Y - T ROY H I L L S T OW N S H I P S C HOOL SAC OUR S E O F S T UD Y F O RI NT RODU CT I ON T O CO M P UT E R P RO GRA M M I NG I N C AND AP P S DE VE L OP M E NT M TH 5 1 7APPROVED BYTHE BOARD OF EDUCATION January 24, 2013Approved:January 2001Revised:August 2009September 2009October 2012STATEMENT OF PURPOSEIntroduction to Computer Programming in C and Apps Development is a course designed for the student who wants an introduction to the program- ming process. This is the first course in a three-year sequence. Students who wish to complete the computer science sequence should elect AP Com- puter Science A in their second year and Data Structures and Advanced Programming in year three. Students electing this course should have com- pleted Algebra I or Sequential Algebra I as a prerequisite, therefore students who had algebra in grade eight may plan to take Introduction to Computer Programming in grade nine. Other students will have to elect this course in a subsequent year after completing Algebra I or Sequential Algebra I.Students are expected to apply problem-solving skills, mathematical reasoning and written communication skills to the solution of problems in many application areas.In addition to demonstrating the ability to design, implement and test solutions to computer problems; students will understand hardware and soft- ware terms as well as the responsible use of computer systems.Separately we assess students to gauge progress and inform instruction. Benchmark assessments for students in grades 9 through 12 are administered in the form of a midterm and final exam for full year courses. *Special Note: Only final exams are administered at the end of quarter courses and semester courses. This course offers students the opportunity to:1. develop and increase logical thinking skills.2. learn a variety of programming concepts.3. expand problem-solving skills.GOALS4. acquire a broad understanding of the basic components of computer programming.5. apply programming techniques to the solution of “real-world” problems.6. acquire the confidence and experience necessary to successfully apply higher-level thinking skills to the exploration of new programming situ- ations.7. apply mathematical skills necessary for the solution of programming problems.8. expand and increase oral and written communication skills.9. acquire an appreciation of responsible computer usage.METHODA variety of teaching techniques will provide the student with the opportunities to discuss, share, exchange and consolidate ideas related to pro- gramming concepts. Students will explore concepts and techniques of programming by means of teacher-led demonstrations and explanations, in- class discussions and practical lab activities.THE LIVING CURRICULUMCurriculum guides are designed to be working documents. Teachers are encouraged to make notes in the margins. Written comments can serve as the basis for future revisions. In addition, the teachers and administrators are invited to discuss elements of the guides as implemented in the class- room and to work collaboratively to develop recommendations for curriculum reforms as needed.AFFIRMATIVE ACTIONDuring the development of this course of study, particular attention was paid to material which might discriminate on the basis of sex, race, religion, national origin, or creed. Every effort has been made to uphold both the letter and spirit of affirmative action mandates as applied to the content, the texts and the instruction inherent in this course.MODIFICATIONS AND ADAPTATIONSFor guidelines on how to modify and adapt curricula to best meet the needs of all students, instructional staff should refer to the Curriculum Modifications and Adaptations included as an Appendix in this curriculum. ?Instructional staff of students with Individualized Education Plans (IEPs) must adhere to the recommended modifications outlined in each individual plan. P ARS I P P ANY - T R OY HI L L S T O W N S HI P S C HOOL SCO U R S E P RO F I CI E NC I ES AN D G R AD I NG P R O CE DUR ES COURSE PROFICIENCIES AND GRADING PROCEDURESCOURSE NO.:MTH 517TITLE: COMPUTER PROGRAMMING IN C AND APP DEVELOPMENTIN ACCORDANCE WITH DISTRICT POLICY AS MANDATED BY THE NEW JERSEY ADMINISTRATIVE CODE, THE NEW JERSEY STUDENT LEARNING STANDARDS FOR TECHNOLOGICAL LITERACY AND THE 21ST CENTURY LIFE AND CAREER STANDARDS. THE FOLLOWING ARE PROFICIENCIES REQUIRED FOR THE SUCCESSFUL COMPLETION OF THE ABOVE NAMED COURSE.The student will demonstrate proficiency in the following areas:1. describe the history of computer development2. demonstrate knowledge of ethical and responsible use of computers3. identify the major components of a computer system4. convert values between number systems5. enter, edit, compile and execute programs on the computer6. design a program based on given specifications7. design and write programs using correct structure and syntax8. recognize, categorize and correct syntax and logic errors9. declare, recognize and use identifiers, constants and keywords10. use typecasting appropriately in numeric calculations11. input and output data values12. declare, initialize and use strings13. use and evaluate statements containing Boolean and logical operators and expressions14. implement decisions using IF statements15. implement multiple branching and nesting16. use pre-defined methods17. write methods18. write count-controlled loops19. write event-controlled loops20. write a nested loop21. define, declare, and use a structure22. define, declare and process a one-dimensional array23. define, declare and process a two-dimensional array24. understand and use pointers25. use a pre-defined class.26. design and implement a class.27. define, initialize, and use objects.28. assign values to objects.29. create and deploy apps in a simulated environment.GRADING PROCEDURESMarking period grade:Assessments (quizzes, tests, student demonstrations, classroom discussion, projects)60%Labs30%Assignments10%Final Grade – Full Year CourseFull Year CourseEach marking period shall count as 20% of the final gradeThe midterm assessment will count as 10% of the final grade, and the final assessment will count as 10% of the final grade.Proficiencies (Objectives) CONTENT OUTLINE(Proficiency numbers in parenthesis)STANDARDSSUGGESTED ACTIVITIESEVALUATION/ASSESSMENTTEACHER NOTESStudent will be able to:Students will:Proficiencies 5, 6, 7, & 8 are usedthroughout the entire courseI. History and Development of Com- putersA. Hardware Development (3) B. Software Development (1)1. Languages2. ApplicationsC. Ethics and Responsible Use ofComputers (2)8.2A Grade 8CPI 019.4K Grade 12CPI 68?view video on history of com- puters, and answer questions based on the videoAs appropriate, tests and quizzesmay be open notebookQuiz: answer questions about his- tory and the people involved in the development of computersII. Number Systems (4)A. Binary, Octal, HexadecimalB. Conversion between bases8.2A Grade 8CPI 019.4K Grade 12CPI 68?practice conversions betweennumber systemsQuiz: convert numbers betweenbasesIII. Introduction to ProjectDevelopment Environment (5)9.4K Grade 12CPI 069.4K Grade 12CPI 07?examine and modify a sampleexisting projectGiven a project, modify accordingto teacher specificationsIncorporatethroughout courseProficiencies (Objectives) CONTENT OUTLINE(Proficiency numbers in parenthesis)STANDARDSSUGGESTED ACTIVITIESEVALUATION/ASSESSMENTTEACHER NOTESStudent will be able to:Students will:IV. Calculations and DataA. Mathematical Operations(10, 16)1. Standard Operations(9)2. Order of Operations3. Random Numbers (16)B. Data Types and Variables (9) C. Strings (12, 16)D. Pseudocode9.4K Grade 12CPI 069.4K Grade 12CPI 079.4K Grade 12CPI 069.4K Grade 12CPI 07?practice calculations and conver-sions using language-specific operators?write a program to convert Fahr-enheit to Celsius?convert an amount of money intoquantity of bills & coins?write code to produce random number generators?write a program to simulate toss-ing a coin or die?determine the value of a black-jack hand –?examine and modify existing projects?Write program to find bride’smarried name, both traditional and modernTest/quizGiven a project, modify according to teacher specifications?Quiz: write and analyze code to produce random number gener- atorsGiven a code segment:a. predict the outputb. find and correct errorsV. Methods (17)A. void methodsB. value-returning methodsC. arguments and parameters9.4K Grade 12CPI 069.4K Grade 12CPI 07Convert change lab to have a genericmethod to find the quantity of a par- ticular coin and remaining amountof moneyExplain how parameters and argu-ments are used in programmingProficiencies (Objectives) CONTENT OUTLINE(Proficiency numbers in parenthesis)STANDARDSSUGGESTED ACTIVITIESEVALUATION/ASSESSMENTTEACHER NOTESStudent will be able to:Students will:VI. Decisions (13, 14, 15)A. Logic1. Truth tables2. Boolean Algebra3. Logical operators4. Relational operatorsB. If statementsC. If…Else statementsD. Nested IfE. Multi-way decisionsVII. Repetition (18, 19, 20)A. Count-controlled loopsB. Event-controlled loopsVIII. Arrays (21, 22)A. One-dimensional B. Two dimensional C. Searching1. highest/lowest value2. specific value9.4K Grade 12CPI 069.4K Grade 12CPI 079.4K Grade 12CPI 069.4K Grade 12CPI 079.4K Grade 12CPI 069.4K Grade 12CPI 07?practice evaluating Boolean ex-pressions to simplify logical statements and discover equiva- lent statements?examine and modify existingprojects?determine letter grade based onnumber grade?given a number for suit and val-ue of a card, display the correct name for the card.?examine and modify existing projects.?write a program to simulate toss-ing a die and tally the results. Show counts in a table.?write a program to find the fac-tors of a number input by the user.?examine and modify existing projects?write a program to simulate toss-ing a die using an array to store the tallies (modify loop lab)Quiz: Evaluate statements usingrelational and logical operatorsTest: write code involving deci- sions and evaluate statements using relational and logical operatorsGiven a project, modify according to teacher specificationsGiven a code segment:1. predict the output2. find and correct errors3.Test/quiz: write and trace code us- ing loopsGiven a project, modify according to teacher specifications.Given a code segment:1. predict the output2. find and correct errors.Given a project, modify according to teacher specificationsGiven a code segment:1. predict the output2. find and correct errorsProficiencies (Objectives) CONTENT OUTLINE(Proficiency numbers in parenthesis)STANDARDSSUGGESTED ACTIVITIESEVALUATION/ASSESSMENTTEACHER NOTESStudent will be able to:Students will:IX. Classes and Objects(25, 26, 27, 28)A. Introduce Objective-C1. Objective-C syntax2. data types and expressions3. repetition4. decisions5. arrays6. methods7. blocks8. structures9. pointersB. User-defined classes1. interface and2. implementation files3. access properties using dot operator9.4K Grade 12CPI 069.4K Grade 12CPI 07?convert existing C projects toObjective-C.?write a program using a class to store and reduce a fraction.Given a project, modify accordingto teacher specifications using clas- ses.Given a code segment with classes, predict the output and find and correct errors.X. Develop AppsA. Basic objects for designing interfaces1.buttons2.labels3. text boxes B. ViewController C. AppDelegateD. Handling basic interactions between objects and codeE. Additional Objects1. image view2. slider3. segmented control4. switches5. keyboard/keypad9.4K Grade 12CPI 069.4K Grade 12CPI 07Exs: put text in a label when a but- ton is pressed, temp converter, ge- ometric calculations (ie – rectan- gle: enter L and W, begin with one button to find area, perimeter, and diagonal, extend to one button for each calculation)Use chapter 21 from Objective-CbookSample: temp converterF. Optional topics1. autorotation/autosizing2. multiview applications3. bars and pickers4. table views5. taps, touches, and gesturesBeginning ideas: fraction calculator (use and modify existing fraction class), change lab, factors of a num- ber37846062674500Optional TopicsA. RecursionB. InheritanceC. Polymorphism D. Selection Sort E. Binary Search F. File I/OX. Optional TopicsA. GraphicsB. Searching and sortingBIBLIOGRAPHYRESOURCESKochan, Stephen; Programming in Objective-C - Fourth Edition; Sam’s Publishing (c) 2005Kochan, Stephen; Programming in C - Third Edition; Pearson Education (c) 2012 Mark, Dave/Nutting, Jack/LaMarche, Jeff; Beginning iOS 5 Development; APress (c) 2011VIDEO“Thinking Machines: The History of the Computer”, A&E Television Networks. ?1996.APPENDIX ASAMPLE AUTHENTIC ASSESMENTSSAMPLE AUTHENTIC ASSESSMENTS1. You have just graduated from college and are looking for your “Dream Job”. Two different companies offer you similar positions but they offer different salary options:OPTION 1 - $100 per dayOPTION 2 - $1 the first day, $2 the second day, $4 the third day and so on with the amount doubling each dayWrite a program to determine which option pays better after 10 days.2. As Sr. Sales Representative for Standard Chemical Corporation, your new boss wants you to set up a program to calculate profit and loss giv- en revenue and expenses for the last quarter of the year. Your boss wants to be able to enter the revenue and expenses (including rent, pay- roll, utilities, supplies and other expenses). He also wants the program to calculate profit and/or loss. In addition, you need to have the pro- gram calculate the total percent for each expense. (NOTE: This real-life, authentic task will be used to assess student’s ability to write code.)APPENDIX BGENERAL GRADING GUIDE FOR ASSESSMENTSGENERAL GRADING GUIDE FOR ASSESSMENTSCoding Style:4. appropriate and well worded comments proper indentingcorrect use of whitespace appropriate use of modularization3. good but incomplete comments some indentingsome use of whitespace some use of modularization2. limited comments limited indentinglimited use of whitespace limited use of modularization1. minimal comments minimal indentingminimal use of whitespace minimal use of modularizationProgram Design/Documentation:4. complete program description complete interface specificationscomplete description of algorithm(s)3. partial program description partial interface specifications partial description of algorithm(s)2. limited program description limited interface specifications limited description of algorithm(s)1. minimal program description minimal interface specifications minimal description of algorithms(s)Interface Design:4. clear directions for user completely user-friendlyappropriately formatted and labeled output uses appropriate objects3. limited directions for user somewhat user-friendlyappropriately formatted or labeled output uses appropriate objects most of the time2. minimal directions for user minimally user-friendlyoutput neither formatted nor labeleduses appropriate objects some of the time1. confusing directions for user program difficult to useno output displayedrarely uses appropriate objectsProgram Execution:4. produces correct output for all inputsconforms to all instructor’s specifications and requirements, i.e. use of specific language constructs and/or algorithmsturned in on timeturned in with all supporting documentation (design, code and interface)3. produces correct output for most inputsconforms to most instructor’s specifications and requirements turned in up to two school days lateturned in with some supporting documentationProgram Execution (continued)2. produces correct output for some inputsconforms to some instructor’s specifications and requirements turned in up to four school days lateturned in with limited supporting documentation1. rarely produces correct outputconforms to few instructor’s specifications and requirements turned in up to six school days lateturned in with no supporting documentationGRADING SHEETName: Period: Lab: Due Date: Date Submitted: GRADING: Coding:comments indenting whitespace modularization Design/Documentation:description 228600016573500interfacealgorithm(s) Interface:228600051625500directions user-friendly outputobjects Execution:228600016383000outputspecs/requirements 228600016573500on timedocumentation 22860001841500045720070993000TOTAL:APPENDIX CSOLUTIONS TO ASSESSMENTS 1 AND 2SAMPLE SOLUTION TO AUTHENTIC ASSESSMENT #11. Title:Determine Better PayPROGRAM SPECIFICATION AND DESIGN SHEET2. Description:You are offered two salary options for 10 days of work. Option 1: $100 per dayOption 2: $1.00 the first day, $2.00 the second day, $4.00 the third day, and so on with the amount doubling each dayWrite a program to determine which option pays better.3. Interface Specifications:Labels:1. program description2. explanation of each method3. salary earned by each method4. which method produces better payButtons: 1. run – executes code2. end4. Special Requirements:For loop to compute method 25. Algorithm(s):Set Salary 1 to 100 x 10Set Salary 2 to 014547857874000Loop 09Salary 2 = Salary 2 + 2 ^ loop indexCompare Salary 1 to Salary 2Output both salaries and “Method One” or “Method Two”Formll? NAME:?Period 6'Title: Determine betterpay'Due: TodayPriate SubcmdEndClick(} EndEndSubPriateSub cmdRun Click(}'DeclareDim SallariablesAs Double'constant payrateDim Sal2 As DoubleDim index As Single'changing pay rate'loopariable?calculateSall - lOOfirst payrate* 10?calculate second pay rateSal2 - 0ForindexSal2Nextindex0 To9Sal2 +2 index'Output salarieslblOutOne - FormatCurrency(Sall,2)lblOutTwo - FormatCurrency(Sal2, 2)'Determine bettersalaryIf Sall >Sal2 ThenlblOutThree - ..Method One...ElselblOutThreeEndIfEndSub"Method Two""450850499745001104900168275Bonnie Sturm00Bonnie Sturm110490016764000trmProtitLoss - 1‘Name:‘Date; Today‘Title: Profit and LossSAMPLE SOLUTION TO AUTHENTIC ASSESSMENT #2‘Description: to calculate the profit and loss based on revenue and expenses.‘will also calculate the percentage each expense is of total‘expenses.Private Sub cmdCalculate Clicko‘Calculate total ExpenseslbITotalExp.Caption = Val(txtRent.Text) + Val(txtPayroll.Text) + -Val(txtUtil.Text) + Val(txtSupp.Text) + Val(txt0ther.Text)‘Calculate Profit lblProfit.Caption = Val(txtRev.Text) - Val(lblTotalExp.Caption)‘Calculate LosslblLoss.Caption = -Val(lblProfit.Caption)‘Calculate Expense Percentages lblRentPerc.Caption = Fix(Val(txtRent.Text) /-Val(lblTotalExp.Caption) * 100)lblPayrollPerc.Caption = Fix(Val(txtPayroll.Text) /-Val(lblTotalExp.Caption) * 100)lblUtilPerc.Caption = Fix(Val(txtUtil.Text) /-Val(lblTotalExp.Caption) * 100)lblSuppPerc.Caption = Fix(Val(txtSupp.Text) /-Val(lblTotalExp.Caption) * 100)lblOtherPerc.Caption = Fix(Val(txt0ther.Text) /- Val(lblTotalExp.Caption) * 100)End SubPrivate Sub cmdExit Click()EndEnd SubAP P E N DI X DP ROGR AM S P E CI F I CAT I ON AND DE S I GN S H E E T (S tu de n t O ut l i ne of P r ogr am D e si gn )PROGRAM SPECIFICATION AND DESIGN SHEET1. Title:2. Description:3. Interface Specifications:4. Special Requirements:5. Algorithm(s):AP P E N DI X E NEW JERSEY STUDENT LEARNING STANDARDSNEW JERSEY STUDENT LEARNING STANDARDS4 - Mathematics8 - Technology9 - 21st Century Life and CareersAPPENDIX FCURRICULUM MODIFICATIONS & ADAPTATIONS ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download