AP COMPUTER SCIENCE AB

Similar documents
AP Computer Science AB

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

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

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

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

AP Computer Science A Syllabus

IMACS: AP Computer Science A

AP Computer Science AB

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

B. Knowledge of basic algebra and experience in problem solving is beneficial. Students should also possess competence in written communication.

AP Computer Science 4325

CompuScholar, Inc. 9th - 12th grades

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

AP Computer Science A Course Syllabus

TeenCoder : Java Programming (ISBN )

Object-Oriented Programming and Data Structures

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

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

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

Computer. Course Description

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

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

AP Computer Science A

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

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

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

AP Computer Science A Skyline High School Mr. Coupland

SCourse Description. Includes important information regarding the introduction of the language Java. MAY 2004, MAY 2005

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

AP COMPUTER SCIENCE A: SYLLABUS

Algorithms and Data Structures Spring 2008

WITH C+ + William Ford University of the Pacific. William Topp University of the Pacific. Prentice Hall, Englewood Cliffs, New Jersey 07632

Summer Final Exam Review Session August 5, 2009

DATA STRUCTURES THROUGH C++

CS 445: Data Structures Final Examination: Study Guide

DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA

AP Computer Science A Mira Costa High School - Class Syllabus,

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

AP COMPUTER SCIENCE GRADES 10 12

Prerequisite: Computer Science 2 (CS2) with a grade of B+ or better

AP Computer Science A

AP Computer Science A Syllabus

Data Structures and Abstractions with Java

PESIT Bangalore South Campus Department of MCA Course Information for

About this exam review

Draw a diagram of an empty circular queue and describe it to the reader.

Computer. Course Description. Computer Science AB. M a y , M a y

CS 61B Summer 2005 (Porter) Midterm 2 July 21, SOLUTIONS. Do not open until told to begin

St. MARTIN s ENGINERING COLLEGE Dhulapally,Secunderabad

Homeschool Programming, Inc.

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

Home Works and Assignments

Data Structures and Algorithms 1

AP Computer Science A Syllabus


CISC 3130 Data Structures Fall 2018

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

182 review 1. Course Goals

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

CSC 210 COMPUTER SCIENCE II

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 7. (A subset of) the Collections Interface. The Java Collections Interfaces

AP Computer Science A Syllabus

Preface. The Purpose of this Book and Its Audience. Coverage and Approach

AP Computer Science A (APCS) James Madison High School - Career & Technical Education Course Syllabus and Guidelines

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

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

EXAMINATIONS 2016 TRIMESTER 2

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

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

AP Computer Science A (Java) Scope and Sequence

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

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

17 February Given an algorithm, compute its running time in terms of O, Ω, and Θ (if any). Usually the big-oh running time is enough.

infix expressions (review)

CS302 Data Structures using C++

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

DATA STRUCTURES AND PROBLEM SOLVING USING JAVA

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

AP Computer Science Course Syllabus

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

Introduction to Programming System Design CSCI 455x (4 Units)

A6-R3: DATA STRUCTURE THROUGH C LANGUAGE

OBJECT ORIENTED DATA STRUCTURE & ALGORITHMS

AP Computer Science in Java Course Syllabus

DATA STRUCTURE : A MCQ QUESTION SET Code : RBMCQ0305

Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION. useful as well. It has been written to provide introductory computer science

AP Computer Science A Syllabus DRAFT 0.3 June 27th, 2015 Course Overview

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

CSCI 136 Data Structures & Advanced Programming. Spring 2018 Instructors Bill Jannen & Jon Park

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

ITE 205 Software Design and Programming I

1 P a g e A r y a n C o l l e g e \ B S c _ I T \ C \

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

Data Structures and Algorithms

«Computer Science» Requirements for applicants by Innopolis University

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

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

1) What is the primary purpose of template functions? 2) Suppose bag is a template class, what is the syntax for declaring a bag b of integers?

Data Structures in C++ Using the Standard Template Library

Transcription:

