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.
- “William Chapman is an amazing professor. When you are in class you get a sense that he truly cares for his students and loves teaching which is unfortunately lost among some professors. The work is hard at times, but at the end of the class you feel like you have truly learned a lot about computer science.”
- “Great professor for the first CS class most students take. Enthusiastic, approachable, and dedicated to presenting the material well.”
- “Amazing professor. Looked forward to all lectures. He is super nice and very passionate about teaching.”
- “Excellent professor. Is crystal clear and knows the material well.”
- “Great professor for an intro class, and made it very easy to understand the concepts presented in class. He always explained things really well and did a fantastic job explaining difficult topics when students were confused.“
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
Student Reviews:
- “William Chapman is an amazing professor. When you are in class you get a sense that he truly cares for his students and loves teaching which is unfortunately lost among some professors. The work is hard at times, but at the end of the class you feel like you have truly learned a lot about computer science.”
- “Great professor for the first CS class most students take. Enthusiastic, approachable, and dedicated to presenting the material well.”
- “Amazing professor. Looked forward to all lectures. He is super nice and very passionate about teaching.”
- “Excellent professor. Is crystal clear and knows the material well.”
- “Great professor for an intro class, and made it very easy to understand the concepts presented in class. He always explained things really well and did a fantastic job explaining difficult topics when students were confused.“
Our next session of the Red Level (intro level) will be starting later this fall.
Contact us for registration information and deadlines!