ADVANCED PLACEMENT COMPUTER SCIENCE A

Similar documents
ADVANCED PLACEMENT SPANISH

GACE Computer Science Assessment Test at a Glance

WSU Five-Year Program Review Self-Study Cover Page

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

Implementing a tool to Support KAOS-Beta Process Model Using EPF

My Program is Correct But it Doesn t Run: A Preliminary Investigation of Novice Programmers Problems

SOFTWARE EVALUATION TOOL

Software Maintenance

School of Innovative Technologies and Engineering

Program Matrix - Reading English 6-12 (DOE Code 398) University of Florida. Reading

Using Task Context to Improve Programmer Productivity

CS 101 Computer Science I Fall Instructor Muller. Syllabus

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Timeline. Recommendations

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Computer Science (CS)

Developing an Assessment Plan to Learn About Student Learning

AGENDA LEARNING THEORIES LEARNING THEORIES. Advanced Learning Theories 2/22/2016

Course Content Concepts

Wonderworks Tier 2 Resources Third Grade 12/03/13

21st Century Community Learning Center

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

SARDNET: A Self-Organizing Feature Map for Sequences

Computerized Adaptive Psychological Testing A Personalisation Perspective

Statewide Framework Document for:

CENTRAL MAINE COMMUNITY COLLEGE Introduction to Computer Applications BCA ; FALL 2011

(Sub)Gradient Descent

The ADDIE Model. Michael Molenda Indiana University DRAFT

Software Development: Programming Paradigms (SCQF level 8)

SETTING STANDARDS FOR CRITERION- REFERENCED MEASUREMENT

Florida Reading Endorsement Alignment Matrix Competency 1

CLASSIFICATION OF PROGRAM Critical Elements Analysis 1. High Priority Items Phonemic Awareness Instruction

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

DOCTORAL SCHOOL TRAINING AND DEVELOPMENT PROGRAMME

MINISTRY OF EDUCATION

A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

An Introduction to the Minimalist Program

LEGO MINDSTORMS Education EV3 Coding Activities

Android App Development for Beginners

International School of Kigali, Rwanda

The Strong Minimalist Thesis and Bounded Optimality

Proof Theory for Syntacticians

What is PDE? Research Report. Paul Nichols

Seminar - Organic Computing

Preferences...3 Basic Calculator...5 Math/Graphing Tools...5 Help...6 Run System Check...6 Sign Out...8

DYNAMIC ADAPTIVE HYPERMEDIA SYSTEMS FOR E-LEARNING

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

CEFR Overall Illustrative English Proficiency Scales

Math-U-See Correlation with the Common Core State Standards for Mathematical Content for Third Grade

A Framework for Customizable Generation of Hypertext Presentations

Learning Microsoft Office Excel

Cognitive Modeling. Tower of Hanoi: Description. Tower of Hanoi: The Task. Lecture 5: Models of Problem Solving. Frank Keller.

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

Syntax Parsing 1. Grammars and parsing 2. Top-down and bottom-up parsing 3. Chart parsers 4. Bottom-up chart parsing 5. The Earley Algorithm

An Interactive Intelligent Language Tutor Over The Internet

Java Programming. Specialized Certificate

1 st Quarter (September, October, November) August/September Strand Topic Standard Notes Reading for Literature

Identifying Novice Difficulties in Object Oriented Design

Irene Middle School. Pilot 1 MobilED Pilot 2

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

Data Structures and Algorithms

Task Types. Duration, Work and Units Prepared by

Learning Object-Oriented Programming in Python: Towards an Inventory of Difficulties and Testing Pitfalls

Radius STEM Readiness TM

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

CS Course Missive

Candidates must achieve a grade of at least C2 level in each examination in order to achieve the overall qualification at C2 Level.

Integrating simulation into the engineering curriculum: a case study

BANGLA TO ENGLISH TEXT CONVERSION USING OPENNLP TOOLS

Learning goal-oriented strategies in problem solving

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Bluetooth mlearning Applications for the Classroom of the Future

have to be modeled) or isolated words. Output of the system is a grapheme-tophoneme conversion system which takes as its input the spelling of words,

Testing Schedule. Explained