AP COMPUTER SCIENCE AB SYLLABUS MR. BACU Course Overview AP Computer Science AB is taught over a period of one year, extending the concepts studied in the previous two courses. The first previous course, Computer Science I, covers introductory Java programming, methods, decisions, loops, input and output, using files, and using classes. The second previous course, Computer Science II, covers designing and writing classes, arrays, searching, sorting, and an introduction to Big-Oh. The language of all 3 courses is Java. The AP Computer Science AB course emphasizes object-oriented programming and class design. Student show proficiency in creating and implementing classes, including the use of inheritance by extending classes and implementing interfaces. The Java Library classes are studied and used throughout the course. Encapsulation, abstraction, inheritance, and polymorphism are all studied. Another emphasis is the organization of information through the implementation of data structures. One and two-dimensional arrays, array lists, linked lists, stacks, queues, trees, sets, maps, and hash tables are all implemented and used. Algorithm analysis using Big-Oh notation and recursion are also studied. Students learn to analyze many large projects of interacting classes, including the Grid World Case Study. All students become familiar with the interaction of hardware and software components and the ethical and social implications of computing systems. The content and objectives of this course include all the course objectives for AP Computer Science AB which are listed in the AP Computer Science Course Description. The course enhances the students problem solving ability and analytical skills, preparing them for the college computer science environment. All 6 topics in the course description are covered including object oriented program design, program implementation, program analysis, standard data structures, standard algorithms, and computing in context. All AP Computer Science classes are taught in a modern computer lab. Lectures are very interactive; students take notes electronically, program the projects along with the teacher, print code and notes to add to a binder, and transfer programs to flash drives for work at home.

COMPUTER FACILITIES Our lab contains 20 two year old PC s running Windows XP with CD-RW drives, a data projector, and laser printers. Students have accounts on a networked server and store all of their class files in their accounts. The lab is open both before and after school, and students may stop in to use the lab during their study halls. All computers include the Sun JDK 1.6 and JCreator 4.5 installed on C: drive for quick processing. All students receive a CD with the software so that they may install it on their home computer. TEXTBOOKS AND RESOURCE MATERIALS Horstmann, Cay. Big Java 2 nd Edition, New York, NY: John Wiley and Sons, 2006 Teukolsky, Roselynn. Barron s AP Advanced Placement Exam Computer Science 2007 Levels A and AB 3 rd Edition, Hauppauge, NY: Barron s Educational Series, 2006. Litvin, Maria, and Roger Frank, Judy Hromcik, Gary Litvin, Dave Wittry. Be Prepared for the A.P. Computer Science Exam in Java, 3 rd Edition, Andover, Mass.: Skylight Publishing, 2007. The College Board AP Grid World Case Study. New York, NY: CEEB, 2006. AP Central Computer Science AB Quick Reference Guide for JDK 1.5 Current magazine and Internet articles discussing ethical and social issues relating to computer use.

COURSE OUTLINE Unit 1 (10 days) REVIEW OF TOPICS FROM COMPUTER SCIENCE I AND II 1. Object Oriented Program Design 2. Program Implementation 3. Program Analysis 6. Computing in Context Review Java language features: import statements, library classes, comments, indentation and braces, primitive data types, methods, declaring local variables, arithmetic operators, boolean expressions, relational and boolean operators, if and select case, loops, strings and their methods, applets and graphics Classes, encapsulation, and abstraction Arrays Enhanced for loops Linear and binary searches Selection Sort Documentation, specifications, pre and post conditions Hardware and software components of a computer system and how they interact Networks and their operation Computer ethics, piracy, and copyright laws Write Car and Point class Multiple Choice Questions Free Response Question on simulating a deck of cards Design questions from earlier year AP exams Big Java: Pages 66 102, 104 150, 190 229, 232 277, 280 283, 303 311, 324 351, 576 606, 704 712, 725 730

Unit 2 (7 days) ALGORITHM ANALYSIS AND BIG-OH 3. Program Analysis Formula for summations Review of logarithms O(1), O(logN), O(N), O(N 2 ), O(N 3 ),O(NLogN), O(2 N ) Best, worst, and average cases Space analysis Analyzing code and determining Big-Oh running time Comparing algorithms to solve problems efficiently Numerical representations and limits Multiple Choice and Free Response Questions from past years with an emphasis on Big-Oh analysis and comparisons Big Java: Pages 712 740 Exam: 6 Multiple Choice on Big-Oh and 2 Free Response (designing solution for a Gas Station class, analyzing stock and bond investments) Unit 3 (14 days) ARRAYLIST<E> AND ITS USE List methods add, size, get, set Big-Oh of each method above Method remove and its Big-Oh Using Iterator<E> and its methods next, hasnext, and remove Autoboxing Practice multiple choice questions on above topics Compare and contrast all data structures studied so far in terms of which is best to solve a problem

Design a Bank class using ArrayList<Bank> Design a class WordList and its methods Design a Concentration Board Big Java: Pages 284 298, 842 861 2 Free Response (2005 Student Grades, Number Set) 20 Multiple choice questions Unit 4 (5 days) SORTING LISTS Insertion sort Bubble sort Big-Oh analysis of each sort Multiple choice questions on sorting and searching Design a class Student, design a class StudentList, and sort the list Big Java: Pages 713 715, 731 740 Computer Science A Practice Exam on material covered so far Unit 5 (12 days) RECURSION 2. Program Implementation Writing recursive methods Tracing recursive methods Ordinary and tail recursion Quick sort Merge sort both iterative and recursive

