Unit Overview. Concepts & Understandings. Learning Targets

Similar documents
Curriculum Map Grade(s): Subject: AP Computer Science


IMACS: AP Computer Science A


Full file at

Computer Programming C++ (wg) CCOs

Introduction to Programming Using Java (98-388)

CompuScholar, Inc. 9th - 12th grades

Java Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011

TeenCoder : Java Programming (ISBN )

AP Computer Science A Course Syllabus

COURSE OF STUDY UNIT PLANNING GUIDE COMPUTER SCIENCE 1 FOR: 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

Absolute C++ Walter Savitch

AP Computer Science AB

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

3D Graphics Programming Mira Costa High School - Class Syllabus,

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013.

Part I Basic Concepts 1

AP Computer Science A Skyline High School Mr. Coupland

Introduction to Computer Science using JAVA

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

SY nd Sem Syllabi-All Courses.xlsx - 2S-APCSA Page 1 of 5

AP Computer Science A

Programming with Java

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept

[CHAPTER] 1 INTRODUCTION 1

Problem Solving with C++

Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.

Big Java Late Objects

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8

Course Outline. Introduction to java

JAVA CONCEPTS Early Objects

Switching to AQA from Edexcel

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

APCS Semester #1 Final Exam Practice Problems

(1) Students will be able to explain basic architecture and components of digital computers and networks, and basic programming language features.

OHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE

AP COMPUTER SCIENCE A: SYLLABUS

Bloss, Adrienne and N. Jane Ingram. Lab Manual to Accompany Java Software Solutions. New York, New York: Pearson Education, Inc, 2003.

DATA TYPES AND EXPRESSIONS

102. Introduction to Java Programming

CodeHS: Arkansas Standards Alignment

Exam 1 Prep. Dr. Demetrios Glinos University of Central Florida. COP3330 Object Oriented Programming

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Discover how to get up and running with the Java Development Environment and with the Eclipse IDE to create Java programs.

PROGRAMMING IN C AND C++:

WA1278 Introduction to Java Using Eclipse

Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10

VALLIAMMAI ENGINEERING COLLEGE

Building Java Programs

Fall 2018 Updates. Materials and Energy Balances. Fundamental Programming Concepts. Data Structure Essentials (Available now) Circuits (Algebra)

Calculations, Formatting and Conversions

CS313D: ADVANCED PROGRAMMING LANGUAGE

Lecture Set 4: More About Methods and More About Operators

Switching to AQA from OCR

Important Java terminology

Course: AP Computer Science A Description and Syllabus Description of Course:

About this exam review

CISC-124. This week we continued to look at some aspects of Java and how they relate to building reliable software.

CIS 110: Introduction to Computer Programming

Visual C# Instructor s Manual Table of Contents

Outline. Parts 1 to 3 introduce and sketch out the ideas of OOP. Part 5 deals with these ideas in closer detail.

HUDSONVILLE HIGH SCHOOL COURSE FRAMEWORK


Chapter 3: Operators, Expressions and Type Conversion

NJCCCS AREA: Mathematics. North Brunswick Township Public Schools AP COMPUTER SCIENCE. Acknowledgements. Vivian Morris, Mathematics Teacher

Aryan College. Fundamental of C Programming. Unit I: Q1. What will be the value of the following expression? (2017) A + 9

Chapter 6 Introduction to Defining Classes

JAVA MOCK TEST JAVA MOCK TEST II

Computer Science II (20073) Week 1: Review and Inheritance

! Widely available. ! Widely used. ! Variety of automatic checks for mistakes in programs. ! Embraces full set of modern abstractions. Caveat.

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and

Pace University. Fundamental Concepts of CS121 1

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Fundamentals (2014)

Q1 Q2 Q3 Q4 Q5 Total 1 * 7 1 * 5 20 * * Final marks Marks First Question

Types and Expressions. Chapter 3

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries

AP Computer Science A. Course Syllabus. Jackson County High School Instructor: LaDonna Woods School Year

Department Curriculum and Assessment Outline

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Glossary. For Introduction to Programming Using Python By Y. Daniel Liang

AP Computer Science A Syllabus

