0% found this document useful (0 votes)
3 views

Apcompscinotes

Uploaded by

rewin61768
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Apcompscinotes

Uploaded by

rewin61768
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1.

Introduction to Computer Science

● Computer Science: The study of algorithms, data structures, programming languages,


and the principles behind computing systems.
● Programs: Sequences of instructions that tell a computer what to do.
● Software vs. Hardware:
○ Software: Programs and applications (e.g., browsers, games).
○ Hardware: Physical components (e.g., CPU, memory).

2. Data Types and Variables

● Primitive Data Types:


○ int: Integer (e.g., 3, -15)
○ double: Floating-point number (e.g., 3.14, -0.001)
○ char: Single character (e.g., 'a', 'Z')
○ boolean: True or false (e.g., true, false)
○ String: Sequence of characters (e.g., "Hello")
● Variables: Store data values, declared with a type (e.g., int x = 5;).

3. Control Structures

● Conditional Statements:
○ if, else if, else: Used for decision-making (e.g., if (x > 5) { } else { }).
○ switch: Allows multiple cases for decision-making.
● Loops:

for loop: Repeats code a specific number of times.


java
Copy code
for (int i = 0; i < 10; i++) { }

while loop: Repeats as long as a condition is true.


java
Copy code
while (x < 10) { }


4. Methods and Functions

● Method: A block of code that performs a specific task, defined with a return type and
parameters.
○ Syntax: returnType methodName(parameters) { }

Example:
java
Copy code
public int add(int a, int b) { return a + b; }


● Parameters: Variables passed into methods to perform operations.

5. Object-Oriented Programming (OOP)

● Classes and Objects:


○ Class: A blueprint for creating objects (e.g., class Dog { }).
○ Object: An instance of a class (e.g., Dog myDog = new Dog();).
● Key Principles:
○ Encapsulation: Hiding implementation details, exposing only necessary parts.
○ Inheritance: Creating a new class based on an existing class.
○ Polymorphism: Using the same method name for different functions (method
overloading or overriding).
○ Abstraction: Simplifying complex systems by exposing only essential features.

6. Arrays and ArrayLists

● Array: A fixed-size collection of elements.


○ Example: int[] arr = {1, 2, 3, 4};
● ArrayList: A dynamic array that can grow in size.

Example:
java
Copy code
ArrayList<String> list = new ArrayList<>();
list.add("Hello");


7. Sorting and Searching Algorithms

● Sorting Algorithms:
○ Selection Sort: Repeatedly selects the smallest element and moves it to the
front.
○ Bubble Sort: Compares adjacent elements and swaps them if they’re in the
wrong order.
● Searching Algorithms:
○ Linear Search: Checks each element in a list for a match.
○ Binary Search: Efficient search on a sorted list by repeatedly dividing the range
in half.

8. Recursion

● Recursion: A method where the solution to a problem depends on solving smaller


instances of the same problem.

Example:
java
Copy code
public int factorial(int n) {
if (n == 0) return 1;
return n * factorial(n - 1);
}

9. Big O Notation (Algorithm Efficiency)

● Big O: Describes the efficiency of an algorithm in terms of time or space as the input
size grows.
○ O(1): Constant time.
○ O(n): Linear time.
○ O(n^2): Quadratic time.

10. AP Exam Tips

● Practice coding: Familiarize yourself with Java syntax and logic.


● Understand problem-solving: Break problems into smaller parts, write pseudocode,
and test edge cases.
● Focus on key algorithms: Sorting, searching, recursion, and basic data structures.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy