NCSSM STEM Immersion Camp (NSIC)
Math, Coding, Grow!
Are you in grades 4-12? Are you passionate about STEM and wish to learn more? NSIC students will learn introductory graph theory, combinatorics, game theory and the basics of computer science. NSIC students will have the opportunity to explore each topics according to their interests.
What is NSIC?
NSIC is a completely free weeklong program aiming to introduce computer science and advanced mathematics to female and minority students who are passionate about STEM. We are completely run and taught by NCSSM (North Carolina School of Science and Math) students and sponsored by faculty members.
We offer two sessions:
Introduction to graph theory and combinatorics (morning session)
Introduction to computer science and computational thinking (afternoon session)
Students are welcome to choose one or both sessions. Students with full participation in the program will recieve certificate of completion at the end of each session. Although female and minority students are strongly encouraged to attend the program, everyone can apply! No prior experience needed!
NCSSM STEM Immersion Camp is aimed for middle school and high school students, however, elementary school students are also welcomed to apply. Applicants are accepted on a rolling basis, we encourgae you to apply ASAP. Please check your email and expect to hear back from us within a couple of weeks. To apply, please fill out the short google form linked below.
Daily Schedule
Monday, July 3 - Friday, July 7
Morning Session (10am - 12pm)
Math Synchronous Activity: 10:00 am -10:45 am
Math Office Hours: 11:00 am-11:30 am
Asynchronous Activity: 11:30 am-12:00 pm
Break: 12:00pm-1:00pm
Afternoon Session (1pm - 3pm)
Computer Science Synchronous Activity: 1:00 pm-1:45 pm
Computer Science Office Hours: 2:00 pm-2:30 pm
Asynchronous Activity: 2:30 pm-3:00pm
Daily syllabus
Day 1
Morning: Introduction to Graph Theory
Synchronous Activity:
What is Graph Theory?
Some application examples
An overview of graph theory terminology.
Some basic types of graphs.
Introduce the Game of Sprouts
Asynchronous Activity
Play the game of sprouts with a friend/family member. For each game, take notes of the following: n-the number of initial vertices
v-the number of total vertices
e-the number of edges
m-the number of moves
u-the number of unlived lives
What are some patterns that you notice?
Why u=3n-m?
Come up with 1 more conjecture.
Day 2
Morning: Introduction to Formal Proof & Types of Graphs
Synchronous Activity:
Share conjectures
Prove the conjecture u=3n-m. s
Optimal Strategy
More Graph Theory Terminology
Proof Writing
Asynchronous Activity:
What is the maximum number of vertices in a complete planar graph?
Can you prove 2^2> 2n for every positive integer n≥3 by induction?
Day 3
Morning: Introduction to Graph Coloring
Synchronous Activity:
Introduction to graph coloring:
Proper coloring
K-coloring
Chromatic number (G): smallest k for which k coloring exists
Explore (G) on:
Null graph
Star graph
Cycle graph
Asynchronous Activity:
Find (G) for complete graph in a function of the number of vertices
Complete the handout for edge bound theorem
Day 4
Morning: Introduction to Game Theory
Synchronous Activity:
What is game theory?
Prisoner’s Dilemma
Introduction to payoff matrix
Nash Equilibrium
Example analysis
Pigeon Hole principle
Asynchronous Activity:
Fill out the payoff matrix for example senario and fill pure and mixed equilibriums.
Day 5
Morning: Game Theory Examples
Synchronous Activity:
Game of Nim
Pigeon Hole principle
Celebration!!!
No Asynchronous Activity—
Afternoon: Introduction to Computational thinking with Scratch
Synchronous Activities:
Intro to Scratch
Explain what Scratch is and how it works
Demonstrate the Scratch interface and basic features
Guide students in creating a simple Scratch project (e.g., making a character move and change color)
Basic Scratch programming
Teach students how to create and edit Scratch scripts
Guide students in creating a project that involves basic programming concepts (e.g., loops, if-else statements)
Asynchronous Activities:
Choose 1 of the following
Create a scratch program using concepts taught in class
Explore a new feature in Scratch
Afternoon: Introduction to Machine Learning with Scratch
Synchronous Activities:
Introduction to Machine Learning
Explain machine learning and its applications
Supervised learning and its basics
Concepts of training data and labels
Machine learning in Scratch
Explain and demonstrate the Teachable Machine platform by google
Teach students how to create a scratch project with Teachable Machine and Scratch
Asynchronous Activities:
Create a scratch program using new techniques learned today. Feel free to share it with your family and friends
Afternoon: Introduction to Web Design and Web Development
Synchronous Activities:
Web Design
Graphic design principles
Effective color use
Layout techniques
Create accounts for replit
HTML
Structure of a HTML document
Basic tags in HTML (ex: <p>, <h1>-<h6>, <img>, etc)
id and class
Asynchronous Activities:
Find 2-3 examples of effective web design and explain what features make them so.
Fill out this google form:
Afternoon: Intro to CSS and JavaScript
Synchronous Activities:
CSS
How to add colors, fonts, and layout to the webpage.
How to use CSS selectors and cascading to style the webpage efficiently
Intro JavaScript
Basics data types
Creating and assigning values to Variables
Asynchronous Activities:
Create a simple website with HTML and CSS concepts learned today
Afternoon: JavaScript and Web Development
JavaScript
Creating functions
Local vs global variables
Event handling
Incorporating JavaScript into website
Celebrations
No Asynchronous Activity—
We Are Fully Virtual
Students will attend daily sessions through Zoom with the Zoom links send out prior to the program start date. If you need any assistance with access to the internet, please reach out to us!
We will mainly focus on students within North Carolina, but out-of-state students are welcome to apply!