Queensborough Public Library (Queens, NY) CCSS Guidance for TASC Professional Development Curriculum

Texts and Materials: Traditions and Encounters, AP Edition. Bentley, Ziegler. McGraw Hill, $ Replacement Cost

new research in learning and working

DIDACTIC MODEL BRIDGING A CONCEPT WITH PHENOMENA

Developing a TT-MCTAG for German with an RCG-based Parser

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

A Minimalist Approach to Code-Switching. In the field of linguistics, the topic of bilingualism is a broad one. There are many

Machine Learning and Data Mining. Ensembles of Learners. Prof. Alexander Ihler

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Backwards Numbers: A Study of Place Value. Catherine Perez

An Industrial Technologist s Core Knowledge: Web-based Strategy for Defining Our Discipline

Phonemic Awareness. Jennifer Gondek Instructional Specialist for Inclusive Education TST BOCES

An OO Framework for building Intelligence and Learning properties in Software Agents

Lecture 1: Machine Learning Basics

The Characteristics of Programs of Information

Web-based Learning Systems From HTML To MOODLE A Case Study

Empirical Software Evolvability Code Smells and Human Evaluations

Criterion Met? Primary Supporting Y N Reading Street Comprehensive. Publisher Citations

Unpacking a Standard: Making Dinner with Student Differences in Mind

COMPETENCY-BASED STATISTICS COURSES WITH FLEXIBLE LEARNING MATERIALS

Computer Science 1015F ~ 2016 ~ Notes to Students

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

South Carolina College- and Career-Ready Standards for Mathematics. Standards Unpacking Documents Grade 5

Assessment. the international training and education center on hiv. Continued on page 4

Transcription:

FREEHOLD REGIONAL HIGH SCHOOL DISTRICT OFFICE OF CURRICULUM AND INSTRUCTION SCIENCE AND ENGINEERING SPECIALIZED LEARNING CENTER ADVANCED PLACEMENT COMPUTER SCIENCE A COURSE PHILOSOPHY Science/Engineering AP Computer Science is designed to meet the requirements of the College Board as indicated by successful performance on the Advanced Placement Examination. Students will understand and use the designated advanced placement programming language, standard algorithms, and special applications of the data structures supported by the language and demonstrate understanding by completion of these applications and. COURSE DESCRIPTION Grade Level: 11 Department: Science and Engineering Learning Center Course Title: Advanced Placement Computer Science A Course Code: 172050 Credits: 5 BOARD OF EDUCATION INITIAL ADOPTION DATE: AUGUST 30, 2010

FREEHOLD REGIONAL HIGH SCHOOL DISTRICT Board of Education Mr. Ronald G. Lawson, President Mr. Heshy Moses, Vice President Mr. William Bruno Mr. Tom Caiazza Mrs. Elizabeth Canario Mr. Barry Hochberg Mrs. Kathie Lavin Mr. Christopher Placitella Mrs. Jennifer Sutera Dr. Suzanne Koegler, Superintendent Ms. Donna M. Evangelista, Assistant Superintendent for Curriculum and Instruction Curriculum Writing Committee Mr. Erik Levin Supervisor Ms. Denise Scanga 2

Course Philosophy The philosophy of the Science/Engineering AP Computer Science course is to: Meet the requirements of the College Board as indicated by successful performance on the Advanced Placement Examination. Understand and appreciate the designated advanced placement programming language and special applications of the data structures supported by the language and demonstrate by completion of these applications and. Acquire familiarity with the algorithms that are used to manipulate the data, procedures, and objects in standard encountered in fields such as data processing, mathematical manipulation, and science applications as demonstrated by solving such. Know and use the criteria that should be employed in order to effectively select and appropriately use in solving. Know and adhere to the rules of computer etiquette and ethics as evidenced by appropriate and courteous behavior and ethics. Course Description Students will complete the requirements of the Advanced Placement Computer Science course, as well as examining and implementing various computer applications and independent. Throughout the course, interdisciplinary units will enable students to apply their newly acquired sophisticated programming techniques to practical situations. The culminating project is a major component assigned to teams of students with the explicit purpose of reinforcing program design, style, and algorithm selection. Students enrolled in this course will demonstrate mastery of the following proficiency requirements: The student is expected to understand: How object oriented design leads to an understandable, reusable and maintainable program. How interfaces and classes lead to reusable and maintainable programs. That object oriented design is an important part of modern program implementation. That various tools and methods are appropriate for testing and validating software. Design methods for reusable code and ways of adapting code for reuse. Runtime analysis and the influence of the underlying representations on performance and accuracy in calculation. Design and analysis of the underlying representations of abstract data and tools for manipulating data in complex ways. Standard algorithms and processes applied to standard structures. The syntax of C++, JAVA, or other appropriate language as specified by the advanced placement curriculum. Computer etiquette and ethics. Experiment with alternative programming models and complete small group programming. 3

