Course duration : 6 months (24 classes)
Frequency : weekly
Class duration : 1 hr
Class timings : sat at 9:30 AM or Thu 6PM
Is the student struggling with computer science subject at school? Does the student aim to get a score of 5 in this test? Or simply, the student would love to have a better understanding of the subject? We are here to help you with your journey.
OUR GOAL IS TO:
- Master 100% of the course content through reviewing and practicing the test, and running programs.
- Build solid Java programming skills, and train computational thinking
- Be able to design and implement programming algorithms independently
- Master how to learn and prepare the AP CS exam independently
- Get ideas on building CS programming projects
COURSE OUTLINE:
I. OBJECT-ORIENTED PROGRAM DESIGN - The overall goal of designing a piece of software (a computer program) is to correctly solve the given problem.
A. Program and Class Design
1. Problem analysis
2. Data abstraction and encapsulation
3. Class specifications, interface specifications, relationships (“is-a,” “has-a”), and extension using inheritance
4. Code reuse
5. Data representation and algorithms
6. Functional decomposition
II. PROGRAM IMPLEMENTATION - Part of the problem-solving process is the statement of solutions in a precise form that invites review and analysis.
A. Implementation techniques
1. Top-down
2. Bottom-up
3. Object-oriented
4. Encapsulation and information hiding
5. Procedural abstraction
B. Programming constructs
1.Primitive types vs. reference types
2. Declaration: Constants, Variables, Methods and Parameters, Classes, and Interfaces
3.Text output using System.out.print and System.out.println
4. Control: Method call, Sequential execution, Conditional execution, Iteration, and Recursion
5. Expression evaluation: Numeric expressions, String expressions, and Boolean expressions, short-circuit evaluation, De Morgan’s law
C. Java library classes and interfaces included in the AP Java Subset
III. PROGRAM ANALYSIS - The analysis of programs includes examining and testing programs to determine whether they correctly meet their specifications.
A. Testing
1. Development of appropriate test cases, including boundary cases
2. Unit testing
3. Integration testing
B. Debugging
1. Error categories: compile-time, run-time, logic
2. Error identification and correction
3. Techniques such as using a debugger, adding extra output statements, or hand-tracking code.
C. Runtime exceptions
D. Program correctness
1. Pre- and post-conditions
2. Assertions
E. Algorithm Analysis
1. Statement execution counts
2. Informal running time comparison
F. Numerical representations of integers
1. Representations of non-negative integers in different bases
2. Implications of finite integer bounds
IV. STANDARD DATA STRUCTURES - Data structures are used to represent information within a program: Primitive data types (int, boolean, double), Strings, Classes, Lists, and Arrays (1-dimensional and 2-dimensional)
V. STANDARD OPERATIONS AND ALGORITHMS - Standard algorithms serve as examples of good solutions to standard problems. Many are intertwined with standard data structures.
A. Operations on data structures
1. Traversals
2. Insertions
3. Deletions
B.Searching
1. Sequential
2. Binary
C.Sorting
1. Selection
2. Insertion
3. Mergesort
VI. COMPUTING IN CONTEXT - An awareness of the ethical and social implications of computing systems is necessary for the study of computer science.
System reliability
Privacy
Legal issues and intellectual property
Social and ethical ramifications of computer use
"SiliconValley4u is a great choice for AP Comp Sci Tutoring. They are subject matter experts and extremely professional. When my daughter was struggling with AP Comp Sci they quickly made themselves available for consultation and got her back on track with excellent tutoring. She ended up scoring very well on her AP test. Akhil Y is a very patient tutor for AP Comp Sci Principles and AP Comp Sci A." - Alex M