To answser the question of whether or not programming knowledge is required to use C2. You have first to define what programming is.
If, to you programming is the sum of some obscure syntax and some mathematical formula. I'd say you've got a narrow view of it.
If you define programming as "a way to tell the computer what to do", then everything you do in your event sheet, is actually, a form of programming.
In my opinion (and that's only mine), I don't think that "no programming knowledge required" is really true. I would rather say "no scripting knowledge required" and also "a really fast programming learning curve".
Because using Construct2, you have under the hood some boilerplate code in the form of the C2 engine itself, some plugins and behaviors that allows you to directly start with the most interesting part: making things move on screen using some inputs.
Using Construct2, you can just (almost) ignore everything, and get started.
And because you can directly see results, you learn some programming concepts very fast. Those who learnt programming the hard way had to write awefully boring programs with assignements like:
"write an isLeapYear function to find if a year is a leap year" or "model a shopping cart" or "write a sorting function to sort numbers in an array" etc.
Some find that interesting (and I did), but seriously... Learning programming while making your own game is so much more motivating.
So in conclusion, to me, C2 is programming made accessible for every beginners.