Schram, Leon. Exposure JavaCS Edition 2008,. Royse City, TX: Leon Schram,

Similar documents
AP Computer Science "A" Syllabus. Texts. Schram, Leon. Exposure Java Royse City, TX: Leon Schram, 2007.

AP Computer Science A

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

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

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

IMACS: AP Computer Science A

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

Pace University. Fundamental Concepts of CS121 1

Introduction to Programming Using Java (98-388)

CompuScholar, Inc. 9th - 12th grades

AP Computer Science A Syllabus

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

TeenCoder : Java Programming (ISBN )

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


AP Computer Science AB

Homeschool Programming, Inc.

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

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy.

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

AP Computer Science A Course Syllabus

Full file at

Preface A Brief History Pilot Test Results

AP Computer Science (A) Course Syllabus

Java 1.8 Programming

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

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV

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

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. A Guide to this Instructor s Manual:

Student Performance Q&A:

CERTIFICATE IN WEB PROGRAMMING

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

AP Computer Science in Java Course Syllabus

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. Overview. Objectives. Teaching Tips. Quick Quizzes. Class Discussion Topics

Full file at

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

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

Chapter 2 Working with Data Types and Operators

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

STUDENT OUTLINE. Lesson 8: Structured Programming, Control Structures, if-else Statements, Pseudocode

Unit Overview. Concepts & Understandings. Learning Targets

AP Computer Science A

AP Computer Science A Skyline High School Mr. Coupland

ADMINISTRATIVE MANAGEMENT COLLEGE

Java Programming with Eclipse

CO Java SE 8: Fundamentals

[CHAPTER] 1 INTRODUCTION 1

Java Programming Training for Experienced Programmers (5 Days)

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

MyProgram m i ng Lab. get with the programming. Through the power of practice and immediate personalized


COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th

This page intentionally left blank

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

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Absolute C++ Walter Savitch

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

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

CIS 120. Introduction to Programming

Internet Application Developer

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY ACADEMIC YEAR (ODD SEM)

Java for Non Majors. Final Study Guide. April 26, You will have an opportunity to earn 20 extra credit points.

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

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

WA1278 Introduction to Java Using Eclipse

AP COMPUTER SCIENCE A: SYLLABUS

AP Computer Science A (Java) Scope and Sequence

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

2 rd class Department of Programming. OOP with Java Programming

102. Introduction to Java Programming

egrapher Language Reference Manual

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

Chapter 2 Basic Elements of C++

STUDENT LESSON A1 Introduction to Object-Oriented Programming (OOP)

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Lesson 10B Class Design. By John B. Owen All rights reserved 2011, revised 2014

Object Oriented Programming (OOP) is a style of programming that incorporates these 3 features: Encapsulation Polymorphism Class Interaction

Building Java Programs

Index COPYRIGHTED MATERIAL

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

DOWNLOAD PDF CORE JAVA APTITUDE QUESTIONS AND ANSWERS

S.No Question Blooms Level Course Outcome UNIT I. Programming Language Syntax and semantics

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

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Programming Lecture 3

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

A Java Execution Simulator

The Oracle Academy Supports 1.5 million students in 95 countries

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

Problem Solving with C++

Murach s Beginning Java with Eclipse

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

Introduction to Computers and Java

Course Outline. [ORACLE PRESS] OCA Java SE 8 Programmer Course for Exam 1Z

Introduction to Software Development (ISD) David Weston and Igor Razgon

5/23/2015. Core Java Syllabus. VikRam ShaRma

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

Transcription:

PreAP Computer Science 00-00 Syllabus Texts Schram, Leon. Exposure JavaCS Edition 00,. Royse City, TX: Leon Schram, 00. http://www.schram.org College Board. AP GridWorld Case Study. New York: College Entrance Examination Board, 00. http://apcentral.collegeboard.com Each unit includes an Internet link with additional information for enhancement and a different perspective. The provided links in this syllabus may be altered as information changes or new links become available. Frequently, links are provided to Sun's Java tutorial web site. General Sem/Week Syllabus at a Glance Introduction to Computer Science Introduction to Java Programming Java Primitive Data Types and Arithmetic Operators OOP, a First Exposure; Using Class Methods, Parameters and Introduction to Graphics Control Structures Using Object Methods Creating Class Methods and Introduction to Program Design Creating Object Methods Inheritance and Composition Boolean Logic Control Structures with Compound Conditions Java Static Arrays and Arrays class Advanced Graphics and Animation Serious Object Oriented Programming Program Design; Working with Large Programs and Introduction to GridWorld Case Study String Processing and Number Systems Input/Output with Sequential Files Algorithms and Informal Algorithmic Analysis Recursion ArrayList Class; Redefining Methods tostring and equals; Implementing compareto; Autoboxing; Generics Interfaces, Abstract Classes and Polymorphism The GridWorld Case; Preparation for the AP Computer Science Examination Sem Sem Sem Sem Sem Sem - Sem - Sem 0- Sem - Sem Sem - - Sem Sem - Sem Sem Sem Sem Sem - Sem 0 Sem - Sem - PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, chapter Introduction to Computer Science Students learn that computer science is different from computer applications and any other learning environment they have experienced. Students receive an introduction to computer science, which includes its history and fundamental topics. Learn how to learn computer science A brief history of computing devices How do computers work? Electronic memory and storing information in base- Primary memory and secondary memory devices Computer processors What is programming? Program languages Computer operating systems like Windows, Unix, Mac OS Single user systems Networks Peer-to-peer networks LANs, WANS, Intranet, Internet Wired networks Wireless networks Quizzes and Exercises This is a general computer information chapter without program language information or handson computer practice. There is This first unit is very depended on the knowledge of incoming students. Many students may have received training in computer history and computer applications prior to enrolling in a high school computer science course. At the same time, the manner in which a computer stores information, processes information, the concept of programming and networks is usually not taught. A fun exercise with students is for the teacher to be a "robot" who follows a precise program of instructions to pick up chalk or marker and draws a circle on the board. It is even more fun with putting peanut butter on a slice of bread. Students quickly learn how much is assumed in human communication, which sets up the precision required for a computer program. Another exercise is to line up eight students, representing a byte. Each student is a bit with a place hold value. Students are "on" facing the class and "off" with their back turned. Use the student "byte" to represent base-0 numbers in binary memory. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Introduction to Java Students learn how to use Integrated Development Environment (IDE) software, like JCreator, to create Java programs and how to use the Java Development Kit (JDK) to compile and execute completed Java programs. Getting started with Java Platform dependent and platform independent languages The Java bytecode concept Java application programs and applet programs Downloading and installing Java Development Kit (JDK) software Downloading and Installing an Integrated Development Environment (IDE) Fundamental program text output with print and println Java compile errors Responsible use of computer software and hardware Maintaining system reliability Hardware care Protection against surges and power outs Backing up data Protection against viruses and identity theft\ Protecting privacy concerns Intellectual property, copyright issues, shareware, freeware Social, ethical and legal implications of using computers Quizzes/Exercises The main purpose of this unit is to teach students how to use the Java JDK and an IDE to write programs. The lab assignment involves literally copying a working program. The intent at this stage is to learn the mechanics of working with the software and clearly understanding the compiling and executing process. In particular students will learn the difference between compiler and interpreter translators. Once the different translators are clear, students then learn how Java uses both translators. The responsible use of the computer is taught throughout the year as good teachable moments arise. Unit lends itself quite well for a good introduction. Students are shown how to download the Java software and JCreator. Both downloads are free and it is shown on the web site that the software is free. From this stepping stone of what is free, what is shared and what must be paid, the topic can expand into general issues of the ethical use of the computer. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Java Simple Data Types Students learn how to declare simple data type variables, how to store values in variables and how to use standard mathematical operations in a program. Declaring and operating with numerical simple data types The integer int data type Integer arithmetic operations The real number double data type Arithmetic shortcut notations Other data types The character char data type The string of characters String data type The true or false boolean data type Declaring constants with final Programs documentation Single line documentation Multiple line documentation Mathematical precedence in programs It is important that students realize that computer science resembles learning a foreign language. There is a set of vocabulary, which must be learned to comprehend the language. There are also rules of grammar in Java as there are in human languages. Students need to understand that declaring variables is primarily done for memory efficiency. The computer memory is finite and storing large quantities of data, as happens with airlines reservations or IRS files, requires that memory is not wasted. Allocating sufficient memory for each type of information, but not reserving excessive memory amounts uses the limited computer memory wisely. Quizzes/Exercises One analogy may to take airline reservations. There are roughly 0,000 flights per day with an average of 00 passengers per flight. Most airlines store flight information for 00 days. This means that at any time 00,000,000 passenger records are stored. For each passenger the gender is stored, which can be done with a char data type. If data types did not exists, as was the case with some early languages, millions of memory bytes would be wasted to store gender information. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Java Program Organization Students learn the Java program organization of classes and methods. Students how to call methods in a program and how to manipulate the functionality of methods with the use of parameter information. Java program components compared to the English language Using the Math Class Understanding the need and proper use of parameters Introduction to the user-defined Expo class Java graphics program with Cartesian coordinates Java graphics programs with Computer monitor coordinates Similarities and differences between mathematical graphics and computer graphics Expo graphics drawing methods Expo graphics fill methods Expo graphics thick-line methods Using Expo class Javadocs web page documentation for reference Implementing mathematical functions Quizzes/Exercises Unit helps to define the difference between AP Computer Science and any preparatory course. PreAP Computer Science or regular Computer Science should not be the first so many number of units of the AP Computer Science curriculum. Any preparatory course needs to have a lighter approach. th and th grade math classes include Algebra, but it is less rigorous than the actual Algebra course that follows. Unit four introduces a very large class, called Expo, which is designed to teach method calling, parameter understanding in a less tedious manner than is the case with many Java classes and methods. This is a training wheels approach, but it is wrapped inside totally correct Java programs. With the Expo class students can create nice graphics programs in a simpler style than the Java approach. For example, the Java method for drawing an arc uses radian measures and the Expo class uses degrees. The name Expo comes from Exposure Java and is selected to help clarify that this class is not a standard Java library. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Control Structures Students learn how to manipulate program execution with simple sequence, selection and iteration control structures. Students also learn how to enter data information from the keyboard into a program. Types of control structures Simple sequence Selection Iteration Relational operators Keyboard program input Selection control structures One-way selection with if Two-way selection with if...else Multiple-way selection with switch...case...break Iteration control structures Fixed iteration with for Pre-condition iteration with while Post-condition iteration with do. while Control structures and graphics Output exercises Quizzes/Exercises Unit represents a major shift in computer programming. Up to this point every program has been controlled by the sequence of the program statements. Simple sequence is inefficient and it limits the many capabilities of a program. With the introduction of control structures it is possible for a program to take different directions. For instance, consider a payroll program. If a person earns $0.00 per hour it may seem that a program only needs to multiply the hours worked times the hourly rate. However, if the weekly hours exceed 0, the hours beyond 0 increase to $.00 per hour. This situation calls for a selection control structure. The introduction of repetition structures help to make many tedious program statements simpler by repeating similar program logic. Students also need to learn to variety of vocabulary that exists. It is simple enough to use looping and repetition, but many computer science text books also use iteration. The intentional use of the different vocabulary words prepares students for a wide variety of text books that they may encounter in the future. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Using Object Methods Students learn the difference between class methods and object methods. Students learn that an abject must be constructed before object methods can be called. Classes and objects Calling the constructor method with new Calling object methods Using the Decimal Format class Using the Graphics class The hidden new operator of the Graphics object Additional Graphics methods set Color, draw Polygon, fill Polygon Using the Polygon class and method add Point Overloading methods Creating random numbers Constructing custom Color objects Displaying random graphics objects with random colors Quizzes/Exercises Students are intentionally taught class methods first. With class methods the fundamental syntax of calling a method and using parameters is taught without the need to create an object with new. Unit six teaches students to use many classed that use object methods. It is now necessary to define an object and call the Class constructor with the new operator. This unit teaches that methods of the Graphics class are called with a Graphics object that appears to exist without the use of the new operator. This is an illusion, because the Graphics object is constructed in the background and then passed to the Graphics object parameter of the paint method. The Expo class is used with method random to create random numbers easily. Students only need to specify the smallest and largest integer value in the random range. This eliminates the complicated conversions required with Java's methods to get random integers in a range. Students learn randomness in various contexts, especially with graphics and colors. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Making Methods Students take a large step forward in learning programming. In this unit students learn how to switch from using only available programming tools to creating their own tools. Students also receive an introduction into program design. The Math and Expo class revisited Modular Programming and user-created methods User-created parameter methods Actual and formal parameters Parameter passing rules void methods and return methods Making a utility library class Introduction to program design with the Payroll class case study Quizzes/Exercises Unit seven teaches students many new concepts. Up to now, students have learned to use both class methods and object methods. However, little program design is possible until students learn how to create their own classes and methods. The chapter starts with the idea of modular programming and the syntax required creating user-defined classes and methods. Students learn only to create classes with static or class methods. This allows an easier introduction that does not require creating constructors. The Payroll case study presents a very, very poorly designed program where every confusing program statement is shoved into the main method. The case study then demonstrates step-bystep how to improve the poorly designed program. This case study is not yet a good example of Object Oriented Programming. It is a good start to teach important programming concepts. As additional concepts are taught so will additionally features of program design get introduced. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Introduction to OOP, Encapsulation Students receive their first formal instruction in Object Oriented Programming (OOP). In this unit they learn the primary OOP feature of encapsulation. Introduction to Object Oriented Programming (OOP) The three features of OOP, encapsulation, inheritance, polymorphism Encapsulation and reliability The Bank class from scratch Object method syntax Private and public class members Instantiation and construction with constructor methods Constructor methods Get return object methods Set modifying void object methods The Cube Case study Method summary Quizzes/Exercises The main focus of this chapter is to teach the importance of encapsulation. Students have learned in a prior chapter how to break up program code and place this code in modules. They have also learned how to declare parameters and make a distinction between void methods and return methods. However, they have only worked with static methods. In this chapter the issue of program reliability is addressed and students learn that first, and foremost, Object Oriented Design exists for the purpose of program reliability. Unit eight teaches students the importance of class member access in a proper manner by making a distinction between private and public access. Two case studies are used to teach the OOP concept of encapsulation. First, the Bank class is created from scratch in many stages. This process is repeated with a Cube class case study. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Introduction to OOP, Inheritance Students continue learning OOP. In this unit they learn the second major feature of OOP, which is inheritance. Unit nine continues the Object Oriented Programming introduction with a chapter on inheritance. Class specifications and relationships The "Is-a" inheritance relationship The "has-a" composition relationship Inheritance Inheritance syntax with extends Super classes and sub classes hierarchy private, protected and public access with inheritance Redefining methods in a sub class Defining new methods in a sub class. Multi-level inheritance The Fish class case study Quizzes/Exercises Students start by learning to make the distinction between inheritance and composition using many examples in real life that are "is-a" and "has-a" relationships. These are examples like a square is-a rectangle and a car hasan engine. Inheritance at the PreAP level is very much inheritance-lite. Concepts, such as passing information to the super class constructor using the super keyword are not included. Composition is briefly mentioned as one of two relationships, but actual program examples are not presented. The main goal of this chapter is to comprehend how inheritance provides program reliability by not reinventing program tools that have already been created and tested. At this level the concern is that students learn how to redefine existing methods or define new methods. PreAP Computer Science Syllabus Updated 0-0-0 Page 0

