Intro, Syllabus Q&A, Attendance
Class Topics
- JavaScript > ES6
ECMAScript is a JavaScript standard meant to ensure the interoperability of Web pages across different Web browsers - Programming Concepts/Circles Demo
- OpenAi for fast-tracking your learning
Notes:
*Attendance and late work.
- You must communicate with me, ideally on Slack, to arrange for the completion of late or missed work.
- If you are over 5 min late to class more than two times in a row, you will receive an absence. Class will start on time.
Why JavaScript?
JavasScript and future jobs
Computers are deterministic machines. They do exactly what they are told to do. Programming is the process of problem solving with a computer, on its terms. Not exactly a language.
Machine Learning, Language Models and AI Tools for coders.
The Challenges of this Class:
-
- detail-work + testing + lots of frustrations! = learning
- logical/sequential/ordered thinking (step-by-step)
- creative problem solving (big picture < – > small unit)
- interaction design
Eloquent JavaScript– this is a good book for understanding. its online and free.
Types of Projects:
Websites
navigation, animations with scroll or css animation
Stories/Poetry/Essays/Articles
pagination – scroll/swipe
arrays – storing , structuring and retrieving data
animation – graphic devices, sprites, dynamic infographics and imagery,
audio/video – players, interactivity
Interaction (tap, click, type, drag, drop, draw )
Web Apps
APIs (Application Programming Interface)
mash-up: geolocation, databases, social media.
Creative Programming
art, creative writing, drawing
text/media manipulation – dynamic, generative, networked
HTML5 Games
computation – score, keyboard games, adventure, inventories
Student 477 Projects:
- programmed book chapter (ipsi) Daniel Spung
- collage Daniel Spung
- collage 2 Daniel Spung
- random pizza Shane Sanders
- quiz: what is your superpower? Madeline Brookman
- questionnaire: birthday greeting Alyssa Karnes
- quiz: how american are you? Polina Sklyarova
- game: sprite Giselle Gomez
- game : inventory Daniel Spung
- game: inventory 2 Paul Meiners
- game : shuffle cards Chuck Mitchell
- game: progress values Tyler Hickey
- game: matching values Evan Torres
- narrative game: Bed Bugs, Holly Slocum
- geolocation: John Alexander
- canvas game/story: Erik Messinger
HTML5 Development:
Development Tools & Resources:
- Sublime Text
- W3 schools: HTML5, CSS and Media Queries
- ChatGPT
- lynda.com (more help)
- YouTube!
- Chrome console:
-Mac: cmd + option+j or inspect element
-PC: control+shift+j or inspect element
HTML Review and JavaScript
HTML Review
starter html file
Sublime Text Snippets
AI (ML) Text Generation Tools:
AI (ML) Image Generation Tools:
11-ways-you-can-use-chatgpt-to-write-code
Class Contract in proper uses of AI Tools:
Demo a function with notes.
Create a personalized class contract for appropriate and beneficial uses of AI tools for student learning: ChatGPT
ChatGPT prompt: “Create a contract between students and the teacher in a class that will use ChatGPT to accelerate learning of digital techniques and technologies. The contact should start with “As a student of (class name) I (your name) will use ChatGPT to help me be a better and faster learner of digital technologies. I will use the ability of ChatGPT to explain and tutor me in the subject, in my preferred learning style, rather than use it to do all the work for me.”
What are your learning goals and values in the use of AI and Machine Learning tools? Run your thoughts through ChatGPT for additions to the above contract.
Add new ideas from class. Run ChatGPT and post the paragraph as a comment to the class Contract post on the Slack channel.
Git & GitHub:
- Git – version control system for tracking changes in computer files and coordinating work on those files among multiple people. (command-line install)
- GitHub – a social and collaborative platform for development
- desktop.github no command line needed!
- Github guide
- 477 test-repository | mini-projects
Git Terms from Github Glossary:
- Repository
- Branch
- Merge
- Clone
- Pull
- Pull request
- Fork
- Fetch
- Push
- Commit
- Markdown
Cyberduck: uploading files using an FTP (file transfer protocol) client
Steps to upload to remote server:
- In your FTP client (Cyberduck) “Open Connection”
- Enter the following info:
servername: dtc-wsuv.org
username: first initial + last name +year started + @dtc-wsuv.org , all in lowercase, no spaces or symbols (so, “Sam Jones” who started DTC355 in 2017 would be “sjones17@dtc-wsuv.org”)
password: random password sent to you by Greg – it should be saved for you, look in history – the clock icon. - If successful, you should be in your personal server directory that has the same name as your username (without the @dtc-wsuv.org) . Now you can either drag the folder and files in that directory or use the “action” menu to “upload”
- Upload folders and files in all lowercase with no spaces
- Make sure that your default page for the project is “index.html”
- Check how everything looks on the live absolute URL: http://dtc-wsuv.org/sjones17/project/
- If you cannot see images, make sure that your file names and calls to access those files are all lowercase. Servers are case-sensitive!
Computational Thinking
-
-
- decomposition – break down problem into small pieces
-
- pattern recognition – find similarities and patterns
-
- abstraction – with patterns, remove the inessential (differences)
- algorithmic design – based on abstractions, come up with a list of steps to solve problem / do task
-
1-200 sum
Robot triangles exercise
triangles script
Programming Concepts
Chrome Development Tools overview
statements
variables
data types: strings, numbers, booleans, arrays
basic operators and “shortcut” operators
comparison operators
arrays
objects / methods / properties
functions
loops (for loops)
conditional statements
scope