COURSE TITLE. Introduction to Java LENGTH. One Semester Grades DEPARTMENT. Computer Department Barbara O Donnell, Supervisor SCHOOL

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

Sri Vidya College of Engineering & Technology

HASTINGS HIGH SCHOOL

COP 3330 Final Exam Review

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

Introduction to Computer Science and Object-Oriented Programming

HTML5 and CSS3 More JavaScript Page 1

Transcription:

Content Area: AP Computer Science Unit Title: Classes and Objects Target Course/Grade Level Duration: 5 Weeks Unit Overview Description : In previous units, the students experienced what objects and classes look like from the point of view of the user of the objects and classes. This unit examines the interior of classes, in particular how to modify them and then how to create new classes. It is the objective of this unit for the students to create their own classes and write programs that will use these classes. They will also be able to understand, analyze and modify existing code from an application program. Students are evaluated by homework, class participation, written algorithms, computer projects, AP practice questions, quizzes and/or tests. Concepts Classes Inheritance Class Hierarchies Abstract Classes Interfaces CPI Codes Concepts & Understandings Learning Targets Understandings Class design and syntax Create and use constructors, accessor and modifier methods Syntax and usage Polymorphism Implementation 8.1.A 8.2.A 21 st Century Themes and Skills See Addendum Guiding Questions How can you define an object within a class? What are the different types of methods within a class? What is the meaning of inheritance? Unit Results Students will... Discover how to define an object within a class. Create an object using the new command and how to access methods of a class using the dot notation. Have a discussion of instance variables of a class will also be addressed. Define the different types of methods within a class. Differentiate between constructors, accessor and modifier or mutator methods. understand the concept of a helper method of a class create a class definition for a class called Population Zone, based on a set of written specifications Write methods of a class. With the help of the teacher, they will learn how to use the instance variables of the class to write constructors, accessor and modifier methods Understand the meaning of inheritance and the syntax used to extend a class. See a programming example of inheritance featuring the superclass and its subclasses. Define an abstract method and abstract classes and show the students how to interpret and write code for such methods and classes. Discover the need for abstract classes in object oriented programming. Learn about the concept of interfaces and how they can be used in programming. Suggested Activities

The following activities can be incorporated into the daily lessons: Create an object. Content Area: AP Computer Science Unit Title: Introduction to Computing using Java Target Course/Grade Level Duration: 3 Weeks Unit Overview Description This first unit offers an insight to computer systems, the social and ethical implications of computing and the language of Java and structured programming. The students will understand the process of how a computer application goes from an algorithm, to source code, to object code, to a finished product including the conversions of numerical data from decimal form, to binary, to hexadecimal representations. They will become familiar with operating the HSA JAVA Software to write simple input/output programs. Students are evaluated by homework, class participation, written algorithms, computer projects, quizzes and/or tests. Concepts & Understandings Concepts Piracy Responsible Computer usage JAVA Program development Number conversions Programming CPI Codes 8.1.D 8.2.C A- APR.HS.06 A- REI.HS.01 Learning Targets 21 st Century Themes and Skills Understandings Software piracy is morally and socially illegal. Intellectual data should not be copied without permission. Adhere to acceptable use policies which govern access to computers belonging to others. JAVA'S beginning, development and usage as a computer language. The sequence of computer programming from program specification to JAVA coding. The steps it takes for source code to get translated to object code.\ To convert numerical data from any system within the decimal, hexadecimal and binary systems. To use the editor to create input/output type programs.

