An inspiring and rigorous year-long introduction to computer science with Swift for high-school students and teachers

This course features live instruction in an online classroom environment including opportunities for international and cultural exposure and interactions. We provide daily individualized feedback, grading, assessments and discussions to keep students engaged and learning the principals of computer science and good programming practices.

This course is for you, if:

  • You have little or no prior experience in computer science or programming.
  • You are interested in learning the fundamentals of computer science, programming, algorithms and data structures in a fun and engaging environment with ~20 other high-school students around the world.
  • You are ready to invest in your skills by reading, watching videos and working on programming projects outside of regularly scheduled class periods, and welcome regular feedback through graded assignments and online help sessions.
  • You are ready to learn to code in Swift, a modern programming language created by Apple and used for developing iOS applications.
  • You are eager to work with experienced, award-winning instructors, who have taught thousands of university students computer science.
  • You are looking for a leg-up on your studies by learning effective problem solving and design strategies, creative and logical thinking, and optimization of your learning.
  • You are fascinated with the prospect of our world’s digital future and excited to become an active creator of that future.
  • You own an iPad.

Course Syllabus:

This course requires no previous experience and builds quickly. If you are willing to put in the time and effort, you can consider yourself a young computer scientist at the end of the seven levels of “Computer Science with Swift” course.

Each 6-week section will build on the previous levels, introducing new computer science topics while practicing and developing skills from previous levels.

  • Red (6-weeks): Algorithms, Types, Variables, Functions, For-Loops, Errors, Control Flow, Debugging, Ethics ($180)
  • Orange (6-weeks): Parameters, Operators, Loops, Working with Strings, Composition, Robotics ($180)
  • Yellow (6-weeks): Machine Architecture, Data representation, Arrays, Multi-dimensional Data Structure, Sound Representation, Imaging, Genetic Algorithms ($180)
  • Green (6-weeks): Color Representation, Object-Oriented Programming, Structs, Properties, Methods, Initializers, Recursion, Value/Reference Semantics ($180)
  • Blue (6-weeks): Classes, Inheritance, Structs, Searching, Sorting, Polymorphism, Access-Control, Machine Learning, Static/Instance Variables and Methods ($180)
  • Indigo (6-weeks): User Interfaces, Recursive Searching and Sorting, Stacks, Queues, Linked Lists, Trees, Algorithmic Complexity, Model-View-Controller Architecture, Artificial Intelligence ($180)
  • Violet (6-weeks): Networking, Parallel Processing, Generics, Protocols, Closures, Large-Project Architecture, Human-Computer Interaction ($180)

This is a challenging year-long curriculum. The content covered in this course is typically covered in two college semesters. We are here to help, but if your schedule doesn’t currently allow for this workload, consider signing up for a future session if/when your schedule allows.

Sample Weekly Schedule:

This is a rigorous high-school academic course. In general, expect to spend one hour per day (6-days a week) on readings, programming practice sets, and projects, in addition to the three 45-minute online meetings per week.

  • Daily – 30 minutes of introductory reading or video
  • Daily – 20 minutes of programming practice sets
  • M, W, F – 45 minutes of online lecture time. Meet with instructor and classmates to 1) review and discuss readings and videos, 2) work together on more challenging problems, 3) discuss CS topics and current events
  • Weekly – (~1.5 hours) Work on larger-scale weekly programming project
  • Weekly – 30 minutes, weekly assessment
  • Optional Weekly Instructor Help Sessions to get help with assignments
  • At the end of every 6-week level – 1 hour cumulative assessment

Example Course Projects:

This course includes material that is broader than typical app-building courses including computational theory, data structures, algorithmic analysis and recursive thinking, and will serve as a launchpad to future areas of study.

During the course you will be assigned a variety of interesting projects in which you will use the computer science concepts you have learned to explore, analyze and present information from a diverse set of sources. The projects include:

  • Build a social-media application
  • Work with interesting datasets like: film, census, food, politics, trivia, humor, weather, government, music, news, health & nutrition, NASA
  • Develop your own Instagram-like image filters
  • Create word games, solve mazes
  • Generate algorithmic art and music
  • Build augmented reality applications
  • Map information

Our next session of the Red Level (intro level) will be starting later this fall.

Contact us for registration information and deadlines!