Is there guidance for working exclusively with code, not blocks?

I want to use this course in grade 11, and I don’t want to teach with blocks. Is there guidance for working with code exclusively?

What sort of guidance are you thinking of? If I want to only use code, I just close the toolbox and click the button to make the code text.

Is it a requirement for the students that they don’t use blocks?

depends on what you plan on using… for gamelab it shouldn’t be too hard most of the stuff can be found in the library, applab is a bit different… if you want to look through there GitHub I’d be more than happy to point you in the right direction Link: you can look through here if you want to learn anything that is not implemented directly within the block system of there hope this helps

If you want to work with code I would recommend looking at You can create a teacher account and form a team to include your students. There are tools available to give assignments out and for students to submit them. You can also teach any one of numerous languages. That includes Python 3, which is what I would recommend if you are not going to use blocks.

Trying to teach Javascript using App Lab isn’t going to go well because the interpreter is many versions out of date. It also has a few bugs here and there. It also isn’t really Javascript. So don’t do that.

Thank you for all the comments.

Don, your comments are exactly what I was feeling. It’s not real Javascript. And the tool was obviously written for blocks. I find it very awkward to use for text.

I’m planning to use the Discovery course with blocks for grade 10 and the AP A course with text Java for grade 12. I’m not sure what to do for grade 11. Python would definitely be my preference. My board is uber-cautious about us using online tools. somehow got clearance.

Thanks again

Hi @mark.matchen,

I can certainly appreciate wanting to use text-based coding as it is more “real” than block-based coding. However, I would ask you to think about the following before locking to a purely text-based environment:

  • Block-based coding helps new-to-CS students gain the basic logic skills to think through the “how” of a program without worrying so much about nuts and bolts. For example, there are no misplaced semicolons to break their code, so students can focus on the programming practices you’re teaching. This helps students build confidence and skills they will need when working with JavaScript, Python, or other programming languages later.
  • Are you intending to teach JavaScript or general best practices for CS? If your goal is to teach JavaScript specifically, I completely understand just using text. If it’s about practices, I would look at blocks as a different dialect of the language (even if it’s one not widely used outside of this environment, it was intentionally designed for those just learning to code for the first time).

Again, I’m not trying to dissuade you from teaching in a purely text-based environment, but rather presenting a different perspective to think through before making a decision.

–Michael K.

I appreciate that, Michael. In Ontario, there is no grade 9 CS course. I intend to use the Discovery course for grade 10 – these will all be new to coding, so blocks is appropriate. And I’m going to use the AP course for grade 12, teaching Java with text.

My problem is that the grade 10 course is not a prerequisite for the grade 11. So half of my 11s will be new and half won’t. My first thought about the Principles course was, great: Same progression, but the newcomers can use blocks and the experienced ones can use text. But as I look at it, I’m not sure working in text will be convenient. It feels like it was designed for blocks.

So, I’d love to hear your comment on that: is it realistic for students who’ve already done Discovery or another coding course to work through the whole Principles course in text?

1 Like

Thanks for the thoughtful response. I would say that it depends on the student. Some will be up for (and even want) the extra challenge of working in text mode, while others will be better served by using the blocks.

The way I would do it (not to say that anyone else should do the same) is to present both methods to the students and show them how to toggle between both of them. I would even show them how you could drag a block into a text field and have the corresponding text show up. This differentiation keeps the content appropriately challenging for all learners and ensures that they all make personal progress between the start and end of the course (rather than everyone reaching for the same finish line, which is inherently inequitable as they all have different starting points).

I’ve heard from teachers who had some students start the year with block coding and finish the year as the best text-based coders in the room (including the teacher).

I invite other posters in the community to weigh in on this.

–Michael K.

I would say that App Lab and Game Lab are really the best for an introduction class. It doesn’t take long to get started writing code that moves stuff around. The documented statements and functions work without bugs. While that is a small subset of the language it is enough to put together some nice things. Students can work in both blocks and text.

For an advanced class, I like Python3 on It also seems to be bug free. I find it inexcusable to use a language with bugs in k-12. I also really hate it when there is no auto-save. The biggest issue with seems to be that it can be used to get around school firewalls. You will need to have the class white listed to use it.