Guiding Questions What is a program and what are the steps of writing a software program How to boot up the Java software? How do you edit a program? What is the difference between System.out.print() and System.out.println()? What is source code? What happens to the source code when a program gets executed? Can byte code be executed? What is the job of the compiler? What is the job of the Java Virtual Machine? What is the job of the linker? How is numeric data represented in the computer's memory? What is 37 as a binary number, a hexadecimal number? What is A2F as a binary, a decimal? What is 110110 as a decimal, a hexadecimal? What is 3.75 as a binary? What is 1001.1011 as a decimal. What does OOP stand for? What is encapsulation? Give an example of encapsulation in BASIC and in real-life.\ Write an algorithm to describe your morning routine. Write an algorithm to determine the day number of the year a particular date is. What things do you download from the internet? Have you ever face-booked false information? What rights do intellectual properties have? Students will... Unit Results Become familiar with stages of program development, the Java software and how to start writing programs. Be familiar with the transformation of a program from source code to object code. Convert numerical data to their floating point, binary, and hexadecimal equivalents. Become familiar with some of the techniques of programming including object-oriented programming and encapsulation. Learn what an algorithm is and how to use it to write a computer program. Become aware of some of the social issues in today's world of computing including software piracy, privacy, commercial and governmental use of personal data, identity theft and intellectual property. Suggested Activities The following activities can be incorporated into the daily lessons: Students will explain the history of the Java language. Students will explain the steps of program development. Students will use the Java editor to write a simple output program. Students will explain the steps of execution for a Java program. Students will convert a binary representation of a number to its equivalent hexadecimal and decimal representations. Students will convert a decimal representation of a number to its equivalent hexadecimal and binary representations. Students will convert a hexadecimal representation of a number to its equivalent binary and decimal representations. Students will convert a binary decimal to a regular decimal and vice-verse.

Students will define the terms OOP and encapsulation. Students will program using OOP and encapsulation principles. Students will write algorithms to complete a task. Students will write a program to print out their name, schedule and email address. Students will explain the social and ethical implications of computing. Content Area: AP Computer Science Unit Title: String Objects Target Course/Grade Level Duration: 4 Weeks Unit Overview Description Almost all programming languages have the capability of handling character data, and Java is no exception. In this unit the students will be introduced to the concept of Object Oriented Programming (OOP) utilizing the String class and its member methods. The unit also emphasizes the underlying principals of object references with respect to String objects. It is through these objects that the students will be able writing various application programs that manipulate strings. Students are evaluated by homework, class participation, written algorithms, computer projects, AP practice questions, quizzes and/or tests. Concepts OOP-Object Oriented Programming String Objects Unicode CPI Codes 8.1.A 8.2.A Concepts & Understandings Understandings How to create String objects and call its member methods. How to use the methods of the String class to manipulate strings. How to compare strings. Learning Targets 21 st Century Themes and Skills Guiding Questions How are strings different than int, char, boolean or double? What does the term immutable mean? What will the following code produce: string s1,s2; s2 = "hello"; s1 = s2; s1 = "bye"; s2 = s1;

