Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Superfluous examples #504

Open
rgaiacs opened this issue Jan 28, 2017 · 5 comments
Open

Superfluous examples #504

rgaiacs opened this issue Jan 28, 2017 · 5 comments

Comments

@rgaiacs
Copy link
Contributor

@rgaiacs rgaiacs commented Jan 28, 2017

Copy of carpentries/workshop-template#377. @sfortney said

Main suggestion: do away with the "--help" log window example in Navigating Files and Directories of the Unix lesson. It is unnecessary and bulky in the lesson plan.

I feel that the Bash/Unix lesson takes too much time setting up with how the program works and not enough time getting into how the program would benefit those with research.

An instructor can easily get bogged down trying to teach a learner the ins and outs of each and every line of code and never get to the heart of the lesson.

@shwina
Copy link
Member

@shwina shwina commented Jan 30, 2017

Thanks @sfortney for the feedback.

  1. Would "ellipsising" long outputs like this be a reasonable solution?
ls -- help

Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE   
.
.
.


GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/ls>
or available locally via: info '(coreutils) ls invocation'

I feel that the Bash/Unix lesson takes too much time setting up with how the program works and not enough time getting into how the program would benefit those with research.

Could you please elaborate a bit more about this? What would you like to see removed, and what would you like to see added?

@sfortney
Copy link

@sfortney sfortney commented Jan 31, 2017

Appreciate the response!

  1. I do believe that condensing down the outputs would help. My initial thought is that I don't believe it is even necessary to have examples of the code output in the documentation, but I understand that it is for the instructors benefit, especially if they are first time instructors of the lesson. My reasoning behind not needing the code output is that all of the code is worked through with the attendees with hands-on coding anyway.
    But, end thought on this: leave the code in but condense like you suggest.

  2. I feel that Software Carpentry's mission statement is to show faculty and grad students, or people in research studies, in general, how to utilize programs for the benefit of their work, research, and study. I feel that the Unix Shell lessons spend too much time on the early commands of Unix and not going into how the program will benefit the attendees.

    It is one thing to show someone a program with all of its bells and whistles and another thing to show someone how those bells and whistles make sounds. Commands such as ls, pwd, mkdir, and cd, to name a few, are all commands that can be brought up through a lesson and explained as you go, when necessary, but I don't think they need to be gone over in length.

@shwina
Copy link
Member

@shwina shwina commented Feb 1, 2017

Thanks.

I agree: in my experience, most of the time is spent on navigating and making changes to the filesystem. Usually, I'm left with an hour (if I'm lucky!) to cover pipes, loops, scripts and find/grep. I'm usually able to cover pipes and loops in this time, and sometimes I'll throw in a quick example of a shell script. I almost can never say anything about find/grep.

I also find that this is adequate. Most users are really excited about the shell at this point, and are comfortable enough with the shell to go back and look at the sections that weren't covered. My theory is that the time investment is really worth it.

I'd like to hear some other perspectives from those that have taught the shell lesson. A lesson re-write that focuses less on filesystem basics and more on shell tools definitely sounds interesting.

@GregoryRHart
Copy link

@GregoryRHart GregoryRHart commented Mar 22, 2017

I think that creating a branch and trying out a re-write of the lesson would be a valuable. Certainly the power of the shell is not in file system basics. The one time a taught we hardly had any time for loops, scripts, and find/grep. My fear with a lesson focused on the tools is that if people have no prior experience with the shell they might not pick up the basics quick enough. This would lend to a lot of frustration during or later when trying to use what they learned.

If a tools focused lesson was written well enough I think it would be better, but the only way to tell is to try it.

I can add the ellipsising if that is decided.

@gcapes
Copy link
Contributor

@gcapes gcapes commented Oct 23, 2017

I'd also be very interested to see this idea fleshed out a bit. Showing loops and script is great, but the learner should be comfortable navigating the filesystem first. So I don't think you can skip those fundamental bits of the lesson, or even pare them down that much.

Just in case you weren't aware, there an 'advanced shell' lesson that isn't quite finished: http://swcarpentry.github.io/shell-extras/

It might be worth considering if any of that material should be included in this idea?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.