AP Computer Science 4325

Similar documents
Samples of Evidence to Satisfy the AP Computer Science AB Curricular Requirements

School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3

Data Structures and Algorithm Analysis in C++

Course Review for Finals. Cpt S 223 Fall 2008

Course Review. Cpt S 223 Fall 2009

CS 445: Data Structures Final Examination: Study Guide

COMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University

Course Review. Cpt S 223 Fall 2010

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014

Topics for CSCI 151 Final Exam Wednesday, May 10

Data Structures Question Bank Multiple Choice

Cpt S 223 Fall Cpt S 223. School of EECS, WSU

CSci 231 Final Review

AP Computer Science AB

PROGRAMMING IN C++ (Regulation 2008) Answer ALL questions PART A (10 2 = 20 Marks) PART B (5 16 = 80 Marks) function? (8)

Chapter 1 Introduction

Course goals. exposure to another language. knowledge of specific data structures. impact of DS design & implementation on program performance

Data Structures and Abstractions with Java

1. Attempt any three of the following: 15

CISC 3130 Data Structures Fall 2018

CS301 - Data Structures Glossary By

«Computer Science» Requirements for applicants by Innopolis University

Department of Computer Science and Technology

EXAMINATIONS 2015 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN. Sec. Name Office Office hour Mail id

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems

DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Collections Questions

( ) + n. ( ) = n "1) + n. ( ) = T n 2. ( ) = 2T n 2. ( ) = T( n 2 ) +1

CPSC 211, Sections : Data Structures and Implementations, Honors Final Exam May 4, 2001

Table of Contents. Chapter 1: Introduction to Data Structures... 1

Prelim 2. CS 2110, 16 November 2017, 7:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph

CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259

( ). Which of ( ) ( ) " #& ( ) " # g( n) ( ) " # f ( n) Test 1

A6-R3: DATA STRUCTURE THROUGH C LANGUAGE

logn D. Θ C. Θ n 2 ( ) ( ) f n B. nlogn Ο n2 n 2 D. Ο & % ( C. Θ # ( D. Θ n ( ) Ω f ( n)

DATA STRUCTURES AND ALGORITHMS

Final Exam. EECS 2011 Prof. J. Elder - 1 -

CS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon

UNIT III BALANCED SEARCH TREES AND INDEXING

CS Introduction to Data Structures Week 3, 2017

Total No. of Questions :09] [Total No. of Pages : 02. II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC First Semester CSE/IT DATA STRUCTURES USING C

Virtual University of Pakistan

R13. II B. Tech I Semester Supplementary Examinations, May/June DATA STRUCTURES (Com. to ECE, CSE, EIE, IT, ECC)

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY THIRD SEMESTER B.TECH DEGREE EXAMINATION, JULY 2017 CS205: DATA STRUCTURES (CS, IT)

E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai) Nagore Post, Nagapattinam , Tamilnadu.

Basic Data Structures (Version 7) Name:

DATA STRUCTURES AND PROBLEM SOLVING USING JAVA

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018

CS302 Data Structures using C++

CS 210 Algorithms and Data Structures College of Information Technology and Engineering Weisberg Division of Engineering and Computer Science

DATA STRUCTURE : A MCQ QUESTION SET Code : RBMCQ0305

9. The expected time for insertion sort for n keys is in which set? (All n! input permutations are equally likely.)

Lecture Summary CSC 263H. August 5, 2016

13 A: External Algorithms II; Disjoint Sets; Java API Support

Algorithms and Data Structures

QUESTION BANK. Prepared by,mrs.d.maladhy AP/IT,RGCET. Page 1

AP Computer Science AB

D. Θ nlogn ( ) D. Ο. ). Which of the following is not necessarily true? . Which of the following cannot be shown as an improvement? D.

A6-R3: DATA STRUCTURE THROUGH C LANGUAGE

Hiroki Yasuga, Elisabeth Kolp, Andreas Lang. 25th September 2014, Scientific Programming

( ) ( ) C. " 1 n. ( ) $ f n. ( ) B. " log( n! ) ( ) and that you already know ( ) ( ) " % g( n) ( ) " #&

The ADT priority queue Orders its items by a priority value The first item removed is the one having the highest priority value

