CSA Notes
APCSA Notes
Introduction
Computer Science A is a course that is broken into 10 units. Below are the units and some notes for each of them.
Unit 1: Primitive Types
- boolean: true or false
- byte: complement integer
- char: one code character
- short: twos complement integer
- int: integer
- long: complement integer
- float: decimal values up to 7 digits
- double: decimal values up to 16 digits
Unit 2: Using Objects
- Java is object-oriented programming (OOP)
- Class is used to define a new data type
- Class can be compared to a cookie cutter which makes the cookies (objects)
- Each class has its own attributes and behaviors
- Objects are created in class and are often knwon as instances of a class
Unit 3: Boolean Expressions and if Statements
- Boolean expressions are used to check if something is true or false
Unit 4: Iteration
- Repeating actions until a specific condition is met
- Three types of iterations
- For Loops
- While Loops
- Recursions
Unit 5: Writing Class
- Includes
- Instance variables: stores information about an object created in a class
- Constructors: create new objects
- Methods: show the program a new command; you can write specific methods into your classes
Unit 6: Array
- Used for storing multiple values in one variable -square brackete [] used to declare
- commas in between curly brackets to store an array (EX: String[] colors = {“blue”, “red” , “orange})
- you can change an array element with the index number
- You can figure out how many elements an array has with “length” (EX: System.out.println(color.length);)
Unit 7: ArrayList
- Can be manipulated and changed in size unlike with arrays
- Variables can be added or removed
- Also called dynamic arrays
Unit 8: 2D Arrary
- [row][column]
- Basically an array of arrays
- Can be declared by data_type[][] array_name = new data_type[x][y];
Unit 9: Inheritance
- Inheritance can be declared by having a child class extend a parent class
- This can be used with the fibonacci sequence mini-lab that we did
- This can be useful when you want to inherit the same attributed and methods from another class
- “this” vs “super”
- “this” is used when referring to the current object in the method
- “super” is used to call any superclass method like the parent class
Unit 10: Recursions
- A method that calls itself
- Kind of like a method that’s reflected to each other like two mirrors facing each other
Project Based Learning Notes
Week 1: Fastpages
- _notebooks (.ipynb files which lets you use markdown, java, etc.)
- _posts with markdown files that can be used to help fronted designing
- _word to save documents to your Fastpages
- You can edit the front page with the index.html file
- You can edit sub pages with the _pages folder
- You can also add images under the images folder
Week 2
- You can check the versions of different softwares you installed using –version (EX: python –version) for most installations
- You can do a lot of frontend work with your different calculators by making a frontend menu that houses them
Week 3
- AWS stands for amazon web services and is useful as a compiler to amke your local server
Week 4
- Agile methdology can be used to efficently divide up tasks in the scrum team
- The scrum master acts as the leader, in sort, of the group, making sure the roles are being followed and maintaining the scrum board
- The DevOps role manages AWS deployment and managing POM files
- Frontend developers manages what the audience can see and utilize
- Backend developers work more on the programming side although all of the team should be code code codeing
- A scrum board can be helpful to manage everyone’s thoughts and ideas in a way that everyone’s voices are heard. It is also a great way to manage tasks for each person in the group and the group itself.
Week 5
- Started the trimester project
- Trying to make the project as real-world applicable as possible while still code code codeing
- My group came up with ideas that we narrowed down together until we finally came up with a market specifically meant for DNHS students to utilize
Week 6
- Working with APL and ASCii
- API: (Application programming interface) a way for multiple computer programs to communcate with each other
- EX: a weather station has a software to detect weather daily. This can be displayed on the weather app on your phone. The weather app communicates with the weather station’s software program
- RapidAPI: Used to connect API’s
Week 7
- JPA: Java persistant API
- JPA’s can be used with arraylists
- Class Demonstration: Haha and Bohoo API and frontend
Week 8
- Deployment using AWS and Docker files
Week 9
- We had the idea to create an AP Lit website with an organized list of assignments and deadlines that included a place for AP Lit students to chat about different assignments and proects
- We also had an idea to make a data collector for AP Stats where we are starting our first data collecting project
- We also considered a website modeled after Goodreads but specifically for DNHS students to find and rate books
- One of the final ideas we considered was a market place also soley for DNHS students for secondhand books and clothing.
- We decided on the marketplace as we had more ideas as to how to impliment the design properly
Week 10
- Continue working on the Java project
- Making seperate frontend repo and backend repo
- Using fastpages because of how easy it is to manipulate
Week 11
- Finishing up our proeject
- Changing font size and pictures
- Implementing the API onto fastpages using html