Introduction to Programming

Create approachable and engaging computing experiences for novice programmers

Adopt WeTeach_CS for HS

Whether you are a beginning CS teacher or an experienced veteran, WeTeach_CS for HS provides all the instruction, materials, and support you need to teach a first year CS course. Full scholarships are available!

Designed with teachers in mind, WeTeach_CS for HS offers professional development led by course developers including a two day summer workshop plus six follow up seminars during the year.

We provide a suggested sequence to guide new CS teachers through the year, progressing from Scratch through Jeroo to Java - and our modules are flexible enough for experienced teachers to modify them for their classroom.

Mix and Match Codio's Free Content Resources

Codio has a number of free curricular resources that you can mix-and-match to fit your course. Our resources feature interactive content with auto-graders that offer instant feedback to both your students and you!

All our resources are fully editable - allowing you to not only re-order assignments but hop in and change absolutely every aspect of the content.

Have a project you love? Author your own content in Codio and turn your favorite assignments into interactive, auto-graded learning experiences.

Go from Blocks to Text without Leaving Codio

Gently introduce programming with block-based or visual programming such as Scratch, Blockly, or our executable flowcharting tool, Flode. Without leaving Codio -- or even the assignment -- students can be scaffolded into a text-based language.

Our Computational Maze Game resource (in Python and JavaScript) is a good example of how to do this within a single assignment.

If you prefer a sharper transition, students can seamlessly go from a block-based assignment and then open a text-based assignment -- without leaving the comfort of Codio.

Introduction to CS

Whether you are teaching Java, Python, or C++, we have introductory computer science resources for you!

Instead of more passive instructional methods, Codio's native CS resources encourage students to construct knowledge through coding. Our code editor accompanies each guidance page so students can easily try out code.

As all questions are auto-graded, students receive immediate, rich feedback -- giving both you and your students a sense of their understanding.

Content is presented in smaller units that are more manageable for students. The same vocabulary and concepts are covered, but in a more approachable way — by stating things as plainly as possible, and, when appropriate, using images, tables, or lists.

No content is a one-size-fits-all solution.  We include natural breakpoints in the curriculum where you can make changes. Using Codio’s content authoring tools, you can author and insert new material. This approach gives you the flexibility to design the learner experience best for your students.



Graphical Output

With a full virtual desktop, all traditional graphical libraries such as PyGame, Tkinter, Swing, and JavaFX work seamlessly in Codio. For example, Codio’s Resources include Turtle graphics which students love!  Turtle graphics allow students to take code, which is inherently abstract, and translate it to something more concrete and immediate.

Our platform also supports easily previewing websites within the same browser tab -- see your HTML/CSS/JS side-by-side with a preview of the site.


Research-based Tools

Codio integrates best practices from research into our Resources and our Authoring toolkit. Python Tutor is integrated as Code Visualizer which allows students to see “under the hood” of their code. Previous research has shown that students who interacted more with an earlier version of Python Tutor outside of class had statistically significant higher midterm exam grades. Additionally, use of the visualizer outside of class was correlated with the students’ performance on the three unannounced quizzes. The visualizer also works with our Java and C++ resources.

Parsons problems, which ask students to unscramble lines of code, can be quickly created with our graphical parsons creator. Parsons problems take “significantly less time  than fixing code with errors or than writing the equivalent code... there was no statistically significant difference in the learning performance, or in student retention of the knowledge one week later” (Ericson, et al., 2017).

Remote Feedback Toolkit

We’ve developed and launched tools like Code Playback, In-Line Code Commenting, and Cursor Presence to make it easier to teach remotely—whether you’re working with students synchronously or asynchronously.

Code playback allows you to watch the process a student went through to develop the code they submitted. Codio allows you to quickly replay a student's key-stroke level changes so you can see how they've arrived at their finished product. Students can use Code Playback as rudimentary version control.

In-Line Code comments let you offer feedback directly in the context of the code. Simply select one or more lines of code and click the + sign that appears to the left of the line number in our IDE. Students can reply to comments to ask for clarity or resolve them as they address concerns. All of the comment history is stored so teams of TAs can see what students have already been told.

Cursor Presence allows you or student groups to work live inside the same Codio project. Similar to GoogleDocs, students see the icons of other users in the top-right, can click them to find where their cursors are in the code, and watch them type or highlight in real time.

Bring Kids into the Modern World

Sylvester Mobley
Coded by Kids

"Some older kids see it as: ‘this could take me somewhere’. The younger kids don’t yet see it in career terms. But that’s fine, it’s about immersing them in technology; immersing them in innovation. Seeing tech become second nature: using Git, the command line. That’s when I know we’re having an impact in bringing kids into the modern world."

Ready to get started?

Explore Codio's Resource Catalogue to find the right course materials for your introductory programming class!