Curriculum Map Relevant Standards 1 Unit #1: Object Oriented Design E2, E3 8.1 A, E Unit #2: Object Oriented Design, Part 2 E2, E3 8.1 E Unit #3: Program Implementation E2, E3 8.1 E, E, F Unit #4: Program Analysis A1, 3; B2, 3; D2,4, 6; 8.2 D Unit #5: Code Reuse A3; B; C2 Enduring Understandings Object Oriented Design can lead to an understandable, reusable, and maintainable programs Interfaces and classes can lead to reusable and maintainable programs Object oriented design is an important model for program implementation and data representation Appropriate design methods allow for writing correct code and reusing code can help with correctness Appropriate design methods allow for reusable code and ease adapting code for reuse Essential Questions How does one read, understand, and specify a problem description? How and why does one abstract and encapsulate data? What are is-a and has-a relationships in class specification? What are reusable components? How are class relationships defined? How are reusable components from existing class libraries re-used? What is the difference between an interface and a class? Why does an interface not include implementation of methods? What is the relationship between the interface specification and the eventual implementation via inheritance? How does top down development relate to encapsulation, abstraction, and object oriented development? How do systems evolve from program model via individual classes and segments? Why are objects used to encapsulate primitive data and methods? When is it appropriate to test a class in isolation? What are the characteristics of boundary cases and how may they be tested? How are errors identified and addressed? When is it appropriate to modify existing code for new use? How is inheritance used to extend existing code? How can pre- and post-conditions and assertions be used to ease the reuse process? Why is the exception model used and how does it ease Diagnostic (before) Assessments Formative (during) Lab and Lab and Lab and Lab and Lab and Summative (after) 4

Relevant Standards 1 Enduring Understandings code reuse? Essential Questions Diagnostic (before) Assessments Formative (during) Summative (after) Unit #6: Algorithms I D1, 3, 4; E1, 3 Unit #7: Algorithms II D1, 3, 4; E1, 3 Unit #8: Standard Algorithms D1, 3, 4; E1, 3 Underlying representations and methods influence performance and accuracy of numerical computation Design and analysis of underlying representations of abstract data and tools allow us to manipulate data in complex ways Standard algorithms, processes, and structures ease the implementation of data processing solutions How are estimates of run time and space needs determined and described? How are numbers represented and interpreted by the computer? How are estimates of run time and space needs determined and described? How are abstract and concrete data represented and interpreted by the computer? How may a structure be traversed? How may a structure be used to perform a useful task? How do you choose the correct tools for a given task? Lab and Lab and Lab and 5

