High School Computer Science and Programming Intro Workshop (Udemy.com)
Learn Computer Science and Programming with Snap!
Created by: Hesam (Sam) Samimi
Last updated July 2021
What you will 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
How it compares
Against the other 58 rated Udemy courses in Introduction to Computer Science on CourseDuck:
- Rating4.5 out of 5higher than 44% of them
- Reviews95#43 of 59 by number of reviews
- Length8.5 hourslonger than 75% of them
- Last updatedJuly 2021earlier than 79% of them
Course Description
~ Your student/child will learn the following concepts ~
Highlights
Introduction to Computer Science and Programming Workshop
Designed for Your High School and Junior High Students
Trains and Encourages Critical Thinking, Logical Reasoning, and Technology Orientation for your Young Adults
Workshop: The majority of each class spent on exercises done by your student/child
Covers Fundamental Topics in Computer Science and Programming, Major Areas of Computer Science, including:
Science and Engineering
Real-World Modeling
Physics Simulations
From Model to Implementation
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, Using UC-Berkeley's Snap! Programming Tool (Designed for Kids and Young Adults)
15-Week Course (26 Lectures)
8+ Hours of Video Instruction, Plus Many More Hours Spent Doing the Exercises on Their Own
Accompanying Web Page for Each Class
Includes Lecture Slides, Links to Exercises on the Web 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
This class 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 are about. This course isn't about learning a specific programming tool or language. Rather, it is designed to help them strengthen their critical thinking and logical reasoning faculties, as well as give them the depth of understanding in fundamental concepts in computer science and programming, so that they could later on get started with any programming language or technology project.
A solid overview and key concepts in many areas of computer science are covered by this course, including big ideas in science and engineering (real-world Modeling, physics simulations, from model to implementation, reverse engineering and tinkering), computer science and math theory (Lists, Sets, Data Structures such as Dictionaries, Trees, Graphs, Algorithms such as Shortest 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 workshop course. 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 on programming or design exercises 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 the exercises 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
Instructor Details
- 4.5 Rating
95 Reviews
Hesam (Sam) Samimi
Hesam (Sam) Samimi is a computer scientist, programming languages expert, software engineer, and a full-stack web & mobile app developer. Though he recently returned to the software industry, he spent nearly a decade (2017-2025) primarily focusing on project-based curriculum development and teaching of computer science and software development at the secondary school and career prep levels, as well as on online platforms. Before discovering his passion at the crossroads of coding and teaching, he spent seven years during and after his Ph.D. studies at UCLA as a programming languages researcher, focusing on the application of artificial intelligence in programming and software development.
More Introduction to Computer Science courses
The Horse Course: Introduction to Basic Care and Management
4.9 (156 Reviews)
Provider: Coursera
Time: 22h
Free
Operating Systems from scratch - Part 2 (2022)
4.8 (1,662 Reviews)
Provider: Udemy
Time: 12.3h
$10.99
Object Oriented Programming (OOP) with Python for beginners (2026)
4.8 (531 Reviews)
Provider: Udemy
Time: 2.3h
$64.99
Introduction to Programming Crash Course + Python Primer (2025)
4.7 (3,814 Reviews)
Provider: Udemy
Time: 4.7h
$59.99
Object-Oriented Software Engineering with Java (2023)
4.7 (210 Reviews)
Provider: Udemy
Time: 6.5h
$84.99
Reviews
By Silas Clermont on 10/29/2024
A great course to take for computer science! Totally recommend for teens. I'm 15 and I learned quite a bit from this course!
By Jeremy Henry Atohengbe on 10/24/2022
It was a very good course, really helpful, I learned so much. Much love.
By Isaac Schmale on 4/19/2022
the meditation stuff is wierd but otherwise good
By Christina Tamayo on 6/17/2021
This was a great first section. I would have liked a more clear definition of list vs set. The examples were helpful.
By Alexander Nimo on 6/23/2020
Yes I say this was a good match for me. The class was very informational and pushed me closer to my goal of being a software engineer.
By Emma Metcalfe on 6/9/2020
I am already learning so much. I had a little trouble with the class 1 programs though. When I clicked the ball it didn't turn into a different color but disappeared completely. I was able yo fix it and doing so made me feel like a real programmer.
By Bethany Mills on 6/8/2020
yes
By Rushil Sajjan on 5/5/2020
Yes, it was interesting and held my attention.
By Tara Clancey Edwards on 5/16/2019
As an adult trying to learn coding, I appreciate the meditations before and after! I appreciate the course beginning with "exploration" as it is a gentle introduction.
By Salim Al Maqbali on 4/26/2019
nice
By Avirat A Thakor on 6/10/2018
I have only done one lecture, and I feel like I have explored coding quite a bit!
By arm arm on 2/27/2018
The instructor is good , but maybe he can isolate the sounds around him and his sound of drinking and so on.... in general he is ok
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100