The questions will be short answer, similar to the problems you have done on the homework

) $ f ( n) " %( g( n)

COSC 2007 Data Structures II Final Exam. Part 1: multiple choice (1 mark each, total 30 marks, circle the correct answer)

CSc 225 Algorithms and Data Structures I Algorithm Analysis

Prelim 2 SOLUTION. CS 2110, 16 November 2017, 7:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph

COMP 250 Midterm #2 March 11 th 2013

CSCE 321/3201 Analysis and Design of Algorithms. Prof. Amr Goneid. Fall 2016

Computer Science E-22 Practice Final Exam

2. (a) Explain the concept of virtual functions in C++ with suitable examples. (b) Explain the concept of operator overloading in C++.

Suggested Study Strategy

Algorithms and Data Structures Spring 2008

Announcements HEAPS & PRIORITY QUEUES. Abstract vs concrete data structures. Concrete data structures. Abstract data structures

Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 154) Pass Marks: 24

CS251-SE1. Midterm 2. Tuesday 11/1 8:00pm 9:00pm. There are 16 multiple-choice questions and 6 essay questions.

COMP 251 Winter 2017 Online quizzes with answers

( ) n 3. n 2 ( ) D. Ο

R10 SET - 1. Code No: R II B. Tech I Semester, Supplementary Examinations, May

n 2 ( ) ( ) Ο f ( n) ( ) Ω B. n logn Ο

CMSC132, Practice Questions

COP 3502 Spring 2018 Study Union Review

Faculty of Science FINAL EXAMINATION COMP-250 A Introduction to Computer Science School of Computer Science, McGill University

Cpt S 223 Course Overview. Cpt S 223, Fall 2007 Copyright: Washington State University

