What you'll learn:
- In-Depth Understanding of the Fundamental Ideas and Concepts in Computer Science and Programming
- An Overview and Solid Background in Major Areas of Computer Science
- Learning Programming in Snap! Programming Tool from UC-Berkeley
- Learning Programming in Scratch Programming Tool from MIT
- Background Knowledge and Experience to Start Learning New Programming Languages
- Improved Ability in Critical Thinking, Logical Reasoning, Modeling, Design, Planning & Implementation
~Your student/child will learn the following concepts ~
Highlights
Introduction toComputer Science and Programming Workshop
Designed for Your High School and Junior High Students
Trains and Encourages Critical Thinking, Logical Reasoning, andTechnology Orientationfor your Young Adults
Workshop:The majority of each class spent onexercisesdone by your student/child
Covers Fundamental Topics in Computer Science and Programming, Major Areas of Computer Science,including:
Science and Engineering
Real-WorldModeling
Physics Simulations
From Model toImplementation
Reverse Engineering and Tinkering
Math and Computer Science Theory
Data Structures:Trees,Graphs
Algorithms:Shortest Path
Artificial Intelligence
Propositional Logic
Networks
Internet Protocols
Programming Languages
Functions
Object-Oriented Programming
And More
Not a Course about a Programming Language, Rather about Fundamental Ideas in Computer Science and Programming
Exercises Aid Learning, UsingUC-Berkeley'sSnap! Programming Tool (Designed for Kids andYoung Adults)
15-Week Course (26Lectures)
8+ Hours of Video Instruction, PlusMany More Hours SpentDoing theExerciseson Their Own
Accompanying Web Page for Each Class
IncludesLectureSlides, Links to Exercises on theWeb Page
Learning Fundamental Ideas in Computer Science and Programming will give your students the preparation to go on and learn new programming languages
Your student/child will not need any prior knowledge or experience in Computer Science or programming
Overview
Thisclass is specifically designed for your high school & junior high students/children who want to get a head start learning about what computer science and programming areabout. This course isn't about learning a specific programming tool or language. Rather, it is designed tohelp them strengthen their critical thinking and logical reasoning faculties, as well as give them the depth of understanding infundamental concepts incomputer science and programming, so that they could later onget started with any programminglanguage or technology project.
A solid overview and key concepts in many areas ofcomputer science are covered by this course, including bigideas inscience and engineering (real-worldModeling, physics simulations, from model toimplementation,reverse engineering and tinkering),computer science and math theory (Lists, Sets, Data Structures such as Dictionaries, Trees,Graphs,Algorithms such asShortest Path), programming languages (Functions,Object-Oriented Programming), Artificial Intelligence (Propositional Logic), and networking (Internet Protocols), and more.
I taught this class to some Living Wisdom School high school students in Nevada City, CA, as an alternate Math course.
This is a 15-week workshopcourse. Each class (week)'s lecture takes about 90-120 min. on average. Each class includes some lecture with slides, but the majority of the time the students will be working onprogramming or designexercises on their own computer.After each exercise the students can resume the lecture video to check their work against the teacher's.
The majority of theexercises included in each class are done in Snap!--the programming tool from UC-Berkeley. Students can share their work and view programs done by other students around the world.
Perquisites and Requirements
No prior knowledge or experience in programming required
Exercises only require a computer with Internet access
Sections
Intro: Introduction to this workshop series
Week 1: Lists, Sets
Week 2:A Snappy Snap! Primer
Week 3:Concurrent and Event-Based Programming
Week 4:Revising the List Example: Under the Hood
Week 5:Modeling, Design, Implementation: Traffic Light, ATM
Week 6:Implementing the Traffic Light Simulation
Week 7:Functions
Week 8:Binary Search Trees
Week 9:Values, Types, Dictionaries
Week 10:Graphs, An Algorithm
Week 11:Implementing a Graph Algorithm
Week 12:Propositional Logic, "Have I Lied?" Game
Week 13:State Machines
Week 14:Internet Protocols
Outro: Next Steps