Big-Oh analysis of above sorts Recursion in applets and graphics Worksheet on 15 different recursive methods Multiple choice questions from earlier year s exams involving recursion Recursive binary search Finding number of paths through a maze Towers of Hanoi Project on anagrams Project on address books I continue to assign recursive method projects during the rest of the course. Big Java: Pages 664 701, 715 725 2 recursive methods exams Computer Science A Practice Exam on material covered so far Unit 6 (15 days) TWO DIMENSIONAL ARRAYS Reading and printing Writing methods using two dimensional arrays Free response questions from previous years Compare and contrast all data structures studied so far in terms of which is best to solve a problem 1996 Free Response (SumCross and RemoveCross) changed into Java by me 1997 Free response (WordSearch) changed into Java by me 1998 Free Response (Black and White Pixels, recursive) changed into Java by me 2000 Free Response (Encryption) changed into Java by me 2001 Free Response (Window) changed into Java by me Multiple choice questions 1999 Free Response (Quilt) changed into Java by me Project Kill the Blob Project Simple Maze Project Tougher Maze Project Magic Square Class

Big Java: Pages 298 302 5 Multiple Choice and 1 Free Response Question (SumBorder and BorderSum) 1 Free Response Question (2002 Free Response (Flight) changed into Java by me) Unit 7 (7 days) INHERITANCE 1. Object Oriented Program Design Review of encapsulation and abstraction Review of interfaces Extending classes Polymorphism Early and late binding Abstract classes BankAccount classes Square and Rectangle classes Person and Student classes Athlete, Runner, and Marathoner classes Multiple choice questions Design questions from previous years exams Big Java: Pages 410 441, 468 514, 608 662 Multiple Choice Questions on Inheritance 3 Free response Questions (Sales/Transaction Classes, Bird Class, Pet Interface) Unit 8 (20 days over the course of the entire year) GRID WORLD CASE STUDY 1. Object Oriented Program Design 2. Program Implementation 3. Program Analysis

6. Computing in Context Running the Case Study in JCreator Experimenting with the simulation Identifying the classes Bug variations Grid World classes and interfaces: Location, Grid, Actor, Rock, Flower, Bug Interactions of objects: class Critter and its extensions Grid Data Structures: AbstractGrid, BoundedGrid, UnboundedGrid Changing the grid to a different data structure Compare and contrast all data structures used in GridWorld in terms of which is best to solve a problem (from draft copy of GridWorld, will be changed to final copy when published) Page 8 #1 4; Page 11 #1 7 Page 12 #1 5; Page 18 #1 5 Page 20 #1 4; Page 22 #1 5 Page 24 #1 11; Page 24 #1 4 Page 28 #1 6; Page 30 #1 6 Page 31 #1 7; Page 32 #1 6 Page 33 #1 4; Page 36 #1 5 Page 37 #1 8; Page 38 #1 5 Page 38 #1 3 Grid World Case Study: Pages 1-38 Quick Reference Guide Appendices A-F Quiz Multiple Choice Test Multiple Choice and Free Response GridWorld multiple choice and free response questions will be included on other exams throughout the year. MIDTERM EXAM 40 Multiple Choice and 4 Free Response Questions on all material covered so far. This exam is given over 2 days with extended class periods.

Unit 9 (15 days) LINKED LISTS How linked lists work Advantages of using them Writing our own singly linked list class Big-Oh of linked list methods Shallow vs. deep copies Writing our own doubly, circular, and doubly circular linked list classes and their methods List Iterator<E> and its methods add and set Writing our own methods iterator and listiterator for our linked list class The built in Java LinkedList<E> class and its methods Comparison of ArrayList<E> and LinkedList<E> Compare and contrast all data structures studied so far in terms of which is best to solve a problem Iterative and recursive methods for our own singly linked list class and its variations: (addfirst, addlast, get, set, tostring, getfirst, size, removefirst, insertinorder) Review assignment on Grid World (class design) Review assignment on two dimensional arrays (Bar Codes) 2003 Free Response (File Drawers) Methods to add or remove from a doubly, circular, or doubly circular linked list Write methods iterator, listiterator, next, hasnext, and remove for our classes Big Java: Pages 742 762 Practice Exam 40 Multiple Choice Questions 2 Free Response Questions on Linked Lists Unit 10 (6 days) STACKS AND QUEUES

