Google Logo
Google - Certified Javascript Associate
[DISCUSSION DRAFT]
Plymouth State University, Columbia University, Dartmouth University

Overview

This will be the most useful course you take in college. 

This course will teach basic programming, as quickly as possible, by having you write code.

Coding using modern tools is not difficult and learning basic coding will make you vastly more productive right away.

Steve Jobs: "I think everybody in this country should learn how to program a computer, because it teaches you how to think."
Bill Gates: “Learning to write programs stretches your mind and helps you think better.”
Drew Houston (Dropbox CEO): “Coding is the closest thing we have to a superpower.”
Dennis Ritchie (Creator of C): “The only way to learn a new programming language is by writing programs in it.”
Barack Obama: “Don’t just play on your phone—program it.”
Harold Abelson (MIT Professor): “Programs must be written for people to read, and only incidentally for machines to execute.”
Stephen Hawking: “Whether you want to uncover the secrets of the universe or pursue a career in the 21st century, basic computer programming is an essential skill to learn.”

Background

Most colleges do not require students learn to code.  

This is incomprehensible to us, so we are working to help teach these skills now to as many college (or high school) students as quickly as possible.

IF YOU WOULD LIKE TO GET INVOLVED - PLEASE JOIN OUR GROUP!
    

Course

Online Course:  https://pll.harvard.edu/course/cs50-introduction-computer-science
Reference Javascript Text
Text Book:  Eloquent JavaScript A Modern Introduction to Programming - by Marijn Haverbeke
            ISBN-10: 1-59327-950-7
            BOOK DOWNLOAD: eloquentjavascript3rdedition.pdf 
Schedule: Summer 2025 [COMING SOON]
GitHub Repo: [CODE DOWNLOAD]https://github.com/phillipsweeney/collegejavascript
Coursera Course:  [TBD] [Provided by Google (other)]
Grading: [TBD]

AI-LLM Usage Policy & Guidelines:  Unless otherwise noted, use AI.

Syllabus


Project1 [GITHUB] Use Case: SETUP, helloworld, contacts (local) :: Create a JS application that loads a basic modern Navigation Gui.  Use this web page project as a template for later projects and have a starting point for your coding in the next projects.  Make  this application customized for your specific style. Install Node.js and run this web app without a server adn on a server.  Use Google AI to generate code for you and check your code.  Create a landing page for indexing & displaying your other coding projects. ASSIGNMENT: Read CH 1-3 , Complete Project 1
Project2 [GITHUB]  Use Case: contacts Server, contacts Google Sheets, stocks Google Sheets ::  Create a JS app that reads in a list of contacts  from local data source.  Set up to work locally and on server. Integrate new code with template. Introduce CRUD and single table datasource.  Introduce json and sql - local file. Add edit contact functionality. Add save functionality. merge data from Google contacts and linked in. ASSIGNMENT: Read CH 4, 13, Complete Project 2
Project3-stocks Use Case: Create a JS app that connects to external live data source and display Russell 1000 stock index of stock pricing and related stock specific news, created and loaded to screen.  Generate & persist output - charts and reports from data. Upload app to google cloud.  Access news per ticker using primary/foreign key search. 
Project3-news Use Case: Create a JS app that connects to external live news sources and display news by ticker, date, sector.  Perform extended search AI, Google Search. 
Project3-books Use Case: Books - Use past code and add a vertex ai search for favorites, based on past favorites. 
Project4-youtube_music Use Case Create a different app that uses the same code as previous, but with a focus on playing music.
Project5-youtube_films Use Case:  Create a JS App that finds the most popular films playing now on the internet and display for favorites list persist.  Use Android TV to display on a Television, large screen.   Use ai agent to recommend other top picks for users based on favorites selected. Experiment with AI settings.
Project6-instagram Use Case: Search Instagram feeds, allow adding to favorites list with real-time embedding.
Project7-linkedin_gmaps Use Case: Create an application that searches contacts, generate Linked In search, scrape web data for display,  and assigns each contact to maps based on map search, automate linked in search.  Introduce data deduplication - importance and approaches.
Project8-products_shopify Use Case: List Products and customers from shopify data, google merchant data.  update shopify, google merchant via API.
Project9-blogs Use Case: Read Blogs from external blog data, and display on existing website, search current rss feed listed on blogs for search by category, persist report data.
Project3-finance_analytics_1 Use Case: xxxx
Project3-finance_analytics_2 Use Case: xxxx
Project3-finance_analytics_3 Use Case: xxxx
Project3-analytics_1 Use Case: xxxx
Project3-analytics_2 Use Case xxxx
Project3-analytics_3 Use Case xxxx
    

Course Information

Prerequisites:  
https://www.coursera.org/learn/duke-programming-web Programming Foundations with JavaScript, HTML and CSS (Duke University) 

Material Covered:  

        ```
        Prerequisites: 
        JavaScript Fundamentals: Syntax, Variables, Data Types
        Operators and Expressions
        Conditional Logic: if, else if, else, switch
        Looping for Automation: for, while, do...while
        Functions: Building Reusable Blocks
        Arrays: Working with Lists of Data
        Objects: Representing Complex Data
        DOM Manipulation: Changing Web Pages
        Project: Build a Simple Form with Validation

        Main:
        Introduction to Full-Stack Development
        Setting up a Node.js and Express Backend
        Designing RESTful APIs
        Connecting to a Database (i.e. File, Sql, or Document flavs)
        Building API Endpoints for CRUD Operations
        User Authentication and Authorization
        Creating a Frontend with a JavaScript Framework (e.g., React, Angular, Vue.js)
        Connecting the Frontend to the Backend API
        Connecting to Google Data Sources
        Connecting to 3rd Party Data Sources
        Testing and Debugging the Full-Stack Application
        Deployment and Hosting - Google Cloud
       
        Data Analytics/R: 
        
        RScript Calling and return values.
        RSetup, troubleshhoting and escaping
        ```

Setup :          
        Install Node.js and NPM https://nodejs.org/en/download, 
        add Node.js and NPM executables to your system environment path [ c:\nodejs\ ] , 
        reboot.

        Install portable vscode https://code.visualstudio.com/download,
        create projects folder in c:\vscode\projects,
        
        Install hello world app locally, running on the new server.
        
        (optional) Create google cloud account (first year free, best, least expensive cloud provider)

        (optional) Create a github account, install git locally.

Note: All components are open source.  All technologies are supported standards at major cloud providors & can scale massively.

Reference/Reading


        - https://nodejs.org/en/download
        - https://code.visualstudio.com/download
        - https://www.kea.nu/files/textbooks/humblelearn2code/eloquentjavascript3rdedition.pdf
        - JSON References
        - SQL References
        - Networking, Network Security, TCPIP/DNS: [Add material]
        - CLI References
        - Javascript Reference
        - [MORE COMING SOON]