Foundations of Programming
- Grades 7-11
- Computer Science and Technology
This course explores methods of computer programming—the algorithmic aspects of computer science and the theoretical constructs common to all high-level programming languages. You and your classmates will study the syntax and basic commands of a programming language such as Java, C, C++, or Python and, building upon this knowledge, move on to study additional concepts of programming, such as object-oriented programming or graphical user interfaces. By solving a variety of challenging problems, you will learn to work through the steps of writing a program: defining a problem and its desired solution, outlining an approach, encoding the algorithm, and debugging the code. Through a combination of individual and group work, you’ll complete supplemental problems, lab exercises, and various programming projects to reinforce concepts learned in class. By the end of the course, you’ll be familiar with standards of software development practiced in the professional world, and understand how to apply techniques to other high-level programming languages.
Note: The specific programming language used is based on the instructor’s preference.
Typical Class Size: 18-20
- Craft algorithms to solve problems
- Develop algorithms using recursive and modular design principles
- Generate code to solve a problem ranging from modest to compound and sometimes intricate
- Test and debug programs to demonstrate working or non-working codes
- Create programs that contain strong and succinct program documentation
- Implement and test programs using data types
- Formulate control structures correctly into algorithms
- Test structural design by implementing programs with functions that include parameter passing and value returning
- Formulate and test programs using classes with strings and files
- Construct algorithms using indexed data structures
- Construct and test algorithm sorting by desk-checking and modifying implementations
Summer Dates & Locations
Testing and Prerequisites
|Required Level||CTY-Level||Not required|
Students must achieve qualifying scores on an advanced assessment to be eligible for CTY programs. If you don’t have qualifying scores, you have several different testing options. We’ll help you find the right option for your situation.Sign up for Testing Learn More
Cost and Financial Aid
- Nonrefundable Application Fee - $50 (Waived for financial aid applicants)
- Nonrefundable International Fee - $250 (outside US only)
Financial Aid is available
We are committed to serving all talented youth regardless of financial circumstances. Financial assistance is available based on need.
Please acquire all course materials by the course start date, unless noted as perishable. Items marked as “perishable” should not be acquired until the student needs them in the course. If you have questions about these materials or difficulty locating them, please contact [email protected].
Course Extras (Lab fee info, etc): Lab fee: $145
About Computer Science and Technology at CTY
Build robots, conquer the world!
Introduction to Robotics is perfect for students who want to learn introductory-level programming and apply what they’ve learned through real-life engineering projects. You can even test your coding and design skills by having your robot complete obstacle courses and other challenges.
You’ve learned to code—now what?
Data Structures and Algorithms is for students who have some proficiency at programming and are looking to take their abilities to the next level. By diving deep into how computers organize and store data, you will learn to design and utilize algorithms with peak efficiency.