& ( D. " mnp ' ( ) n 3. n 2. ( ) C. " n

ADT Priority Queue. Heaps. A Heap Implementation of the ADT Priority Queue. Heapsort

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1

CS521 \ Notes for the Final Exam

Data Structures and Algorithms

n 2 C. Θ n ( ) Ο f ( n) B. n 2 Ω( n logn)

Priority Queues Heaps Heapsort

Introduction p. 1 Pseudocode p. 2 Algorithm Header p. 2 Purpose, Conditions, and Return p. 3 Statement Numbers p. 4 Variables p. 4 Algorithm Analysis

INDEX. Cambridge University Press How to Think About Algorithms Jeff Edmonds Index More information

CS171 Final Practice Exam

Design and Analysis of Algorithms. Comp 271. Mordecai Golin. Department of Computer Science, HKUST

Selection, Bubble, Insertion, Merge, Heap, Quick Bucket, Radix

DATA STRUCTURES AND ALGORITHMS

Transcription:

4325 Instructional Unit Algorithm Design Techniques -divide-and-conquer The students will be -Decide whether an algorithm -classroom discussion -backtracking able to classify uses divide-and-conquer, -worksheets -greedy algorithms into the backtracking, greedy methods, -homework -dynamic programming categories listed. dynamic programming, or none -quizzes of these. -tests -divide-and-conquer The students will be -Design divide-and-conquer, -classroom discussion 2.4.11E, -backtracking able to create backtracking, greedy, and -worksheets 2.5.11A, -greedy algorithms using the dynamic programming -homework 3.2.12D -dynamic programming listed design algorithms. -quizzes techniques to solve -tests new problems. Thursday, September 01, 2005 Page 1 of 16

AP Marine Biology Simulation Case Study -interaction of multiple classes and The students will be -Modify or add to the AP Marine -classroom discussion 3.1.12A, interfaces able to make Biology Simulation program -worksheets 3.1.12B -reading and modifying an existing appropriate code as appropriate in given -homework Java program modifications and situations. -programming additions to data assignments structures and -quizzes algorithms in a large -tests program. Thursday, September 01, 2005 Page 2 of 16

Graph Theory -directed graph The students will be -Show the results of various -classroom discussion -undirected graph able to illustrate typical algorithms on sample directed, -worksheets -weighted graph graph theory undirected, and weighted -homework -depth-first search algorithms. graphs. -quizzes -breadth-first search -tests -topological sort -minimum spanning tree -shortest path problem -directed graph The students will be -Design algorithms that are -classroom discussion 2.5.11A, -undirected graph able to solve problems based on previously learned -worksheets 2.5.11C, -weighted graph involving graphs by algorithms to solve problems -homework 3.2.12D -depth-first search applying typical and involving graphs. -quizzes -breadth-first search newly-created -Design algorithms that include -tests -topological sort algorithms. newly created techniques to -minimum spanning tree solve problems involving -shortest path problem graphs. Thursday, September 01, 2005 Page 3 of 16

Hash Table Implementation of the Dictionary ADT -hash table The students will be -Implement a hash table using -classroom discussion 2.5.11A, -hash function able to compare the chaining. -worksheets 3.2.12D -chaining relative benefits and -Implement a hash table using -homework -linear probing drawbacks of linear probing. -quizzes -quadratic probing implementing a -Implement a hash table using -tests -double hashing Dictionary as a hash quadratic probing. -searching, inserting, deleting in a table. -Implement a hash table using hash table double harshing. -primary clustering -Implement a hash table using -secondary clustering rehashing. -load factor -rehashing -Discuss the time and space requirements of the different implementations compared to each other and compared to tree implementations of Dictionary. Thursday, September 01, 2005 Page 4 of 16

Intractability and What to Do About It -P vs. NP The students will be -Discuss, using appropriate -classroom discussion 2.8.11S, -NP-hard able to communicate vocabulary, issues surrounding -worksheets 2.8.11T, -NP-complete using the basic intractable problems and -homework 2.11.11C -approximation algorithms vocabulary associated algorithms that attempt to find -quizzes -probabilistic algorithms with intractable reasonable solutions for them. -tests -heuristics problems. Thursday, September 01, 2005 Page 5 of 16

Java's Set and Map Interfaces -Set interface The students will be -Write Java programs using the -classroom discussion -Map interface able to write programs TreeSet, HashSet, TreeMap, -worksheets -TreeSet class using Java's tree and and HashMap classes -homework -HashSet class hash table individually. -programming -TreeMap class implementations of the -Write Java programs that use assignments -HashMap class Set and Map combinations of these classes. -quizzes interfaces. -tests -Set interface The students will be -Discuss the differences -classroom discussion 2.5.11A -Map interface able to choose the between a set and a map. -worksheets -TreeSet class appropriate class for a -Discuss the running time -homework -HashSet class given situation. differences between Java's -quizzes -TreeMap class tree and hash table -tests -HashMap class implementations of set and map. -Discuss the ordering implications of Java's tree and hash table implementations of set and map. Thursday, September 01, 2005 Page 6 of 16

Mathematical Measures of Efficiency -space efficiency The students will be -Categorize mathematical -classroom discussion 2.1.11A, -time efficiency able to categorize functions using informal rules -worksheets 2.2.11B, -asymptotic notations--big-o, algorithms of the asymptotic notations. -homework 2.2.11C, big-omega, big-theta, little-o appropriately based on -Prove given categorizations of -quizzes 2.2.11D, -worst-case, average-case, and their running time and functions using the formal -tests 2.3.11A, amortized running times space efficiency. definitions of the asympotic 2.3.11C, notations. 2.4.11A, -Evaluate the running time of 2.5.11A, code fragments using the rules 2.5.11B, of the Random Access Machine mathematical model. 2.8.11C, 2.8.11Q, 2.8.11S, 2.11.11C, 3.1.12B -space efficiency The students will be -Compare data structures and -classroom discussion 2.5.11D, -time efficiency able to choose algorithms based on their -worksheets 2.11.11C, -asymptotic notations--big-o, appropriate data running times, including -homework 3.2.12D big-omega, big-theta, little-o structures and worst-case, average-case, -quizzes -worst-case, average-case, and algorithms based on and amortized. -tests amortized running times their time and space -Compare data structures and efficiency. algorithms based on their space requirements. -Compare data structures and algorithms based on their ease of implementation. Thursday, September 01, 2005 Page 7 of 16

Object-Oriented Programming -abstraction The students will be -Identify class and interface -classroom discussion 3.1.12A, -encapsulation able to read and write hierarchies in existing code. -worksheets 3.2.12D -inheritance computer programs -Identify is-a and has-a -homework -polymorphism that solve complex relationships in existing code. -programming -classes problems using -Decompose complex problems assignments -interfaces object-oriented design appropriately into objects, -quizzes -is-a relationships techniques. identifying is-a and has-a -tests -has-a relationships relationships and determining appropriate operations for and interactions between the objects. -Implement an object-oriented design in Java by writing code for abstract and concrete classes and interfaces, including appropriate abstraction, inheritance, and polymorphism. Thursday, September 01, 2005 Page 8 of 16

Recursion -recursion for divide-and-conquer The students will be -Determine an appropriate base -classroom discussion 2.5.11C, able to design and case for a divide-and-conquer -worksheets 2.8.11C, -recursion for inductive implement recursive solution. -homework 2.8.11C, mathematical definitions algorithms to solve -Determine an appropriate -programming 2.11.11C, -advantages and disadvantages of problems. division of a problem into assignments 3.2.12D recursion subproblems. -quizzes -running time analysis of recursive -Determine how an algorithm -tests should combine solutions to subproblems to produce a final result. -Identify the advantages and disadvantages of recursive solutions. -Calculate the running time of a recursive algorithm. Thursday, September 01, 2005 Page 9 of 16

Sorting and Searching -linear search The students will be -Illustrate each of the -classroom discussion 2.4.11E -binary search able to implement each algorithms using sample input -worksheets -selection sort of the listed sorting and data. -homework -insertion sort searching algorithms -Translate an English -programming -bubble sort in Java. description of an algorithm into assignments -mergesort pseudocode. -quizzes -quicksort -Implement pseudocode using -tests -bucket sort Java. -radix sort -Write a complete Java program -stable vs. unstable sorts to verify correctness of algorithm implementation. -linear search The students will be -Evaluate the worst-case and -classroom discussion 2.5.11A, -binary search able to choose average-case efficiency of -worksheets 3.2.12D -selection sort appropriate sorting or sorting and searching -homework -insertion sort searching algorithms algorithms. -quizzes -bubble sort for given situations. -Determine the appropriateness -tests -mergesort of a sorting or searching -quicksort algorithm based on the -bucket sort organization and size of the -radix sort input. -stable vs. unstable sorts Thursday, September 01, 2005 Page 10 of 16

The List, Stack, and Queue ADTs -List interface The students will be -Write Java code that includes -classroom discussion 2.8.11I -one- and two-dimensional array able to write efficient typical operations on one- and -worksheets -ArrayList class computer programs two-dimensional arrays. -homework -singly linked list that process data -Write Java code that includes -programming -doubly linked list using the List ADT. typical operations on assignments -circular linked list ArrayLists. -quizzes -ListNode class -Design and implement classes -tests -LinkedList class for singly, doubly, and circular -Iterator interface linked lists in Java. -ListIterator interface -Write Java code that uses the -Stack interface ListNode class provided in the -stack implementation using an Course array Description. -stack implementation using a -Write Java code that uses the linked list java.util.linkedlist class. -Queue interface -Write Java code that uses all -queue implementation using an the methods of the Iterator and array ListIterator interfaces. -queue implementation using a linked list -Choose the most appropriate implementation of List for a given situation based on the strengths and weaknesses of each implementation. Thursday, September 01, 2005 Page 11 of 16

The List, Stack, and Queue ADTs -List interface The students will be -Design and implement a class -classroom discussion 2.5.11A, -one- and two-dimensional array able to write efficient that implements the Stack -worksheets 3.2.12D -ArrayList class computer programs interface using an array. -homework -singly linked list that process data -Design and implement a class -programming -doubly linked list using the Stack ADT. that implements the Stack assignments -circular linked list interface using a singly linked -quizzes -ListNode class list. -tests -LinkedList class -Choose the more appropriate -Iterator interface implementation of Stack for a -ListIterator interface given situation. -Stack interface -stack implementation using an array -stack implementation using a linked list -Queue interface -queue implementation using an array -queue implementation using a linked list Thursday, September 01, 2005 Page 12 of 16

The List, Stack, and Queue ADTs -List interface The students will be -Design and implement a class -classroom discussion 2.5.11A, -one- and two-dimensional array able to write efficient that implements the Queue -worksheets 3.2.12D -ArrayList class computer programs interface using an array. -homework -singly linked list that process data -Design and implement a class -programming -doubly linked list using the Queue ADT. that implements the Queue assignments -circular linked list interface using a singly linked -quizzes -ListNode class list. -tests -LinkedList class -Choose the more appropriate -Iterator interface implementation of Queue for a -ListIterator interface given situation. -Stack interface -stack implementation using an array -stack implementation using a linked list -Queue interface -queue implementation using an array -queue implementation using a linked list Thursday, September 01, 2005 Page 13 of 16

The Priority Queue ADT and Heap -priority queue property The students will be -Perform insert operations on a -classroom discussion -priority queue operations able to perform the priority queue implemented as a -worksheets -heap implementation of priority priority queue tree. -homework queue operations on a sample -Perform deletemin operations -quizzes -PriorityQueue interface priority queue on a priority queue implemented -tests -heapsort implemented as a tree. as a tree. -Perform min operations on a priority queue implemented as a tree. -priority queue property The students will be -Represent a complete binary -classroom discussion -priority queue operations able to implement a tree as an array. -worksheets -heap implementation of priority priority queue as a -Write Java code for the three -homework queue heap in Java. priority queue operations -programming -PriorityQueue interface implemented as an array. assignments -heapsort -quizzes -tests -priority queue property The students will be -Write a complete Java program -classroom discussion 2.5.11A -priority queue operations able to implement that implements heapsort using -worksheets -heap implementation of priority heapsort in Java. only constant extra space. -homework queue -programming -PriorityQueue interface -heapsort assignments -quizzes -tests Thursday, September 01, 2005 Page 14 of 16

Tree Implementations of the Dictionary ADT -search, insert, and delete The students will be -Write a Java class to -classroom discussion operations able to implement the implement a binary search tree. -worksheets -binary search tree three primitive -homework -splay tree operations of the -Write a Java method for the -programming -2-3 tree Dictionary ADT in Java search operation. assignments using a binary search -Write a Java method for the -quizzes tree. insert operation. -tests -Write a Java method for the delete operation. -search, insert, and delete The students will be -Illustrate a splay tree rotation. -classroom discussion operations able to illustrate the -worksheets -binary search tree three primitive -Illustrate a splay operation. -homework -splay tree operations of the -Illustrate searching, insertion, -quizzes -2-3 tree Dictionary ADT as -tests implemented by a splay tree and a 2-3 tree. -search, insert, and delete The students will be -Discuss operation running -classroom discussion 2.5.11A, operations able to compare the times of the different -worksheets 3.2.12D -binary search tree relative benefits and implementations. -homework -splay tree drawbacks of -Discuss space requirements -quizzes -2-3 tree implementing a of the different -tests Dictionary as a binary implementations. search tree, a splay -Discuss ease of coding the tree, or a 2-3 tree, different implementations. choosing the most appropriate for a given situation. Thursday, September 01, 2005 Page 15 of 16

Trees -binary trees The students will be -Discuss questions relating to -classroom discussion 2.5.11C -ordered trees able to communicate node height and depth, leaves, -worksheets -tree traversal using the basic parents, children, siblings, -homework -TreeNode class vocabulary associated ancestors, descendents, full, -quizzes with binary and perfect, and complete binary -tests ordered trees. trees. -binary trees The students will be -Write pseudocode and English -classroom discussion 2.5.11A, -ordered trees able to design descriptions of algorithms -worksheets 3.2.12D -tree traversal algorithms to implement involving tree traversals. -homework -TreeNode class the four basic tree -quizzes traversals and use -tests these algorithms to solve problems. -binary trees The students will be -Write Java code that -classroom discussion 2.5.11A -ordered trees able to write computer implements the four basic tree -worksheets -tree traversal programs using binary traversals for binary trees. -homework -TreeNode class trees to store and -Write Java code that uses tree -programming process data. traversals to solve typical assignments problems, such as finding node -quizzes height or the number of leaves -tests in a subtree rooted at a given node. Thursday, September 01, 2005 Page 16 of 16