We created Joy of Coding because we realized that many high school students wanted to, and were ready to, learn to code but many didn’t know where to start. At the University of Michigan, we’ve heard too many stories of students who tried learning coding by Googling lessons and watching YouTube videos and walked away from poorly designed curricula thinking that coding was too difficult and/or “wasn’t for them.” It’s true that coding is hard at times—especially in the beginning—but it’s also too important a skill for a STEM-aspirant student to give up because of a badly made YouTube video.
Intro to Coding & Computational Thinking
Students with little or no knowledge of coding will need to complete the application form for Intro to Coding & Computational Thinking course. After the application form is submitted, an online screening module will be e-mailed to the student to complete at their own pace. The online screening module is to ensure that they are the level at which the course is offered. On average, we anticipate that the module will take a student between 60-90 minutes to complete. The end of the module contains a link to the payment page. After paying for the course, the student is registered!
If an applicant does not successfully complete the module, that’s ok – they can consider the program next summer! They will be ready for the course once they have completed high school algebra and have knowledge of function notation. We know and believe everyone can learn to code and to have fun doing it!
Intro to Data Visualization & AI
Students who have completed one of the prerequisites – our Intro to Coding & Computational Thinking course or AP Computer Science can complete the application form for our advanced Intro to Data Visualization & AI course, pay for the course, and get registered!
Intro to Training, Evaluating & Fine-tuning an AI
Students who have completed the prerequisite Intro to Data Visualization & AI course, can complete the application form for our advanced Intro to Training, Evaluating & Fine-tuning an AI course, pay for the course, and get registered!
Students who are younger than 18 years of age when applying must have their parent/guardian complete the application forms.
Students must be at least 13 years of age at the time of submitting their application forms. Federal law, including the Children’s Online Privacy Protection Act (“COPPA”), mandates that individuals must be at least 13 years of age to use online platforms such as those we use. This is to protect children’s privacy online.
Each course is $149 plus tax per student. This covers tuition, online instructional materials on the Pathbird platform, and coaching support.
The student is responsible for ensuring their own access to a computer or laptop with a reasonable-sized display and a functioning, full-sized keyboard. They will use this device to access and work through the online instructional materials on Pathbird, and to email and schedule coaching meetings via Zoom with the instructional staff.
Yes! We offer need-based financial aid for each course ($149 plus tax), covering tuition, online instructional materials on the Pathbird platform, and coaching support. Please apply using the specific course forms. Students are responsible for ensuring their own access to a desktop or laptop computer to access the course platform.
For the Intro to Coding & Computational Thinking course, instructions for applying to need-based financial aid are located on the payment page you will receive after you successfully complete the screening module.
For the rest of the courses, instructions for applying to need-based financial aid are included on each course’s application form.
Please visit the Courses page on our website, which provides an overview of each course.
Students with little or no knowledge of coding must first apply for the Intro to Coding & Computational Thinking course. They must then complete an online screening module that will determine if we believe a student is ready for the course. In general, we expect students to have completed high school algebra and have knowledge of function notation (for example, what do y = f(x) = cos(x), or, z = g(x,y) = cos(x) + sin(y), mean?). Students who successfully complete the screening module, can apply for the Intro to Coding & Computational Thinking course and pay the fee to register.
Students with AP Computer Science or prior coding background, including students who successfully complete the Intro to Coding & Computational Thinking course, can apply for the advanced Intro to Data Visualization & AI course, and pay the fee to register.
Students who successfully complete the Intro to Data Visualization & AI course can apply for the Intro to Training, Evaluating & Fine-tuning an AI course, and pay the fee to register.
Participants should also have the desire to learn, ask for help when needed (we all get stuck sometimes!), and dedicate 4-6 hours per week to each course.
Students must be at least 13 years of age at the time of submitting their application forms. Federal law, including the Children’s Online Privacy Protection Act (“COPPA”), mandates that individuals must be at least 13 years of age to use online platforms such as those we use. This is to protect children’s privacy online.
Yes. Students who are younger than 18 years old when applying must have their parent/guardian complete the application forms.
Students must be at least 13 years of age at the time of submitting their application forms. Federal law, including the Children’s Online Privacy Protection Act (“COPPA”), mandates that individuals must be at least 13 years of age to use online platforms such as those we use. This is to protect children’s privacy online.
Yes, they are completely online.
Students just need a modern Internet browser (ideally, Google Chrome or Microsoft Edge, with the latest updates), Internet connection, and a desktop or laptop computer with a reasonable-sized display and a functioning, full-sized keyboard. Everything (including the coding and lectures, interactive textbook, and coaching meetings) will be online.
Note: Apple Safari, Mozilla Firefox, Brave, and similar browsers may cause issues and are not recommended.
No, the assignments cannot be completed on a phone or tablet. Mobile phone and tablet screens will be too small to read the course content and code on the Pathbird platform. A desktop or laptop computer with a reasonable-sized display and a functioning full-sized keyboard is required to complete the assignments.
Each course is self-driven and asynchronous, so having a strong motivation to learn is important.
The courses use an interactive learning environment called a codex as the primary vehicle for student learning. The student works at their own pace through the codex and is led step-by-step from concepts to applications via a mix of written descriptions of concepts, short video explanations, and grading challenges.
Students are expected to complete one integrated module each week, typically consisting of a recorded lecture, a reading assignment, and a coding exercise. For example, Week 1 covers basic Python syntax and functions to help you build foundational skills. On average, this work will take about 4–6 hours per week.
How you schedule your time is flexible, but to stay on track, consider setting aside specific blocks of time each week for course work and aim to complete assignments a few days before the deadline to allow for questions. It is strongly encouraged to follow the weekly schedule recommended in the agenda (which will be provided once the course starts), rather than waiting until the assignment deadline, as this allows the staff to assist you promptly if you get stuck—which is likely as the material becomes more challenging.
We expect that the student will reach out to us via email or by scheduling a Zoom call with the coaches, whenever they are stuck or want to learn more – these as-needed conversations facilitate personalized learning in ways a video lecture just cannot.
Coding is best learned by doing, rather than watching someone else code! And asking questions as one is working on it. This course is designed to facilitate experiential learning and experimentation with the assurance that the teaching team is there for the student and available to help along every step of their learning journey.
Yes! This course welcomes anyone with the necessary algebra background—with or without coding experience—and offers valuable insights even for those familiar with programming. Students will apply computational thinking to real-world scenarios, such as building simple app features, and deepen their understanding of machine learning concepts like functions, conditionals, and loops.
Our goal is to jumpstart the students’ interest in coding by showing them how coding, math, logic combined enable the many apps they use and engage with daily. We approach this in a way that makes them see the inner workings and think “Wow! That’s all it takes to do all that?” and, “I can do this!”
We encourage students and families to consider their schedules carefully before enrolling. If you anticipate extended absences, it may be best to wait for a future session when you can fully participate. Although the course is self-paced, missing several consecutive weeks may stall a student’s momentum and tempt a student to try to catch up or rush through the material.
Students who have the best experience and learn the most in the courses approach their work in a few key ways. They begin the material as soon as they are able within the program window. Once they start, they consistently work through the material, focusing on learning at their own pace. They also reach out for help whenever they are stuck or wish to deepen their understanding, which further enhances their learning outcomes. Our instructional team is dedicated to helping every student succeed. They are available during regularly scheduled hours and support students throughout their learning journey. However, our ability to assist is limited to the program’s date range.
After applying for the Intro to Coding & Computational Thinking course, we will email instructions and a link to an online screen module for applicants to complete. In order to be further considered for the program, applicants must complete the module. The payment is at the end of the module. Once payment has been received, students are officially enrolled in the Intro to Coding & Computational Thinking course.
For the Intro to Data Visualization & AI course, students must first successfully complete the Intro to Coding & Computational Thinking course or have prior coding background such as AP Computer Science. Then, they can just fill out the Intro to Data Visualization & AI course application form and pay the fee to complete their enrollment!
For the Intro to Training, Evaluating & Fine-tuning an AI course, students must first successfully complete the Intro to Data Visualization & AI course. Then they can just fill out the Intro to Training, Evaluating & Fine-tuning an AI course application form and pay the fee to complete their enrollment!
We strongly recommend using a personal email address rather than a school email address (e.g., k12.us). School email addresses may block our messages due to privacy settings, which could prevent you from receiving important information before and during the course. Using a personal email address also ensures continued access to instructional emails after graduation.
Although these courses do not offer college credit, you will earn online certificate(s) of accomplishment from the Department of Electrical and Computer Engineering at the University of Michigan by completing the coding assignments and reflection activities. These not‑for‑credit certificates of accomplishment let you show colleges the skills you have learned and your ability to learn in a self-regulated manner. Students who complete our program also often excel in equivalent college coding courses, allowing them to engage with instructors more deeply and learn beyond the curriculum. We encourage Joy of Coding graduates to enter college ready to ask, “What more can I learn?”
All course modules are available on day one of the program window. We encourage thorough, thoughtful learning rather than rushed work.
You can log in anytime and work at your own pace; two-three hours a day, with a break when feeling stuck, is recommended for best learning. Overloading yourself defeats deep learning.
You can begin at any point during the program’s summer window to complete the modules, ideally before fall classes start at the University of Michigan. Our dedicated coaches are available daily for instructional support during the program window. After the program window, once the University of Michigan’s fall classes start, support is available but less frequent.
No. There is no project to submit at the end of the course. Each learning module includes an assignment to submit upon completion. You finish the course by submitting all assignments.
As the entire course, including assistance via email and scheduled Zoom sessions, is delivered online, participants may enroll from any country, with the exception of embargoed regions and sanctioned regions. All Joy of Coding materials are hosted online and can be accessed globally, provided there are no local restrictions—such as those imposed by Internet service providers, organizational firewalls, or security software—that prevent access to our websites. We have successfully supported students from a diverse range of countries and continents, including Europe, China, Kenya, Ethiopia, and India, without any reported difficulties.
$99 plus tax per student. This covers all costs beyond hardware students need (see above) to participate.