Unit Title Unit #1: Object Oriented Design E2, E3 8.1 A, E Unit #2: Object Oriented Design, Part 2 E2, E3 8.1 E Unit #3: Program Implementation E2, E3 8.1 E, E, F Unit #4: Program Analysis A1, 3; B2, 3; D2,4, 6; 8.2 D Unit #5: Code Reuse A3; B; C2 Unit #6: Algorithms I D1, 3, 4; E1, 3 Freehold Regional High School District Course Proficiencies and Pacing Unit Understandings and Goals Object Oriented Design can lead to an understandable, reusable, and maintainable program. 1. Students will read and understand a problem description. 2. Students will specify purpose and goals for a problem. 3. Students will apply data abstraction and encapsulation concepts. 4. Students will read class specifications and decompose into classes. 5. Students will implement class hierarchies. 6. Students will identify reusable class components. 7. Students will choose appropriate data structures. Interfaces and classes can lead to reusable and maintainable programs. 1. Students will specify an interface. 2. Students will implement an interface. 3. Students will read and use abstract classes. Object oriented design is an important model for program implementation and data representation. 1. Students will declare constants and variables. 2. Students will declare classes, interfaces, and methods. 3. Students will use parameters. 4. Students will perform console output. 5. Students will use standard control structures for iteration, recursion, and conditional statements. 6. Students will use methods from standard classes. Appropriate design methods allow for writing correct code, and reusing code can help with correctness. 1. Students will hand trace code. 2. Students will identify and correct errors. 3. Students will use and design test data suites. Appropriate design methods allow for reusable code and ease adapting code for reuse. 1. Students will throw and handle runtime exceptions. 2. Students will extend existing code using inheritance. 3. Students will interpret and modify existing classes and methods. 4. Students will interpret preconditions, post conditions, and invariants. 5. Students will write code to meet preconditions, post conditions, and invariants. Underlying representations and methods influence performance and accuracy of numerical computation. 1. Students will estimate and model runtime. 2. Students will estimate and model space usage. 3. Students will understand and evaluate error during numerical computation. Recommended Duration 4 weeks 4 weeks 4 weeks 5 weeks 4 weeks 3 weeks 6

Unit #7: Algorithms II D1, 3, 4; E1, 3 Unit #8: Standard Algorithms D1, 3, 4; E1, 3 Design and analysis of underlying representations of abstract data and tools allow us to manipulate data in complex ways 1. Students will estimate and model runtime. 2. Students will estimate and model space usage. 3. Students will understand how data context and use influences appropriate representation. Standard algorithms and processes and standard structures ease the implementation of data processing solutions 1. Students will estimate and model runtime. 2. Students will estimate and model space usage. 3. Students will implement standard algorithms. 4. Students will use standard algorithms to solve common. 5 weeks 3 weeks 7

Unit #1: Object Oriented Design Enduring Understanding: Object Oriented Design can lead to an understandable, reusable, and maintainable program. Essential Questions: How does one read, understand, and specify a problem description? How and why does one abstract and encapsulate data? What are is-a and has-a relationships in class specification? What are reusable components? How are class relationships defined? How are reusable components from existing class libraries re-used? Unit Goals: Students will read and understand a problem description. Students will specify purpose and goals for a problem. Students will apply data abstraction and encapsulation concepts. Students will read class specifications and decompose into classes. Students will implement class hierarchies. Students will identify reusable class components. Students will choose appropriate data structures. Duration of Unit: 4 weeks NJCCCS: 4.5 E2, E3; 8.1 A, E; ; 9.4.12.K (4) Instructional Resources and Guiding / Topical Questions Content, Themes, Concepts, and Skills Materials How are specified? Read and understand a problem description or operational Textbook specification How do we set solution goals? Specify purpose and requirements for a programmatic How and why do we encapsulate data? How do we specify a class? How do we decompose into classes and class hierarchies? What can be reused? solution Application of data abstraction and encapsulation Specify the data, methods, and modes of access for classes Specify and use class hierarchies to solve programming Design and identify reusable classes and class components Computer equipment and appropriate software Internet resources Teaching Guided practice Student presentation Coöperative learning Assessment Guided practice Classroom discussion should include the use of standard wrapper classes, the Math class, the String class, appropriate methods from these classes, the use of public and private data and methods, the use of inherited methods, such as to String() and equals() 8

Unit #2: Object Oriented Design, Part 2 Enduring Understanding: Interfaces and classes can lead to reusable and maintainable programs Essential Questions: What is the difference between an interface and a class? Why does an interface not include implementation of methods? What is the relationship between the interface specification and the eventual implementation via inheritance? Unit Goals: Students will specify an interface. Students will implement an interface. Students will read and use abstract classes. Duration of Unit: 4 weeks NJCCCS: 4.5 E2, E3; 8.1 E; ; 9.4.12.K (4) Content, Themes, Concepts, and Instructional Resources and Guiding / Topical Questions Teaching Skills Materials What is an interface? Understand some standard interfaces Textbook Why do we use interfaces? Apply some standard interfaces How is an interface designed and used? What is an abstract class? Develop classes that implement standard interfaces Read and use abstract classes Computer equipment and appropriate software Assessment Student presentation Coöperative learning Classroom discussion Internet resources should include the use of Comparable interface, List interface, and the interfaces for iterating a structure. 9