0 0 0 0 0 0 0 0 0 0 Exposure Java, chapter 0 Boolean Logic Students learn Boolean Logic, which is the mathematical foundation of computer science. They continue and learn how to use Boolean logic to write programs with compound decisions in Java control structures A brief history of Boolean Algebra George Boole The birth of Boolean Algebra The significance of Boolean Algebra to computers Boolean statements Boolean operators and (&&), or ( ) and not (!) Venn diagrams and Boolean Algebra Representing and as intersection Representing or as union Sample Boolean problems The boolean data type Control structures with compound conditions Quizzes/Exercises Most computer science text books include Boolean logic in chapters where conditional statements are introduced. An Educational Testing Service (ETS) study performed in the early Nineties showed that students who performed quite poorly on Boolean Algebra questions, tended to perform poorly overall on the APCS Examination. A thorough knowledge of Boolean logic is required for the successful completion of the AP Computer Science course. At the PreAP Computer Science level a Boolean logic chapter is included, which introduces the concept of Boolean operators, compound conditions and sets the stage for future study on this subject. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Web Creation with HTML Students learn that Java programs can be executed as stand-alone applications or as applets inside web pages. Students receive an introduction in the creation of web pages with HTML to manage Java applets. Introduction to web page design with HTML tags Formatting display Using lists Color in Web pages Manipulating fonts Linking to other Web pages Adding images to web pages Quizzes/Exercises Java is specifically designed to execute easily in HTML Web pages with applet programs. It is possible to teach an entire computer science without using applets, but creating graphical applets is interesting and motivates students. A chapter devoted exclusively to the creation of web pages provides students with an introduction to the creation of web pages. This makes the execution of applet program simpler. It is not necessary to install special software to create these web pages. HTML web pages can be created in any text editor, including JCreator. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter The Array Data Structure Students learn that processing large quantities of data require the use of data structures. In this unit students learn how to write programs that manipulate data with the one-dimensional array data structure. Introduction top data structures One-dimensional array definition Declaring a one-dimensional array Accessing array elements by index Assigning random values in an array Using the Arrays class Displaying array elements with Arrays.toString Storing identical array elements with Arrays.fill Sorting array elements with Arrays.sort Searching for an array element with Arrays.binarySearch Chapter introduces the Java static array. This array does involve the creating of objects with the new operator, but students quickly learn that these arrays do not behave like most classes. There is no constructor call and there are no methods. Students do learn about sorting and searching at an abstract level. They will use Java's Arrays class to perform various array processing, including sorting and searching. This provides an introduction to the use of algorithms in a program without concern about implementation. Quizzes/Exercises PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Advanced Graphics Students learn advanced Java graphics features, such as mouse interactive events and the manipulation of images in a program. Review of Cartesian and Computer Graphics coordinate systems Using mouse interaction with graphics The event method concept Methods mousedown, mouseenter, mouseexit, mousemove, mouseup, mousedrag Using method update to eliminate output flicker, Manipulating images in a program Import images with getimage Display images with drawimage Java programs with multiple pages Quizzes/Exercises Unit thirteen is an example of a chapter that is totally optional from the point of view of AP Computer Science topics. Yet the benefits of this topic are so great that inclusion will benefit any strong AP Computer Science course. Every aspect of graphics programming reinforces computer science topics. Students enjoy graphics and they easily write far greater programs with enthusiasm than they would with a typical text-output program. Graphics is also used in PreAP Computer Science for the same reasons as AP Computer Science, because students are very motivated by graphics and they learn many computer science concepts with the aid of graphics program examples. PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter String Methods Students learn the large variety of Java String methods to create programs that can process a large variety of character string data. Constructing String objects. String concatenation. Working with substrings. Changing strings. Converting strings. Comparing strings. String processing is complicated. At the same time string processing one of the fundamental uses of many computer applications. Java has many methods to manipulate String objects. This chapter teaches the more common string processes. Quizzes/Exercises PreAP Computer Science Syllabus Updated 0-0-0 Page

