Big Ideas 1, 2, 4
A blog post about the work I did during Sprint 5 and Deployment.
1.1 Notes
- I learned how Facebook has communicated to create nice projects.
- The workplace area of Facebook is open and is created for communication to ensure that everyone is in sync or working together.
Answer the question:
My answer: B
Why I chose this answer: I chose this answer because I watched the video and saw how people would replicate this, such as people in Facebook that would actually collaborate to create large-scale projects, etc. This can lead to really cool things.
Takeaway notes:
Interpersonal Skills learned through collaboration:
- Communication
- Consensus Building
- Conflict Resolution
- Negotiation
Good African Proverb I learned from this video: “If you want to go fast, go alone. If you want to go far, go together.” - African Proverb
1.2 Notes
Describing the purpose of a computing innovation.
Categories of Innovations:
- Applications:
- Games
- Social Media
- Business
- Productivity
- Physical Devices:
- Computers
- Smart Phones/tablets
- Smart “things”
- Wearables
- Systems:
- E-commerce
- Cloud services
Guiding Questions:
- Why does the computing innovation exist?
- What problem(s) does the computing innovation solve?
- What does the computing innovation allow us to do that we could not do before?
Day 2 Video:
- Input output
Day 3 Video:
- Explaining code
Example:
1.3 - Collaboration
- Importance: Collaboration enhances problem-solving, creativity, and efficiency in programming.
- Benefits:
- Helps in debugging and improving code.
- Allows diverse perspectives and expertise.
- Enables effective project management.
- Techniques:
- Pair Programming – One writes code, the other reviews.
- Version Control – Tools like Git help track changes.
- Agile Development – Iterative approach to improve software.
1.4 - Identifying and Correcting Errors
- Types of Errors:
- Syntax Errors – Mistakes in grammar (e.g., missing
:in Python). - Logic Errors – Code runs but produces incorrect results.
- Runtime Errors – Errors occurring during execution (e.g., division by zero).
- Syntax Errors – Mistakes in grammar (e.g., missing
- Debugging Strategies:
- Print Statements – Check values at different points.
- Rubber Duck Debugging – Explain the code to find mistakes.
- Using Debugging Tools – IDE debuggers, logging, and step-by-step execution.
1.5 - Program Documentation
- Why Document?
- Helps users and developers understand the code.
- Aids in debugging and future modifications.
- Best Practices:
- Use comments to describe functionality.
- Write meaningful variable names.
- Maintain a README file for project details.
1.6 - Testing Programs
- Testing Types:
- Unit Testing – Testing individual components of the code.
- Integration Testing – Ensuring different parts work together.
- User Testing – Real users test for usability.
- Techniques:
- Edge Case Testing – Check extreme values (e.g., max/min inputs).
- Automated Testing – Scripts that check for errors (e.g.,
unittestin Python).
1.7 - Binary and Digital Data Representation
- Binary System:
- Computers store everything in 0s and 1s.
- Each digit (bit) represents two states (on/off, true/false).
- Data Types in Binary:
- Text – ASCII/Unicode.
- Images – Pixels stored as binary values (RGB).
- Sound – Sampled and stored in digital format.
1.8 - Using and Analyzing Data
- Big Data: Large sets of data used for insights (e.g., social media trends).
- Data Processing:
- Cleaning Data – Removing duplicates/errors.
- Sorting and Filtering – Organizing data for better analysis.
- Visualization – Charts and graphs to identify patterns.
Big Idea 2: Data and Analysis (AP CSP)
Data is the backbone of modern computing, enabling insights, decision-making, and automation. Big Idea 2 focuses on how data is collected, processed, and analyzed, helping us uncover patterns and make informed choices.
2.1 - Binary and Data Representation
What is Binary?
Computers store and process all data in binary (0s and 1s). Each bit represents a state (on/off, true/false), and larger data is built from multiple bits.
Data Types in Binary
- Text – Encoded using ASCII (7-bit) or Unicode (UTF-8, UTF-16, UTF-32).
- Images – Represented as pixels with RGB (Red, Green, Blue) values.
- Audio – Stored as digital sound waves, sampled at regular intervals.
- Video – A sequence of images (frames) with audio and compression.
Converting Data to Binary
- Decimal to Binary: Divide by 2, recording remainders.
- Binary to Decimal: Multiply each bit by powers of 2 and sum the results.
2.2 - Data Compression
Why Compress Data?
Data can take up large amounts of space, and compression reduces file size while maintaining usability.
Types of Compression
- Lossless Compression (No data loss)
- Uses patterns and redundancy to reduce size.
- Examples: PNG (images), FLAC (audio), ZIP (files).
- Lossy Compression (Some data loss)
- Removes unnecessary details to save space.
- Examples: JPEG (images), MP3 (audio), MP4 (video).
Trade-offs in Compression
- Lossless keeps quality but results in larger files.
- Lossy reduces size significantly but sacrifices detail.
2.3 - Data and Metadata
What is Metadata?
Metadata is data about data, providing additional context.
Examples of Metadata
- Image Metadata: Resolution, camera model, location (EXIF).
- Web Pages: Title, description, keywords (HTML meta tags).
- Files: Date modified, size, type.
Why is Metadata Important?
- Helps organize and categorize data.
- Improves searchability and filtering.
- Provides context for analysis (e.g., timestamps in transactions).
2.4 - Data Storage and Privacy
Where is Data Stored?
- Local Storage: Hard drives, SSDs.
- Cloud Storage: Remote servers managed by providers (Google Drive, Dropbox).
- Databases: Structured storage for quick retrieval (SQL, NoSQL).
Security Concerns
- Encryption protects sensitive data.
- Backups prevent data loss.
- Access Control ensures only authorized users can view/edit.
2.5 - Large Data Sets
What is Big Data?
Big data refers to massive datasets that require specialized tools for processing.
Uses of Big Data
- Predictive Analytics – Forecasting trends (e.g., stock market, weather).
- Machine Learning – AI models improve based on data (e.g., self-driving cars).
- Healthcare – Patient data analysis for better treatments.
Challenges in Big Data
- Storage – Requires large capacity (terabytes, petabytes).
- Processing Speed – Needs distributed computing (Hadoop, Spark).
- Privacy – Ethical concerns about data collection and usage.
2.6 - Data Cleaning and Processing
Why Clean Data?
Raw data often contains errors, inconsistencies, and missing values. Cleaning ensures accuracy before analysis.
Data Cleaning Steps
- Remove Duplicates – Avoid redundant entries.
- Handle Missing Data – Fill gaps with averages or remove incomplete entries.
- Standardize Formats – Convert all dates to a common format.
- Correct Errors – Fix typos and inconsistencies.
Data Processing Techniques
- Sorting and Filtering: Organizing data for better analysis.
- Aggregation: Summarizing large datasets (e.g., finding averages).
- Data Visualization: Graphs and charts for better understanding.
2.7 - Using Programs to Process Data
Why Automate Data Processing?
Manual analysis is slow and inefficient. Programs can:
- Process data faster and more accurately.
- Handle large datasets.
- Detect patterns and trends.
Common Data Processing Methods
- Spreadsheets (Excel, Google Sheets) – Basic analysis tools.
- Programming (Python, R, SQL) – More advanced data manipulation.
- APIs and Databases – Automated data retrieval and updates.
2.8 - Identifying Trends and Patterns
How Do We Find Trends?
- Sorting & Filtering: Isolate relevant data.
- Grouping & Aggregation: Summarize based on categories.
- Data Visualization: Use graphs, heatmaps, and dashboards.
Common Types of Trends
- Seasonal Trends: Sales increase during holidays.
- Cyclical Patterns: Economic growth and recessions.
- Outliers: Unusual spikes in data (e.g., sudden stock market crash).
Real-World Applications
- Social Media Analytics – Track engagement trends.
- Healthcare Predictions – Disease outbreak forecasting.
- Marketing Strategies – Understanding customer behavior.
2.9 - Bias in Data
What is Data Bias?
Bias occurs when data collection, processing, or interpretation is skewed or unfair.
Types of Bias
- Selection Bias – Sample isn’t representative of the whole population.
- Confirmation Bias – Data is interpreted to fit existing beliefs.
- Algorithmic Bias – AI models favor certain groups due to biased training data.
How to Reduce Bias?
- Use diverse datasets.
- Apply random sampling.
- Regularly audit AI models.
2.10 - Using Data Ethically
Why is Ethical Data Use Important?
Data misuse can lead to privacy violations, discrimination, and misinformation.
Ethical Considerations
- Informed Consent – Users should know how their data is used.
- Transparency – Companies must disclose data practices.
- Security – Protect sensitive information from breaches.
Laws and Regulations
- GDPR (General Data Protection Regulation) – Protects EU citizens’ data.
- CCPA (California Consumer Privacy Act) – Gives consumers control over personal data.
Conclusion: The Power of Data
Data is transforming the world, from social media analytics to healthcare predictions. However, its use comes with challenges like privacy, bias, and security. Understanding how data is collected, processed, and analyzed is crucial for making informed and ethical decisions in the digital age.
Big Idea 4
AWS Deployment Process for Backend/Database
Prerequisites
- AWS Account: Get the active AWS account from Mr. Mortensen. AWS.
- IAM User: Create an IAM user - Identity and Access Management, so that we have permissions we need.
- AWS CLI: Install and configure the AWS CLI on local machine. Follow the instructions here.
Test Server
Ensure that we have a working frontend-to-backend test server. If it does not work locally, there is no need to try it on deployment.
Subdomain
Setup DNS endpoint through AWS Route 53.