Find us on Facebook

Learn

Environment

Camp Fitch Computer Camp instruction takes place in a clean, air-conditioned facility with well-maintained equipment and leading-edge software tools. We maintain a reasonably quiet, casual, comfortable, social, and open learning environment. We utilize various methods of instruction including pair-programming, teaching-by-example, visually with whiteboards and paper, and by self-paced books. We strive to match a camper with a learning method most effective for them, adapting as needed.

As part of YMCA Camp Fitch Summer Camp, campers sleep in outdoor cabents near indoor restrooms with hot-showers, eat in modern dining facilities, and participate in typical summer camp activities with traditional summer camp campers of similar age. We encourage campers to be active and to enjoy the fantastic outdoor opportunities Camp Fitch provides!

We proudly maintain an unusually low camper-to-counselor ratio of 2-to-1; pairs of campers have the otherwise undivided attention of a skilled, educated, and experienced counselor. Our staff are fun and friendly. Our typical counselor has been a camper for at least three years, has been a counselor for five years, is in, has completed, or has training equivalent to a college degree in the field of computing, and is professionally employed in their field of instruction. Our staff members are passionate about technology and absolutely love being part of Camp Fitch Computer Camp every year.

Our approaches

We have two different approaches to instruction: a standard course progression and an individualized program.

With both approaches, we continually evaluate a camper's progress and satisfaction, so that if needed we can make changes to their course work to maximize their success. We find this flexibility strengthens the educational value of camp while keeping campers engaged and having fun.

Standard course progression

For campers without particular interests, we assess their current knowledge and experience so we may fit them in to our traditional course progression. Campers without any previous programming experience are usually placed in an introductory Python course. Second year or second week campers or campers with light programming experience are placed in an Intermediate Python course. Third year or campers with significant programming experience are usually included in a team of campers creating a game in Java

Individualized program

In our individualized program, we work with the campers and the parents to build a customized course catered to the strengths, weaknesses, schooling, and career aspirations.

Courses

General purpose programming

Introduction Intermediate Advanced Specialized
Python, Java, JavaScript, C#, C++, PHP
  • Simple IO
  • Variables
  • Conditionals
  • Loops
  • Arithmetic
  • Arrays
  • Classes
  • Methods
  • 2D Graphics
  • GUI
  • Network IO
  • File IO
  • Concurrency
  • Database

Web design

Introduction Intermediate Advanced Specialized
HTML CSS Javascript PHP and SQL
  • Syntax
  • Semantic markup
  • Syntax
  • Selectors
  • Positioning
  • Event handlers
  • JQuery
  • Validation
  • Forms
  • Database Design
  • CRUD

3D Graphics

Introduction Intermediate Advanced Specialized
Modeling Texturing Animation Animation
  • Primitives
  • Lighting
  • Extrusion
  • Boolean
  • UV Mapping
  • Key-framing
  • Rigging
  • Camera
  • Physics simulation

Special Programs

Turtle Graphics in Python

Turtle is a great first introduction to computer programming. It provides a way to visualize the instructions that campers can enter to make the computer do something. By telling the turtle to go forward, turn left, go backwards, and more, campers quickly learn that you must "say what you mean and mean what you say" when writing computer instructions. After mastering basic commands, campers can then start to apply logic structures to make the Turtle behave in repeatable experiments. Loops, conditions, routines, all of these can be taught and learned with ease.

We teach Turtle using the Python scripting language. Python works on all platforms (Windows, Mac, Linux, etc) and is freely available online. The Turtle package (also free) works the same across these platforms, so carrying code from one machine to another is simple. Python is also very easy to read for beginners, making it an ideal starting language. Python has all kinds of uses in the world, from small scripts to personal web applications to large commercial products. The applications are endless, and it all starts with the essential skills we teach at camp.

Embedded-computing autonomous Robot

Beginner campers can start out learning programing by controlling an Arduino or Raspberry Pi powered robot.

These easy-to-use embeded computing boards can be connected to computer over USB or Ethernet ans be programmed using many popular programming languages. Their versitility, ease-of-use, and low cost have lead to a revolution in hobbyist embedded programming.

Campers will learn the basics of computer programming while solving problems interacting with the physical world around them.

Game creation in Unity

Learn how to create a game in Unity!

Unity is a 3D game environment incorporating all aspects of game creation in a single environment.

Team-based Game creation in Java