Unit #3: Program Implementation Enduring Understanding: Object oriented design is an important model for program implementation and data representation. Essential Questions: How does top down development relate to encapsulation, abstraction, and object oriented development? How do systems evolve from program model via individual classes and segments? Why are objects used to encapsulate primitive data and methods? Unit Goals: Students will declare constants and variables. Students will declare classes, interfaces, and methods. Students will use parameters. Students will perform console output. Students will use standard control structures for iteration, recursion, and conditional statements. Students will use methods from standard classes. Duration of Unit: 4 weeks NJCCCS: 4.5 E2, E3; 8.1 E;, E, F; 9.4.12.K (4) Content, Themes, Concepts, Instructional Resources and Guiding / Topical Questions Teaching and Skills Materials What are elementary data types? Develop code that uses elementary Textbook types How can data access be specified? Use public and private data, How are objects different than elementary data? How are methods given information? What are standard control structures? What are standard motifs for working with complex structures? mutable and immutable data Use objects of standard classes and understand access methods for objects and member data Use explicit and implicit parameters Use standard looping and conditional structures Use the standard iteration model Computer equipment and appropriate software Student presentation Coöperative learning Classroom discussion Assessment Internet resources should include the use of elementary data types, public and private data, operations on these data types, use of the iteration model and the for-each construct, appropriate use of casts, the use of standard wrapper classes, use of standard arrays, and the use of standard classes such as ArrayList and String. 10

Unit #4: Program Analysis Enduring Understanding: Appropriate design methods allow for writing correct code, and reusing code can help with correctness. Essential Questions: When is it appropriate to test a class in isolation? What are the characteristics of boundary cases how may they be tested? How are errors identified and addressed? Unit Goals: Students will hand trace code. Students will identify and correct errors. Students will use and design test data suites. Duration of Unit: 5 weeks NJCCCS: 4.5 A1, 3; B2, 3; D2, 4, 6; 8.2 D; 9.4.12.K (4) Guiding / Topical Questions How do we determine the purpose of existing code? How may errors be identified? Content, Themes, Concepts, and Skills Hand tracing code to determine operation; Use of standard documentation models Generation and use of test cases; identifying common error syndromes; Locating logical/structural errors through isolation; Use scaffolding to test classes and methods in isolation Instructional Resources and Materials Textbook Computer equipment and appropriate software Teaching Assessment What language features help prevent common errors? Use generic classes to detect and help prevent use of incompatible types Student presentation Coöperative learning should involve use of appropriate documentation as an aid to avoiding and correcting errors Internet resources Classroom discussion 11

Unit #5: Code Reuse Enduring Understanding: Appropriate design methods allow for reusable code and ease adapting code for reuse. Essential Questions: When is it appropriate to modify existing code for new use? How is inheritance used to extend existing code? How can pre- and post-conditions and assertions be used to ease the reuse process? Why is the exception model used and how does it ease code reuse? Unit Goals: Students will throw and handle runtime exceptions. Students will extend existing code using inheritance. Students will interpret and modify existing classes and methods. Students will interpret preconditions, post conditions, and invariants. Students will write code to meet preconditions, post conditions, and invariants. Duration of Unit: 4 weeks NJCCCS: 4.5 A3; B; C2; 9.4.12.K (4) Guiding / Topical Instructional Resources Content, Themes, Concepts, and Skills Questions and Materials What properties make Use and develop formal interfaces for methods and classes Textbook code reusable? What tools help make Use standard exception handling interface; Use standard documentation code reusable? What is inheritance? How do we document to ease reuse? What properties are shared by all objects? methods for interfaces; Develop classes that inherit and use properties of the parent class; Use overloading of methods to modify properties Use preconditions, post conditions, invariants, and interface specifications Understand that there is a root to the class hierarchy; explain why certain methods exist for all classes; use, extend, and overload these methods Computer equipment and appropriate software Teaching Student presentation Coöperative learning Assessment Internet resources Classroom discussion should involve meeting the contract requirements for standard interfaces and the use of appropriate documentation to allow for the extension and reuse of code. They should also involve the hiding class methods and overriding of instance methods. should include Exceptions being thrown and caught. 12

