Week of Code
Overview
What if you spent your summer learning to make your own apps instead of just playing them? This camp introduces the fundamentals of coding. Students will create websites, mobile apps, and video games all while having fun with our energetic team.
What you will do this week
- Learn basic Computer Science concepts
- Write code in C#, HTML, CSS, and JavaScript
- Build iOS and Android mobile apps with Thunkable
- Design and Publish your own Website
- Create your own Video Game with Unity 3D
- Receive 1-on-1 support from our instructional team
- Share a project presentation with peers and parents
Prerequisites
- The ability to type text on a computer (e.g. write an email, edit a Word document). We recommend 20 WPM or faster.
- Experience using a variety of websites, games, and apps
Equipment and Account setup
- Students each need to bring a computer with macOS/Windows (must have permission to install programs, including necessary passwords)
- Software: Google Chrome, Unity - personal edition
- Accounts: Google account (Gmail, Google Drive, etc), Unity account, Mozilla Webmaker account, CodeCombat account (get special class code from instructors)
Schedule Summary
Pre-work - Intro to programming concepts with Angry Birds, Codecademy, Scratch, JavaScript
Mon - Making Mobile Apps with Thunkable
Tues - Making Websites with HTML, CSS, and JavaScript
Wed - Making Video Games with Unity 3D
Thurs - Project day: go in-depth on a track (Web, Mobile, Game) of your choice
Detailed Schedule
Pre-work (self-guided prep session)
Computer Setup
Each student will need to provide his/her own laptop for the course. Either Microsoft Windows-based PC’s, or Apple macOS computers will work, but iPads and Chromebooks will not work for this course. We recommend a laptop made within the past 3-4 years. Computers should be free from viruses/malware. We have a limited number of rental laptops available for $25/day.
To be ready for Day 1 of camp, students should complete the following laptop setup steps:
- Install any available operating system updates for your computer (see Windows Update or macOS software update)
- Install the Google Chrome web browser
- Use your Google account (Gmail, Google Drive, etc) to sign into Thunkable
There are other setup steps (eg installing Unity 3D) that can be completed after Day 1 of camp.
Coding Basics
Prior to the Week of Code summer camp, it’s a good idea to try some basic coding exercises on your own. If you have not yet done an Hour of Code session on your own or in school, we recommend starting there:
- Watch video
- Do the Angry Birds and Plants vs Zombies challenge
- Make your own Flappy Bird game
- Light Bot
- MIT Scratch
Monday - Mobile Apps
1pm
- Introductions - students, instructors
- Why it’s important to learn to code
- Awesome Inc Core Values
- Be Good
- Be Excellent
- Be a Friend
- Be You
- What ground rules should we have?
- When the instructor is talking, _____.
- Keep your hands to _____.
- Read, Try, _____, Coach.
- Be positive and _____.
- No _____ or _____ on the table.
- Bring the _____.
- Text editor skills and vocabulary
- Copy, Cut, Paste, Switch windows
- Arrow keys vs Mouse, Shift-to-select
1:15pm
- Mobile Apps with Thunkable Overview
- Getting Started
- TalkToMe App
- Part 1 “Hello World”
- Part 2 UserInput
- Part 3 Accelerometer
2:00pm
- Break/Snack
2:15pm
- SpaceInvaders App V1
- Download Images
- Part 1: Moving the Rocket
- Part 2: Moving the Saucer
- Part 3: Bullet Behavior
- Testing Game Play
3pm
- Break / Game
3:30pm
- SpaceInvaders App V2
- Keeping Score
- Resetting the Game
- Testing Game Play
4:30pm
- Confirm Web (Google Chrome, Mozilla Thimble) setup for Tuesday
- More Thunkable
- SpaceInvaders App
- Customize colors and font
- Change up speeds/clocktime
- Code an end to the game
- SpaceInvaders App
- Want to go more in-depth with Mobile?
- Android: Build your first app with Android Studio (MS Windows or macOS)
- iOS: Start Developing iOS Apps with Swift (macOS users only)
5pm
Tuesday - Websites
1pm
- What is “The Web”?
- View Page Source, see HTML, CSS, JavaScript
- Chrome Developer Tools
- Go to Twitter.com/awesome_inc
- Design a wireframe for our site
- Heading, Navigation, Images, Text Content
- Two pages: home page, fun facts
- Use Mozilla Thimble to make our first web page
- Create account and sign in
- Disable “auto close tags” and “autocomplete code”
- Add HTML Elements
- Headings
- Paragraph
- Images
- Links
- Lists
2pm
- Styles with CSS
- COPY THIS CSS CODE
- Selectors and Properties
- Background Colors
- Embed YouTube video
- Share -> Embed
3pm
- Break / Game
3:15pm
- Web Page 2: Animal Fun Facts
- Create new HTML page
- Navbar: ul, class
- JavaScript
- COPY THIS JS CODE
4pm
- Publish and share
- Add your site to our list
References:
- HTML Cheatsheet
- CSS Reference
- How to register a Domain Name with Google Domains
- Codecademy web practice
- Bootstrap
- JavaScript
4:30pm
- Confirm Unity setup for tomorrow.
- Install Unity - personal edition
- Protip: bring a mouse!
5pm
- At home: see web manual and sample code and sample page
- Mozilla HTML Reference
Wednesday - Video Games
1pm
- Unity Game Engine interface overview
- Run a sample project
1:30pm
- Start Unity Pong tutorial
3pm
- Break / Game
3:15pm
- More Unity Pong
4:30pm
- If time:
- Review with Unity’s Interactive Tutorials
5pm
- Homework:
- Finish Unity Pong
- Pick a tutorial/project for Friday
- Reminder to students: bring headphones 🎧 for Friday tutorials
Thursday - Project Day
1pm
- Review what we’ve done so far
- Mobile, Web, Games, Hardware
- Pick a project:
- Mobile
- Web
- Game
- Other
- MIT Scratch - tutorials from Scratch Programming Playground
- Sonic Pi, make music like Aerodynamic with code
- Coderbyte algorithm challenges
Note: most projects here will take longer than 4 hours to complete. That’s OK! Our goal during project day is to help you get started on something significant that you can continue working on after the Week of Code.
2pm
- Work time
3pm
- Break / Game
3:15pm
- Work time
4:15pm
- Show and Tell
- Show us one thing you made this week
- Tell us one interesting thing you learned
- What’s one thing you want to create next?
- Recap
- Next steps for learning
- Online resources: Code.org, Codecademy, Udacity
- Awesome Inc Fall/Spring weekly classes:
- Beginner: register for Coding Club
- Intermediate: register for Coding League
- Advanced: apply for The Academy