Our most experienced campers typically work in a small group creating a 2D game in Java. We work with campers to establish roles in the development of the game. These roles often include:

  • Simple AI for intermediate skill levels
  • Game-logic engines for more mathematical backgrounds
  • Graphics engine for advanced experience or GUI design aspirations
  • Graphic design, modeling, and texturing for creative folk

Campers play a critical part during the inception of the project. They are the primary contributors to brainstorming sessions, game-design, and the game's evolution through project completion. Instructors teach relevant material necessary for progress and guide campers through challenging problem solving and critical thinking processes.

Due to the intense nature of these these projects, we strongly encourage campers that wish to participate in this program stay for two weeks and have at least two years of previous programming experience.

Computer Leader

The Computer Leader Program is designed for 16 year olds with an interest in becoming computer camp counselors. Prior experience as a computer camper is required. Selection into the program requires the approval of a computer camp director. This program has been our primary method for adding new computer camp counselors.

The program is a two week program. During the first week, the Computer Leader camper will be part of Camp Fitch's CIT program, where they learn methods for leading younger campers, the history and culture of Camp Fitch, and participate in team building activities with their peers. During the second week of the program, the Computer Leader camper will work in the computer center, and he/she will be given responsibilities that allow them to instruct younger campers under the oversight of one our counselors.

Skills

Campers don't just learn how to write software code or learn about computer hardware. We also focus our instruction advancing skills and gaining experience working in teams, solving problems, and thinking critically.

Teamwork plays an important part in many of the projects our campers work on. They hone their communication skills while building trust and working together. Teams work together building on each-other's strengths and weaknesses while maintaining productivity.

All of the disciplines we teach involve problem solving. Problem solving strategies and techniques are an enormous value and are difficult to acquire in most schools. We encourage campers to work through their problems; breaking them down into smaller more manageable peaces. The problem-solving skills campers acquire at computer camp can be applied not only to their computational endeavours but also their school-work and their careers.

Campers learn how to identify and utilize empirical evidence while working on their projects. We teach them how to spot hidden clues and how to use those clues to solve problems.

Project Showcase

Super Shooter

Game creation in Unity - 2010/2011; 2013

Super Shooter One camper took three weeks to develop this first-person shooter.
  • Scene creation
  • Modeling
  • Scripting
After a year break the project was resurrected and the team grew to two campers. Over the course of one week a campaign started.
  • Debugging
  • Level design

Journey of the Hair

Team-based Game creation in Java - 2012

Journey of the Hairs Eight campers took one week to develop this side-scroller.
  • Graphics engine team
    • Learned painting optimization, user-interface design, and event handling
    • Written by first year campers, intermediate experience
  • Game-logic engine developer
    • Learned arrays and complex logic
    • Written by a third-year camper with intermediate experience
  • NPC team
    • Learned object-oriented programming and simple control structures
    • Written by first-year campers with coming in with little experience
  • Graphics team
    • Learned modeling, texturing, and 3D workflow
    • Created by second- and third-year campers with intermediate to advanced experience

Java-in-a-netty-boo

Team-based Game creation in Java - 2007

Java in a Netty Boo Five campers took three weeks to develop this interactive network game.
  • Graphics engine developer
    • Learned painting optimization, user-interface design, and event handling
    • Written by a second-year camper with advanced experience
  • Network engine developer
    • Learned networking and complex logic
    • Written by a second-year camper with advanced experience
  • Ball behaviour team
    • Learned object-oriented programming and simple control structures
    • Written by first year campers coming in with little experience

Matching Madness

Team-based Game creation in Java - 2004

Matching Madness Five campers took three weeks to develop this PopCap Bejeweled clone involving fruit.
  • Graphics engine developer
    • Learned painting optimization, user-interface design, and event handling
    • Written by a second-year camper with advanced experience
  • Game logic developer
    • Learned arrays, object orientation, and complex logic
    • Written by a first-year camper with intermediate experience
  • Special-piece team
    • Learned object-oriented programming, simple control structures
    • Written by first year campers coming in with little experience

Post-Camp

Campers are encouraged to develop and practice their skills throughout the year. Book recommendations are available, and we publish newsletters and provide inspiration on our Facebook page throughout the year.

Many projects are created in public source control such as Git Hub. Not only do campers learn valuable skills working in source control but campers can also continue working on their projects together after they have left camp.