s1 += "!"; If x = "Riggs"; what is x.length() ;? What is x.charat(0);, x.charat(4);, x.charat(6);?\ What is x.indexof("igg"); x.indexof("g"); x.indexof("jo");? if y = "Rigoliosi"; What is y.indexof("o")? y.indexof("o",4);? What is y.substring(3)? y.substring(2,4)? y.substring(3,3)? y.substring(10)? How does the computer compare strings? What is unicode? Can you write a statement that will check if two strings are equal? Can you write a statement to compare Riggs to Rigatoni? What will the comparison yield? What will the result of the following statements be: a = "cat"; b = "cathy"; if (a.equals(b) ) then... if (! (b.equals("cathy") then... if (a.compareto(b) ) < 0 then... What commands are needed to print out a person's first name from a full name. What commands are needed to insert a word into a sentence? delete a word from a sentence? Unit Results Students will... become aware of the string class and how to utilize string objects. discover how strings are referenced. The concepts of aliasing, and immutable objects will be discussed. The concatenation commands ( +, += ) will also be introduced be introduced to some of the methods of the String class. They will see a need for them in programming and will use them to write application programs. discover how Java compares string data. introduced to the unicode representation of character data and the methods that allow the programmer to compare that data such as the compareto() and equals(). practice writing application methods to do the following: a. check if a string is a palindrome b. count the number of words in a string c. return the first or last name of a person's full name d. delete a token from a string e. insert a token into a string f. determine the number of times a token occurs in a string. write a program that will search a sentence for a particular token utilizing the String class or Allow the user to enter a sentence and then convert it to pig-latin. Suggested Activities The following activities can be incorporated into the daily lessons: Use methods to manipulate strings. Manipulate strings. Compare Strings. Write method WordReverse.

Write method Palindrome. Write method Insert. Write method Delete. Write method WordSearch. Write English to Pig-Latin conversion. Unit Overview Content Area: AP Computer Science Unit Title: Arrays and Common Sorting and Searching Algorithms Target Course/Grade Level Duration: 4 Weeks Description : Students will explore ways to handle large amounts of data using the one dimensional array data structure in their programs and classes. They will be able to declare, create, initialize, access, and manipulate arrays. They will become aware of the importance of passing data from method to method using reference parameters vs. value parameters. It is through the array data structure that some of the standard searching and sorting techniques will be investigated. They will also be able to understand, analyze and modify these techniques in their application programs. Students are evaluated by homework, class participation, written algorithms, computer projects, AP practice questions, quizzes and/or tests. Concepts & Understandings Concepts Array data structure Parameter passing. Random no repeat arrays Parallel arrays Sorting an array Order of Magnitude Searching an array array lists CPI Codes 8.1.B 8.1.F G- MG.HS.01 G- MG.HS.02 Learning Targets 21 st Century Themes and Skills Understandings How to create and manipulate one-dimensional array. How arrays are passed to methods. How to load an array with random numbers with no repeaters. How to create and manipulate parallel arrays Knowledge of Selection, Insertion, Merge, and Quick sort technique algorithms. The efficiency of sorting algorithms. Knowledge and efficiency of Linear and Binary search technique algorithms. Create, manipulate and evaluate code involving Array Lists.

See Addendum Guiding Questions What is an array? What is another name for subscript? How can you load an array with integers using an initializer list? With a for loop? How do you think an array is passed to a method by value or by reference? Why did you choose your answer? What are parallel arrays? What are the advantages of using parallel arrays over two-dimensional arrays? What are the disadvantages? How can you load an array with random numbers? How can you load an array with random numbers and no repeaters How can you sort these cards from small to large? Can the computer use the same technique you used? Why do you think they called this technique the Selection Sort? Bubble Sort? How many passes does it take the Selection Sort to sort this given array? How many switches? How many passes does it take the Bubble Sort to sort this given array? How many switches? Can you write code to shift an array to the right? How about the left? Why would you want to shift an array? What would the order of magnitude be for the insertion sort? Is one sort faster than the rest? If so, when and why? Which sort is the fastest if I want to find the 3 highest salaries in a company? What is the order of magnitude for each sort we have discussed? When will the quicksort be the best? Unit Results Students will... Come to understand the need for the array data structure as well as how they are declared, created and initialized in Java. appreciate the need for parallel arrays and how to program a data base application Be introduced to the first of two common array search techniques called Selection and Bubble sorts. Become familiar with the terminology of Big-O notation and how it is used measures the efficiency of an algorithm.. Methods will be written to find elements in an array. Become familiar with the insertion sort algorithm and its attempt to use the shift and insert technique to sort the array. Become familiar with logic of the merge sort and Quicksort algorithms and there use of recursion in the sorting process. Order of magnitude will also be discussed and the students will be able to classify them as a n log n sorts. Demonstrate merging two sorted arrays. Demonstrate divide and conquer logic. Demonstrate the Quicksort algorithm. Examine the sorting procedures we have discussed and how they compare to each other. Compare the order of magnitude for sorting all data types Become familiar with the Binary search algorithm of searching an array. Understand the logic of the search and why it is better than the linear search technique when used on large arrays. State the number of searches that are needed to find a particular key from any size array whether or not the key

is in the array. Learn how to create an Array List and will become familiar with the methods of this class. Understand the need for the class and how it can be used to manipulate objects. Suggested Activities The following activities can be incorporated into the daily lessons: Declaring, creating, initializing, accessing and passing an array. Write a program using parallel arrays. Load an array with random numbers with no repeaters. Find the number of passes it takes to sort an array using the Selection Sort technique. Find the number of switches it takes to sort an array using the Selection Sort technique. Find the number of passes it takes to sort an array using the Bubble Sort technique. Find the number of switches it takes to sort an array using the Bubble Sort technique. Find the order of magnitude of the Selection and Bubble Sort. Determine what the array will look like during each pass of the Insertion Sort. Be familiar with the logic of the Mergesort and Quicksort. State the order of magnitude for the Mergesort and Quicksort. Determine which sort is better to used based on the data within. Determine the number of searches it will take to find a key using the Binary search technique. Evaluate code involving Array Lists. Write code to create, load, print, remove, and replace elements of an Array List. Write code to manipulate an Array List. Content Area: AP Computer Science Unit Overview Unit Title: Data Types, Expressions and Selection Constructs Target Course/Grade Level Duration: 6 Weeks Description : This unit will explore Java programming constructs and the top-down approach to writing software. The primitive data types and Strings will be introduced and the declaration of constants and variables will be explored. Students will be able to use the standard mathematical operators as well as the ones located in the Math library in writing application programs. Algorithms for rounding numerical values and producing random numbers in any range will be derived. The unit will continue with the conditional control features of the language including the ability to code real-life logical applications using the mathematical Laws of Logic. Students are evaluated by homework, class participation, written algorithms, practice AP questions, computer projects, quizzes and/or tests. Concepts Java variables. Java Mathematical operators Round Numbers Random numbers Input Program Methodology Java selection constructs Boolean expressions If-then-else structure Law of Boolean logic Concepts & Understandings Understandings How to declare and define variables and constants of the standard and String data types. Code, convert, evaluate, mathematical expressions using the standard mathematical operators and the operators from the Math library.. How to round numerical data to any desired place value. How to create a random number within any numerical interval. Write code to allow user to enter input. Write code in Top-down design.

CPI Codes 8.1.B 8.1.F Learning Targets How to write an if-then-else structure to compare quantities in their programs. How to evaluate Boolean expressions and if-thenelse structures including short circuiting. How to convert an if-then-else structures to other constructs and vice-verse. Convert Boolean expressions to equivalent expressions. A- APR.HS.06 A- APR.HS.07 A.CC - A- SSE.HS.03 21 st Century Themes and Skills See Addendum Guiding Questions What data types would you use to represent: 7, 9.2, a, dog, true, 123,456,8796,999,3245? Assign a variable the value 10. How can you change a real number to and integer? Write a statement to define the area of a triangle. What is the result of the following 3/4, 10/3, 7%4, 32%8, 9%18? What is the result of Math.sqrt(100), Math.abs(-45), Math.round(2.786), Math.pow(2,5), Math.min(2.3,9.4), Math.max(3.4,6.7), Math.floor(3.4), Math.ceil(-5.7), Math.round(6.333). How can we make the computer produce a random number from 1 to 10? What is another way of writing x = x + 1, y = y*6, z = z + 10%a? What is the result of x = Math.pow(8,(1/3.0)) Write a statement to round y to the nearest hundredth. Why doesn't Java have an input instruction in its language set? How do you allow the user to enter an integer, double, character, string, and Boolean data type? Write a program that will utilize top-down design and methods to compute the percentage one number is of another, the total balance on an interest bearing account, and the rounded value of a decimal number to the nearest thousandths. What is another way of checking A > B, A = B? What is the equivalent of A (B && C)? A && (B C)? What is the equivalent of! (A B)?! (A && B)? Unit Results Students will... Learn about the different data types offered in Java along with the number of bytes reserved for each. Learn how to declare and define different types of variables and mathematical expressions. Learn how to type-cast data from one valid data type to another.

Familiar with the compound assignment operators, the auto increment and decrement operators, the standard mathematical operators and the mathematical operators found in the Math library class. Be familiar with their order of precedence. Become familiar with the input commands offered in Java from the hsa.stdin library. Become familiar with the concept of top-down design and method structure. Write a program that will calculate and print a receipt for repairs done by a fictitious Cable Co. The data entry people will enter the number of hours spent on the job and the number of feet of cable used. The program will then print out a receipt for services rendered based on the specifications given by the teacher. How conditional branching works in JAVA. Students will discover some of the laws of logic including the Relational, Commutative, Associative, Distributive, and DeMorgan's laws. Students will write a program that will act as a payroll system. It will allow the user to enter: employee name, id number, date, job title, number of hours worked, and pay rate. They will then produce a pay stub including all the above and any overtime pay, union dues, taxes etc. based on the program specifications including top-down design. Will become familiar with the switch construct. They will learn the syntax of the instruction and also be able to evaluate one. They will see the need for the switch construct in their application programming. An introduction to the break statement and the conditional operator will also be discussed. Suggested Activities The following activities can be incorporated into the daily lessons: Students will create variables of various data types. Students will define variables of various data types. Students will write expressions containing the standard math operators. Students will typecast data from one type to another. Students will translate an algebraic expressions to a Java expression and vice-verse. Students will evaluate a Java expression using the order of precedence. Students will use the div and mod operators to write code that will calculate the coins in a money value.(ex: $.19 = 1 quarter, 1 nickel, 4 pennies) Students will write and interpret code that will round a number to any place value. Students will write and interpret code that will produce a random number within any interval. Write code to allow the user to enter data from the keyboard. Students will write a top-down design program utilizing method structure. Write code to produce a billing system for a fictitious company. Evaluate if-then-else logic structures. Write logical structures. Write equivalent forms of Boolean expressions. Interpret Boolean expressions. Write a switch logical construct. Interpret code containing a switch construct. Write a conditional operator. Interpret code containing a conditional operator. Write code to create a payroll program. Content Area: AP Computer Science Unit Title: Iteration and Recursion Target Course/Grade Level Duration: 5 Weeks Unit Overview Description : This unit delves in the concept of how iteration and recursion are handled in Java. The three looping constructs (for, while and do while) are discussed as well as using the appropriate choice in writing looping application programs. The students will also understand the need for nested looping as a valuable programming tool. Finally, the students will

understand how a recursive method is executed, evaluated, and will realize the importance of recursion in computer programming. Students are evaluated by homework, class participation, written algorithms, computer projects, practice AP test questions, quizzes and/or tests. Concepts Iteration Recursion CPI Codes Concepts & Understandings Learning Targets Understandings How to use all three Java looping constructs: for, while, do-while to complete a task. How to determine the output of any looping structure. How to determine the appropriate looping structure for an application. How to write and evaluate a recursive structure. G- MG.HS.01 N-Q.HS.01 A-SSE.HS.01 F-LE.HS.01 21 st Century Themes and Skills See Addendum Guiding Questions Can you write a loop in BASIC that will print your name 10 times? What does each line of code do? Can you write a for-loop that will print the even numbers 2-100? Can you write a for-loop that will sum those numbers? Can you write a for-loop that will produce the Fibonacci sequence? What type of loop did you use to allow the computer to accept information from the user in BASIC? How did it work? What was the meaning a of flag? How can we use a for-loop to achieve the same thing? How about the While loop? Can you use a While loop as a counting loop? Write a While loop to print your name 10 times. How can we use the While loop to allow the user to input a data file of information? What is the purpose of having the do-while looping structure? When might we use it instead of a while-loop or a for-loop? What does the term kid-proofing a program mean? Can you write a do-while loop to kid-proof the folling query? Do you see a pattern in the following: Fa la la la la la la la Fa la la la la la la la Fa la la la la la la la Fa la la la la la la la Fa la la la la la la la Can we use nested loops to create this pattern? What types of loops would you use?

Can you create it? How about this pattern? * ** *** **** ***** What will this method return when Mystery (5) is called? int Mystery(int n) { if (n == 0) return 1; else return n * mystery(n-1); } Unit Results Students will... become familiar with the for-loop construct write code that utilizes the for-loop construct to represent count controlled iterative applications become familiar with the while loop, its syntax and its usages introduced to the do-while looping structure Interpret and write code to accomplish many tasks including kid-proofing a query. design a program that will utilize all three looping structures and top-down design write and interpret nested loops regardless of what structure they use Write loops to create many different patterns and applications including squares, rectangles and triangles of stars, word patterns, and a grade calculator. Learn what recursion is and how it can be implemented into their programming assignments. Interpret a recursive method and trace its levels of recursive to predict the output or return value. Suggested Activities The following activities can be incorporated into the daily lessons: Write code to create an iterative pattern. Determine the output of a for-loop and while loop Write iterative looping structures using the while instruction. Write iterative patterns using a do-while loop. Interpret code of a do-while loop construct. Use top-down design and looping structures to compute a range, a sum and a midpoint of two inputted values. Predict the output of a recursive method. Write code to produce a nested loop application and interpret a nested loop code. Write a recursive method to print the Fibonacci series. Evaluate recursive methods.