CS 2.0
Course Overview
This is the second year of the Northview Computer Programming program. Students take two courses simultaneously: Honors Web Development and Honors Database Administration. Students will also be introduced to Mobile App design during the course. The ultimate goal is for students to learn the skills to develop and manage fullstack web applications similar to popular web apps such as Amazon, Spotify, Twitter, and Snapchat. Students develop the three levels of a fullstack application: interactive front end, express web server, database.
Current lesson plans - please note these can change as necessary and are dynamic in nature
Course Content - Big Idea 1: Web Development Capstone
Unit 1 - Introduction to JavaScript in HTML
Students learn about the script tag, and how it can be used to write JavaScript code in their HTML files. Students are also introduced to useful JavaScript methods that can be used to alter the state of the CSS and HTML of a webpage, as well as how the Document Object Model supports the ability to make such changes.
The Script Tag
Using the DOM
Creating Elements Using the DOM
Styling Elements Using JavaScript
Functions in HTML
This Keyword
Keyboard Interactions
JavaScript Animations
Positioning and Animations
Unit 2 - Using JavaScript Libraries
Students are introduced to jQuery, a JavaScript library that makes webpage interaction easier. Students will learn the basic syntax of jQuery, how to incorporate it in their webpages, and useful methods that help animate and change the responsiveness of their websites
Introduction to jQuery
Iterating with jQuery
Animations with jQuery
Callback Functions and Synchronization
Using Multiple Files in JavaScript
Unit 3 - Build an Interactive Resume (Project)
Students will create a single page, interactive resume. Students will be expected to add several animations using jQuery to prove their ability to modify HTML and CSS. This unit also examines web design theories that can help students improve the aesthetics of their resumes, and to evaluate the quality of a website based on its layout.
Creating a Resume Covered
Layout and Web Design Theory
Interactive Resume Development
Unit 4 - Storing and Collecting Data
This unit will explore the role that data plays in creating websites. Students will learn about the various ways that data is taken from web pages, as well as ways to secure themselves from unwanted data collection. Students will also learn how to incorporate data collection into their own websites, and collect simple information from users.
Collecting and Storing Data
Storing Data with Local Storage
Storing Data Structures with Local Storage
JavaScript Objects
Using Input Fields
Unit 5 - Collecting Data
Students will create a multi-file webpage that tracks the number of clicks that items of content on the site receive, allowing the web owner to make decisions about which content should be kept, and which should be changed out the next time that they update their site. Students will test out one another's webpages, and write a written response highlighting the content that they will change on the next iteration and why.
Define Your Product
Develop Hypotheses
Create a User Persona
Create Your Data Collection Site
Collecting User Data
Analyzing User Data
Making Decisions
Unit 6 - How to Build and Maintain a Website
While students can run functional and responsive websites on CodeHS, this unit explores how students can create and run websites without the help of CodeHS. This unit will explore how to store web files, secure a domain name, and maintain a website. The majority of the lessons will be explanatory - students will not be expected to host and maintain a webpage off CodeHS, but will be given the tools needed to do so if they desire.
Choosing a Domain Name
Personal Servers vs Web Servers
Web Optimization
Choosing a CMS
Unit 7 - Final Project
Students will be tasked with creating a website of their own choosing. The website will have to follow specific criteria - certain number of pages, responsiveness, and use of APIs. Students will go through a feedback process, and learn about making their websites more accessible to a wide array of users.
Planning Your Site
Providing Feedback
Course Content - Big Idea 2: Mobile App Design
Unit 1 - Introduction to Mobile Apps
In this module, students will be introduced to the mobile apps course and the React Native framework and it's program structure and syntax. Students will also preview some of the tools and technologies they will use to build and run their apps
Introduction to React Native and Expo
Why build mobile apps?
What is React Native?
How is React Native structured and built?
What is Expo and how do React Native apps run?
Example activity:
Running Apps on Expo
Unit 2 - Components and the Stylesheet
In this module, students are introduced to components, the backbone of building apps with React Native. They learn about the stylesheet object and how to add custom style attributes to their apps
Introduction to Components
Introduction to the Stylesheet API
Styling View Components
Styling Text Components
Unit 3 - Buttons and Text Boxes
In this module, students use the TouchableHighlight to create "buttons" that add a layer of functionality. Students also learn about the TextInput component and how to allow users to enter text into their apps
TouchableHighlight and the onPress Function
TextInput
Unit 4 - Advanced Layouts and Images
In this module, students learn how to add images to their apps to further customize the building experience. They gain a deeper understanding of mobile apps layouts using Flex values and the Dimensions API.
The Image Component
The ImageBackground Component
Flex Layouts
Dimensions API
Unit 5 - App Build: Recreate a Popular App
In this module, students apply their knowledge of components, images, buttons, text boxes, and layouts to recreate a screen of a popular app. They will go through this process in steps, taking time to plan their layout and think about the functionality of the app. They may return to the app later to add on additional functions as new concepts are learned. Browse the full content of thi
App Build: Recreate a Popular App
How do you plan for an app build?
What functionality does the app have?
How will you use your knowledge of flex values and the Dimensions API to make your app responsive?
Unit 6 - Events and State
In this module, students learn how to use state values and how to update the state of their app in various ways to create quick, dynamic programs.
Introduction to State
Updating State with onPress
Using Mathematical Equations to Update State
Using Methods to Update String States
Unit 7 - Creating Multiple Screens
In this module, students learn how to take their apps to the next level by adding in functionality that allows for content and interactivity on multiple screens
Creating a Navbar
Using Buttons to Navigate Screens
Unit 8 - Working with Conditionals
In this module, students use conditionals to allow for more flexible apps. They also learn how parameters are used inside functions.
Conditionals and State Changes
Conditionals using Parameters
Unit 9 - App Build: Currency Converter
In this module, students apply their knowledge of components, events, state, conditionals, and more to build a currency converter app. Students use the Stylesheet to create a user friendly layout that can convert multiple currencies!
Project: Currency Converter App
How do you plan for an app build?
What is the best layout for an app?
How do you write pseudocode for an app?
What makes an app presentation engaging?
Course Content - Big Idea 3: Data Science
Unit 1 - The Data Science Life Cycle
Students will learn and apply the process of the data science life cycle. This includes asking statistical questions, collecting or obtaining reliable raw data, analyzing the data using measures of central tendency and spread and interpreting, and summarizing the results.
What is Data Science?
Gathering Data 1
○ Quantitative/Qualitative
Exploring Data Using Python
Modules and Libraries
Using the Pandas Library
Series
Measures of Central Tendency
Measures of Spread
DataFrames
Selecting Columns
Using Functions
Unit 2 - Data Science for Change
Students will use and analyze data to better understand a problem, measure the scope of a problem, or understand how people are affected by the problem. They will learn more about cleaning a dataset and filtering by column, rows, and conditions.
● What is Big Data?
Cognitive Bias
Importing and Filtering
loc
iloc
By a condition
Data Cleaning
Dropping Data
Fixing Data Types
Exploring with Data Visualizations
Unit 3 - Data Storytelling
Students will use and analyze data to tell a data story. They will create a visually appealing infographic that displays important data visualizations. The infographic will also tell a story based on their interpretation after exploring, analyzing, and visualizing the data.
Types of Data Stories
Data Visualizations
Univariate and Bivariate Data
Normal Distribution
Trends and Correlations
Linear Regression
Unit 4 - Data Science for Business
Students will gather business data that can be used to make decisions about how to better the company or product. They will present their findings in a business report that suggests several action items that they predict will help the business's performance and growth.
Determining Dataset Quality
Aggregating Data
Grouping
Sorting
Combining Datasets
Concatenating
Joining/Merging
Bias in Data Analytics