P A R S I P P A N Y - T R O Y H I L L S T O W N S H I P S C H O O L S A C OUR S E O F S T UD Y F O R I NT RODU CT I ON T O CO M P UT E R P RO GRA M M I NG I N C A N D AP P S DE VE L OP M E NT M TH 5 1 7 APPROVED BY THE BOARD OF EDUCATION January 24, 2013 Approved: January 2001 Revised: August 2009 September 2009 October 2012
55
Embed
Introduction to Computer Programming in C and …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH517... · Web viewMTH 510 Introduction to Computer Programming MTH 510 Introduction
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
P A R S I P P A N Y - T R O Y H I L L S T O W N S H I P S C H O O L S
AC O U R S E O F S T U D
Y F O R
I N T R O D U C T I O N T O C O M P U T E R P R O G R A M M I N G I N C A N D A P P S D E V E L O P M E N T M T H 5 1 7
APPROVED BYTHE BOARD OF EDUCATION
January 24, 2013
Approved: January 2001Revised: August 2009
September 2009October 2012
2MTH 517 Introduction to Computer Programming
STATEMENT OF PURPOSE
Introduction 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.
GOALS
4. 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.
3MTH 517 Introduction to Computer Programming
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 ADAPTATIONS
For 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.
4MTH 517 Introduction to Computer Programming
P A R S I P P A N Y - T R O Y H I L L S T O W N S H I P S C H O O L S
C O U R S E P R O F I C I E N C I E S A N D G R A D I N G P R O C E D U R E S
COURSE PROFICIENCIES AND GRADING PROCEDURES
COURSE NO.: MTH 517 TITLE: COMPUTER PROGRAMMING IN C AND APP DEVELOPMENT
IN 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 loops
5MTH 517 Introduction to Computer Programming
20. 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.
Exs: 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-Cbook
Sample: temp converter
12MTH 517 Introduction to Computer Programming
13MTH 517 Introduction to Computer ProgrammingF. Optional topics
1. autorotation/autosizing2. multiview applications3. bars and pickers4. table views5. taps, touches, and
gestures
Beginning ideas: fraction calculator (use and modify existing fraction class), change lab, factors of a num- ber
Optional TopicsA. RecursionB. InheritanceC. Polymorphism D. Selection Sort E. Binary Search F. File I/O
X. Optional TopicsA. GraphicsB. Searching and sorting
14MTH 517 Introduction to Computer Programming
BIBLIOGRAPHY
RESOURC ES
Kochan, Stephen; Programming in Objective-C - Fourth Edition; Sam’s Publishing (c) 2005Kochan, Stephen; Programming in C - Third Edition; Pearson Education (c) 2012
1. 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.)
17MTH 517 Introduction to Computer Programming
APPENDIX BGENERAL GRADING GUIDE FOR ASSESSMENTS
18MTH 517 Introduction to Computer Programming
GENERAL GRADING GUIDE FOR ASSESSMENTS
C o ding St y l e : 4. appropriate and well worded comments
proper indentingcorrect use of whitespace appropriate use of modularization
3. good but incomplete comments some indentingsome use of whitespace some use of modularization
2. limited comments limited indentinglimited use of whitespace limited use of modularization
1. minimal comments minimal indentingminimal use of whitespace minimal use of modularization
Pr og r a m D e si g n/D o cum e nt a ti o n: 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)
19MTH 517 Introduction to Computer Programming
Interfa c e Design: 4. clear directions for user
completely user-friendlyappropriately formatted and labeled output uses appropriate objects
3. limited directions for user somewhat user-friendlyappropriately formatted or labeled output uses appropriate objects most of the time
2. minimal directions for user minimally user-friendlyoutput neither formatted nor labeleduses appropriate objects some of the time
1. confusing directions for user program difficult to useno output displayedrarely uses appropriate objects
Program Execution:4. produces correct output for all inputs
conforms to all instructor’s specifications and requirements, i.e. use of specific language constructs and/or algorithms
turned 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 documentation
20MTH 517 Introduction to Computer Programming
Pr o g r a m E x e c ut i o n (continued)2. produces correct output for some inputs
conforms to some instructor’s specifications and requirements turned in up to four school days lateturned in with limited supporting documentation
1. rarely produces correct outputconforms to few instructor’s specifications and requirements turned in up to six school days lateturned in with no supporting documentation
Execution:outputspecs/requirements on timedocumentation
TOTAL:
22MTH 517 Introduction to Computer Programming
APPENDIX CSOLUTIONS TO ASSESSMENTS 1 AND 2
23MTH 517 Introduction to Computer Programming
SAMPLE SOLUTION TO AUTHENTIC ASSESSMENT #1
1. Title:Determine Better Pay
PROGRAM SPECIFICATION AND DESIGN SHEET
2. 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 description
2. explanation of each method3. salary earned by each method4. which method produces better pay
Buttons: 1. run – executes code2. end
4. Special Requirements:For loop to compute method 2
5. Algorithm(s):Set Salary 1 to 100 x 10Set Salary 2 to 0Loop 0 9
Salary 2 = Salary 2 + 2 ^ loop indexCompare Salary 1 to Salary 2Output both salaries and “Method One” or “Method Two”