Implement Stack<E> as an array, ArrayList<E>, and LinkedList<E> Infix, prefix, and postfix Implement Queue<E> as an array, ArrayList<E>, and LinkedList<E> Compare and contrast all data structures studied so far in terms of which is best to solve a problem Various class implementations of a stack Project Palindrome Project Matching Parentheses Various class implementations of a queue Practice multiple choice questions on lists, stacks, and queues Project Parking Garage Big Java: Pages 762 773 Free Response Question Radix Sort Free Response Question on stacks and queues Unit 11 (12 days) TREES Definitions and vocabulary Writing a Binary Tree abstract class and a Binary Search Tree class Using recursive methods Big-Oh for tree methods Compare and contrast all data structures studied so far in terms of which is best to solve a problem Tree methods search, preorder, inorder, postorder, and level by level traversals Tree statistic methods height, width, perimeter, nodecount, isfull, iscomplete Deleting a node 97 AP Free Response (Separate) changed into Java by me Review project on Grid World Multiple choice questions on all topics covered so far

Big Java: Pages 796 815 Multiple choice questions Free Response Tree questions Unit 12 (6 days) HASH TABLES 6. Designing our own HashTable class The hashcode method Big-Oh analysis of hashtables Compare and contrast all data structures studied so far in terms of which is best to solve a problem Project (Hash Table searching) Big Java: Pages 783 795 Free Response Question using Linked Lists and Hash Tables Unit 13 (4 days) SETS Set<E> methods TreeSet<E> and HashSet<E>: advantages of each, Big-Oh of each Project (Vocabulary list with no duplicates) Project (TreeSet<E> with Operations)

Big Java: Pages 776 781 25 Multiple Choice Questions Unit 14 (6 days) MAPS Map<E,K> methods TreeMap<E,K> and HashMap<E,K>: advantages of each, Big-Oh of each Using Iterator<E> with Sets and Maps Compare and contrast all data structures studied so far in terms of which is best to solve a problem Project (Dictionary Map) Big Java: Pages 781 783 Grid World using Sets and Maps Free Response Acorn Book 15 Multiple Choice Unit 15 (8 days) PRIORITY QUEUES AND HEAPS Definitions and vocabulary Big-Oh Designing and writing heap methods Heap sort Compare and contrast all data structures studied so far in terms of which is best to solve a problem

Write heap methods reheapup and reheapdown Code and test heap sort Liver transplant project using priority queues Min Heap Free Response question Big Java: Pages 815 839 Multiple Choice questions on all covered topics City/State Map Unit 16 (8 days throughout the year) COMPUTERS AND SOCIETY 7. Computing in Context Students will review processors, computer systems, and memory storage. They will investigate the use of different operating systems and compliers. They will continue to explore the interaction of hardware and software. The idea of intellectual property and copyright laws will be emphasized. Students will also explore the effect of the computer on society. They will read and analyze articles from the media concerning careers, ethics, computer crimes, hardware and software, privacy, copyright laws and legal issues, and the responsible use of the computer. Article summations Oral presentations Career investigations Panel discussions Articles from the media and web sites Essays added to other exams

Unit 17 (10 days) EXAM REVIEW 1. Object Oriented Program Design 2. Program Implementation 3. Program Analysis 6. Computing in Context Distribute copies of 2004 Multiple Choice and Free Response and 2005 and 2006 Free Response. Go through 1 section of each type of question daily 2004 #1 (Library) 2004 #2 (Voter Ballots) 2004 #4 (Tree Priority Queue) 2005 #2 (Postal Codes) 2005 #3 (Tree Statistics) 2005 #4 (Email) 2004 40 Multiple Choice Questions 2006 #1 (Thesaurus) 2006 #2 (Product) 2006 #3 (WaitingList) 2007 Selected Free Response Questions 2 Free Response questions on Grid World Teacher handouts All students must take the AP Computer Science AB Exam. Unit 18 (21 days) This unit follows the A.P. exam and will cover various topics based on student needs and interests. FINAL EXAM 40 Multiple Choice questions on all material covered during the course. This exam is given during an extended class period.

