Question: I'm serving as a tech lead for a student group's charity project. We're building a website which puts a bunch of homelessness resources in one place. There are two goals to the project: create a useful website, and let students learn as they build it.

The group is comprised of all levels of college CS student. Most have never done web dev or worked with any of the associated technologies. People get uneasy when I mention using a JS framework.

I want to make sure they get out of it what they came in for -- which by all reports is learning -- but I'd prefer that they enjoy it and don't quit (which would be totally fair, cause they are volunteering their time). 

The group has been asking why we should use a framework. I say 

* testing
* reusability
* dealing with state

They feel that learning multiple things at once could be bad, and that this would be overkill. Honestly, I'm not sure if it would be overkill. It could be. But learning vanilla JS is certainly less valuable than learning React.

Am I being dense? More importantly, would the project better reach it's goals by using a framework, or not?

Answer: 
I believe that *after* getting to know html and css, starting with Vanilla JS or with a framework are both the same thing to a new student that knows nothing, he'll be learning new things from the beginning so if you think learning a framework is more valuable than starting with Vanilla JS then go ahead start with a framework.

When it comes for professional working, most of the jobs require working with frameworks.

Now some people will ask "but how do you want to teach them a framework without giving them the basics of JavaScript?". That's a wrong question. Again, to a new student they both aren't related. Vanilla JS is *not* considered the basics of a framework, the basics is JS yes but why not learn JS *through* the framework. PS that's how i learned about the new ES features, started with react native directly.
I will first let them be familiar with the web developer roadmap here <https://github.com/kamranahmedse/developer-roadmap>. They may feel overwhelmed by the information list there. But for college CS students I think it is important to know what it takes to be a qualified web developer.

I will also suggest them to check 2020 js survey <https://2020.stateofjs.com/en-US/>, this survey has done for 4 years I guess. So they can have a sense of the latest development of js.

About the question why we should use a framework I will let them check <http://todomvc.com/>. it is a very interesting web and project to compare/show how to use all different kinds of frameworks and just vanilla js to build a todo web app. So they can have a sense of what framework can do for us. If they have never done web dev before they may feel overwhelmed again. Besides, some frameworks there have "died" so I may just try react/vue/jquery/es6.

A point here is (except for compare the frameworks) there many ways to do web developments, no right or wrong way but for the beginners we can choose a way with flat (relative) learning curve. I sometime advice my friends not to use angular because learning ts and the framework at the same time is too hard for beginners (using your students' word "learning multiple things at once could be bad") but learning js with jquery (or anything to manipulate dom) is probably necessary for web development.

BTW, if they just want to learn js they may try nodejs. But learning nodejs is another big topic.