AP Computer Sciences

Course Highlights

  • Structured program aligned to AP Computer Science A.
  • Live classes by high achievers and 5 pointers from Ivy League Schools
  • Dedicated time for review of AP Computer Science A past questions.
  • Weekly homework comprising of assignments and problems.
  • Guarenteed score of 3 or more in AP Computer Science A test.

Online sessions - 1 and 1/2 hrs each, weekly assignments, tests, and recorded videos

Start Date:
To be announced

Course Description

This course is for all the advanced Math students who are either novoice to programming or have had some programming experience. It prepares students who are planning to take AP Computer Science test either by Independent Study or through their school.

The course is designed to teach problem analysis, algorithmic thinking and the use of a symbolic programming language. The AP syllabus will be followed and therefore the language used will be JAVA. The students will be prepared to take Test A in AP Computer Science. Because of the advanced nature of the curriculum and the need for good symbol manipulation and analytical thinking skills, a solid mathematics background is essential.

Topics include algorithm development and design, recursion, data structures and collections, efficiency considerations, system reliability, testing strategies and numerical analysis as well as an in- depth look at the GridWorld Case Study provided by the College Board. The course is presented using the Object Oriented paradigm. The first 5 sessions are intended to introduce fundamental programming concepts. The topics covered in this review include loops, decision structures, number systems, the Math class, data types, and simple String operations. Beginning with session 6 object-oriented programming (OOP) is emphasized for the remainder of the course. Students are expected to become proficient at creating classes using inheritance and implementing interfaces. Students will study the history of computers including hardware, software and ethics. The students will study number systems (binary, octal, decimal and hexadecimal) as they relate to computer science.

All topics will be practiced in the programming language Java. As a lecture progresses, each student is expected to run the code being assigned/discussed on his/her own workstation using Eclipse or other IDE.

The course includes all of the topics listed in College Board AP Computer Science course description.

The following is a quick reference to various aspect of this syllabus:

* Design and implement computer-based solutions to problems.
* Use and implement commonly used algorithms.
* Use and implement commonly-used data structures.
* Ability to select appropriate algorithms and data structures to solve problems.
* Ability to code fluently in an object-oriented paradigm using the programming language Java.

This course guarantees a score of 3 or more in the AP Computer Science. If a student can't achieve a score of 3 or more, he/she can retake the course for free.

Detailed Course Information:


Getting Started With Computer Science & Java

   - Computing Concepts
   - Computing Languages
   - Software Development Steps
   - Social & Ethical Issues
   - Java History & Architecture
   - The Structure of a Java Program
   - Compiling & Running a Java Program
   - Compiler, runtime, and logic errors
   - Source Code Comments & Program Documentation
   - Doing Basic Program Output

Java Programming Basics

   - Declaring & Initializing Java Variables
   - The Scope & Lifetime of Variables
   - Defining & Using Constants
   - Java Primitive Types
   - Arithmetic Operators
   - Relational Operators
   - Precedence & Order of Evaluation
   - Mixed Mode Expressions & Type Conversion
   - Getting user input

Program Control Structures - 1

   - Increment & Decrement Operators
   - Logical Operators
   - The if-else Construct
   - The switch Construct
   - The Conditional Operator
   - Nesting Control Structures

Program Control Structures - 2

   - Assignment Operators
   - The for Construct
   - The while Construct
   - The do-while Construct
   - Comparing the Java Iteration Constructs
   - Nested Iteration Constructs
   - Additional Iteration Topics

Introduction to Java Class Methods

   - Defining Class Methods
   - The Scope of Method Arguments & Variables
   - Passing Arguments to Class Methods
   - Returning Values From Class Methods
   - Method Overloading
   - Type Conversion & Type Checking
   - Some Built-In Java Class Methods
   - Method documentation

Arrays

   - Creating & Using Arrays
   - Initializing Arrays
   - Passing Arrays As Method Arguments
   - Returning Arrays From Methods
   - Multi-Dimensional Arrays
   - Referencing Arrays Dynamically

Working With Java Strings & Files

   - Creating & Using String Objects
   - Manipulating Strings
   - String Immutability & Equality
   - Passing Strings To & From Methods
   - String Arrays
   - File input & output
   - Number systems