Unit #6: Algorithms I Enduring Understanding: Underlying representations and methods influence performance and accuracy of numerical computation. Essential Questions: How are estimates of run time and space needs determined and described? How are numbers represented and interpreted by the computer? Unit Goals: Students will estimate and model runtime. Students will estimate and model space usage. Students will understand and evaluate error during numerical computation. Duration of Unit: 3 weeks NJCCCS: 4.5 D1, 3, 4; E1, 3; ; 9.4.12.K (4) Guiding / Topical Questions What are common numerical methods? What are common non-numeric algorithms? How can run time be estimated? How can space use be estimated? What limits correctness of results? Content, Themes, Concepts, and Skills Write programs to perform common computational tasks Implement common sorts, searches, and other common methods Use `Big O notation to represent the growth behavior of time and resource usage Examine common ways systematic computational error is manifested; Examine how details of implementation interact with representation to improve or reduce correctness Instructional Resources and Materials Textbook Computer equipment and appropriate software Teaching Student presentation Coöperative learning Assessment Internet resources Classroom discussion should include the implementation of common numerical tools, sorts including merge sort, insertion sort, selection sort, and quick sort. 13

Unit #7: Algorithms II What are some common algorithms that act on data structures? How do we analyze the time and space required by a structure and operations on it? How do we choose appropriate structures? Enduring Understanding: Design and analysis of underlying representations of abstract data and tools allow us to manipulate data in complex ways. Essential Questions: How are estimates of run time and space needs determined and described? How are abstract and concrete data represented and interpreted by the computer? Unit Goals: Students will estimate and model runtime Students will estimate and model space usage Students will understand how data context and use influences appropriate representation Duration of Unit: 5 weeks NJCCCS: 4.5 D1, 3, 4; E1, 3; ; 9.4.12.K (4) Instructional Resources Teaching Assessment Guiding / Topical Questions Content, Themes, Concepts, and Skills and Materials What are some common data structures? Implement common structures such as lists, arrays, hash- Textbook tables, trees, queues, and stacks Implement tools such as searches and traversals Analyze properties of structures and determine time and space behaviors Examine common applications; Understand how the properties of a structure influence selection for a task Computer equipment and appropriate software Student presentation Coöperative learning Internet resources Classroom discussion should include the implementation and application of structures such as linked lists, queues, stacks, multidimensional arrays, and the use of common generic standard classes. 14

Unit #8: Standard Algorithms Enduring Understanding: Standard algorithms and processes and standard structures ease the implementation of data processing solutions. Essential Questions: How may a structure be traversed? How may a structure be used to perform a useful task? How do you choose the correct tools for a given task? Unit Goals: Students will estimate and model runtime. Students will estimate and model space usage. Students will implement standard algorithms. Students will use standard algorithms to solve common. Duration of Unit: 3 weeks NJCCCS: 4.5 D1, 3, 4; E1, 3; ; 9.4.12.K (4) Instructional Resources Teaching Guiding / Topical Questions Content, Themes, Concepts, and Skills and Materials What is traversal? Implement traversals for common structures Textbook Assessment What are applications for traversal? How do we select a particular traversal for a structure? What is sorting? What is searching? Where do we use lists? Where do we use queues and stacks? Use traversal for such tasks as searching, parsing, etc Examine structures with multiple `natural traversals, such as binary trees, and applications of various traversals Implement, compare, and contrast common sorting methods Implement, compare, and contrast common searching methods for common structures Examine applications where list properties are appropriate Examine algorithms where stacks and queues are appropriate Examine applications that use structures such as trees, hash tables, etc. Computer equipment and appropriate software Internet resources Student presentation Coöperative learning Classroom discussion Where do we use other common structures? should include the use of common search modes such as sequential search and binary search, the use of traversals (including the standard iterator model) in searching, the application and implementation of natural traversals on appropriate structures (such as the use of sequential search on a linked list,) and applications of stacks and queues to searching, traversing, and common tasks such as parsing, evaluation, and elimination of recursion. 15