Exposure Java, Chapter Algorithms Students learn the primary computer science algorithms of sorting and searching. Controlling random numbers What are algorithms? Why are algorithms language independent The List case study Improving input and output The linear search algorithm Inefficient linear search Efficient linear search The bubble sort algorithm First bubble sort Improving the bubble sort with a swap method Improving comparing efficiency by decreasing inner loop iterations The binary search algorithm Quizzes/Exercises Computer science revolves around the understanding, use and creation of algorithms. Algorithms are language independent in an abstract sense, but they must be implemented in a language. Future courses will focus strongly on data structures and algorithms. At this fundamental level a few algorithms are introduced. The bubble sort is a simple to teach sorting algorithm. This sort is often criticized due to its inefficiency, but it is a good starting point for a first computer science course. A future AP Computer Science can add various sort of greater virtue and efficiency. The notion that algorithms are not equal is illustrated with two searching algorithm. First, the simpler linear search is introduced. Later the more efficient binary search is taught. PreAP Computer Science Syllabus Updated 0-0-0 Page

ExposureJava, Chapter Text Files Students learn how to store internal memory data to external storage locations with the file data structure. Data organization Different types of files Sequential file Random access file Reading in text files Understanding IOException with file handling Writing out text files Reading and writing simultaneously Appending an existing file Quizzes/Exercises File handling is used in every collegelevel computer science course. Java input/output classes are numerous and complex. The AP Computer Science exam does not include questions about input and output, because of the tremendous variety in io classes. At the PreAP level some special classes are used to simplify the process. Normally, it requires objects of two different classes to process file objects. With the user-defined ExpoInFile class and ExpoOutFile class, file handling is simpler for students. Students do learn how to create files and read in files, but the process is simpler. As has been the case in many chapters the first introduction of a computer science concept uses a lite approach. PreAP Computer Science Syllabus Updated 0-0-0 Page