Correlation to AP Topic Outline Computer Science AB I. Object-Oriented Program Design The overall goal for designing a piece of software (a computer program) is to correctly solve the given problem. At the same time, this goal should encompass specifying and designing a program that is understandable, can be adapted to changing circumstances, and has the potential to be reused in whole or in part. The design process needs to be based on a thorough understanding of the problem to be solved. A. Program design 1. Specify the purpose and goals for a problem. Unit 1 2. Apply data abstraction and encapsulation. Unit 1 3. Decompose a problem into classes; define relationships and responsibilities of those classes. Unit 1 4. Understand and implement a given class hierarchy. Unit 1 5. Identify reusable components from existing code using classes and class libraries. Unit 1 B. Class design 1. Design and implement a set of interacting classes. Unit 1 2. Design an interface. Unit 1 3. Choose appropriate advanced data structures and algorithms. Unit 1 4. Apply functional decomposition. All Units 5. Extend a given class using inheritance. Unit 7 II. Program Implementation The overall goals of program implementation parallel those of program design. Classes that fill common needs should be built so that they can be reused easily in other programs. Object-oriented design is an important part of program implementation. A. Implementation techniques 1. Methodology a. Object-oriented development Unit 1 b. Top-down development Unit 1 c. Encapsulation and information hiding Unit 1 d. Procedural abstraction Unit 1 B. Programming constructs 1. Primitive types vs. objects Unit 1 2. Declaration a. Constant declarations Unit 1 b. Variable declarations Unit 1 c. Class declarations Unit 1 d. Interface declarations Unit 1 e. Method declarations Unit 1 f. Parameter declarations Unit 1 3. Console output (System.out.print/println) Unit 1 4. Control a. Methods Unit 1 b. Sequential Unit 1 c. Conditional Unit 1 d. Iteration Unit 1 e. Recursion Unit 5 C. Java library classes (included in the AB-level Java Subset) All Units

III. Program Analysis The analysis of programs includes examining and testing programs to determine whether they correctly meet their specifications. It also includes the analysis of programs or algorithms in order to understand their time and space requirements when applied to different data sets. A. Testing 1. Test classes and libraries in isolation. All Units 2. Identify boundary cases and generate appropriate test data. All Units 3. Perform integration testing. All Units B. Debugging 1. Categorize errors: compile-time, run-time, logic. All Units 2. Identify and correct errors. All Units 3. Employ techniques such as using a debugger, adding extra output statements, or hand-tracing All Units code. C. Understand and modify existing code All Units D. Extend existing code using inheritance Unit 7 E. Understand error handling 1. Understand runtime exceptions. All Units 2. Throw runtime exceptions All Units F. Reason about programs 1. Pre- and post-conditions Unit 1 2. Assertions Unit 1 G. Analysis of algorithms 1. Informal comparisons of running times Unit 2 2. Exact calculation of statement execution counts Unit 2 3. Big-Oh notation Unit 2 4. Worst-case and average-case time and space analysis Unit 2 H. Numerical representations and limits 1. Representations of numbers in different bases Unit 1 2. Limitations of finite representations (e.g., integer bounds, imprecision of floating-point All Units representations, and round-off error) IV. Standard Data Structures Data structures are used to represent information within a program. Abstraction is an important theme in the development and application of data structures. A. Simple data types (int, boolean, double) Unit 1 B. Classes Unit 1 C. One-dimensional arrays Unit 1 and 2 D. Two-dimensional arrays Unit 6 E. Linked lists (singly, doubly, circular) Unit 9 F. Stacks Unit 10 G. Queues Unit 10 H. Trees Unit 11 I. Heaps Unit 15 J. Priority queues Unit 15 K. Sets Unit 13 L. Maps Unit 14 V. Standard Algorithms Standard algorithms serve as examples of good solutions to standard problems. Many are intertwined with standard data structures. These algorithms provide examples for analysis of program efficiency. A. Operations on AB-level data 1. Traversals Unit 1,3,6,9-15 2. Insertions Unit 1,3,6,9-15 3. Deletions Unit 1,3,6,9-15 4. Iterators Unit 1,3,6,9-15 B. Searching

1. Sequential Unit 1 2. Binary Unit 1 3. Hashing Unit 12 C. Sorting 1. Selection Unit 1 2. Insertion Unit 4 3. Mergesort Unit 5 4. Quicksort Unit 5 5. Heapsort Unit 15 VI. Computing in Context A working knowledge of the major hardware and software components of computer systems is necessary for the study of computer science, as is the awareness of the ethical and social implications of computing systems. These topics need not be covered in detail but should be considered throughout the course. A. Major hardware components 1. Primary and secondary memory All Units 2. Processors All Units 3. Peripherals All Units B. System software 1. Language translators/compilers All Units 2. Virtual machines All Units 3. Operating systems All Units C. Types of systems 1. Single-user systems All Units 2. Networks All Units D. Responsible use of computer systems 1. System reliability Unit 16 2. Privacy Unit 16 3. Legal issues and intellectual property Unit 16 4. Social and ethical ramifications of computer use Unit 16