syllabus icon indicating copy to clipboard operation
syllabus copied to clipboard

Teach Terminal/Command Line Earlier In The Course

Open ChrisOwen101 opened this issue 5 years ago • 5 comments

Which module(s) and week(s) does this change effect? Module(s): React + 1 Other Week(s): n/a

What is the work that needs to be done?

Our students currently do not learn Terminal or Command Line properly until they reach the React course. We should find some time earlier than React in the syllabus to teach command line.

This lesson should cover enough that they can use React (and the common tasks associated with React) through the Terminal.

Areas to consider:

  • How to open a terminal
  • How to navigate through a folder structure
  • The structure of a command in the terminal.
  • How to run a command in the terminal other areas are left up to the creator to consider

This would should include

  • Learning Objectives
  • A piece of content to be taught in a lesson that includes in-class exercises
  • Some homework for the students to do surrounding Terminal and Command Line

Why is this work important to do?

The extra cognitive load of learning command line whilst doing React means that some students struggle more than they should with the module. By moving this earlier into the syllabus is gives us some more lead time to make sure students understand it.

Who might need to know about this change?

@40thieves

ChrisOwen101 avatar Jul 23 '20 16:07 ChrisOwen101

Thanks for starting the discussion @ChrisOwen101, it was on my list too.

How to navigate through a folder structure

I actually think this could be expanded to a more general concept of the "file tree metaphor". It is important for the terminal, but also when understanding other things that use the same metaphor. For example, import/require statements require knowledge of relative paths, and to some extent URLs too.

Our students currently do not learn Terminal or Command Line properly until they reach the React course

I think we should explicitly address the question of whether the terminal should be taught from the beginning of the class, as this is an extremely common suggestion from new volunteers IME. I personally am on the fence about it, so open to opinions.

40thieves avatar Jul 25 '20 10:07 40thieves

Something I just thought of too: React is also the first time that students would encounter a daemon (background) script. For performance (on slow laptops), we now explicitly teach them how to stop/start the CRA daemon. But I wonder if this would be helped by introducing the concept earlier. I am however struggling to think of a useful example of a daemon other than CRA.

40thieves avatar Jul 25 '20 12:07 40thieves

Something towards this -- suitable for HTML W3 coursework (prepping for JS1) ?

https://github.com/CodeYourFuture/CLI-Treasure-Hunt

@Dedekind561 @40thieves

SallyMcGrath avatar Jul 03 '21 19:07 SallyMcGrath

https://github.com/CodeYourFuture/syllabus/commit/6673da7554102f0b7e9f98998eb6943cd9919dcb

https://github.com/CodeYourFuture/CLI-Treasure-Hunt

As we are all super busy with the TDD conversion, I just threw this in to the syllabus as is. Please add a bunch of stuff to the linked repo when you have time.

SallyMcGrath avatar Jul 12 '21 19:07 SallyMcGrath

https://syllabus.codeyourfuture.io/git/terminal/homework

SallyMcGrath avatar Mar 16 '22 16:03 SallyMcGrath