Though some High school kid with interest might grasp the parts he/she is interested in.
There is a big lap from there to "Could be taught in High School".
The sheer amount of work is the main obstacle in addition to the lack of specialization in the courses is one of the obstacles I think, apart from the obvious one which is the lack of foundational skills.
I found the way of counting the number of permutations useful.
The Hockey stick identity was something long forgotten and fun re-discovering.
The way they are generated not so much.
So, Sedgewick has an algorithm for generating permutations that are highly efficient, and ijust as difficult to grasp. But there is a paper out there where he explains the algorithm graphically, which makes it understandable.
So I haven't worked through the way to get the composition that is the n'th permutation yet, but I guess I will suffer.
It is not well written, and for instance the wrong term for partition, versus composition is made in the explanatory graphic at the top of the article.
Still, I think it was worth reading, I have made several programs utilizing permutations, and I might improve one or two of them after having read this, with some new knowledge.
Personally I'm totally sold on 'Vim' I have lsp through 'YouCompleteMe', which works great for C-languages, and I have Automatic update of tags with 'GutenTagsPlus', And I also use 'c-scope', 'Git' and 'Id-utils', and I have 'ulti-snips' which I probably use too little. So yeah, this and the GCC toolchain, is pretty much the ultimate for me, and I have tried a lot of Editors through the years.
Using ed interactively, so you can work out some complex operation step by step, is a valid point for using ed instead of sed. Sometimes however, awk is the correct solution. (Why sit and mess with it, if awk provides a straight forward solution.)
I have used that for years, but there are downsides to the approach as well.
So, you revisit a window, and you want to start from where you left, but now, you might maybe wade through 100's of commands before you get back to that point in time. There are fixes for this too of course, my point is, that it doesn't come without side effects, and that is maybe why it isn't set as default behaviour.
At least in a pre 'fzf/atuin/smenu' world.
I prefer smenu's history search, even if I consider myself a heavy fzf user.
I live well with your install.sh not beeing able to reckognize that I'm on Debian and have a slightly different layout than generic Linux. On the other hand, getting installations from outside repos into /usr/local/bin, isn't a bad choice over all.
Me not beeing used to using curl, I didn't realize that the dry run parameter to go at the end of install command. I guess most people who downloads from github gets that. A line or two on how you do a dry run, with the command line fully spelled out wouldn't hurt though.
Now that all the sour critique is out of the way, I want to repeat my thank you's, the comparative site was great, and so were the examples, and it came just in time!
I'm going to use this for small simple diagrams, and some views of ER models, I'm not into the call graph, or drawing 1000's of nodes thing at the moment, it will probably work well for that too.
My point is, that your graphs are actually simpler to define than using groff's pic macro package, or the stand-alone pic2graph utility.
My problem is that I drink too little, sometimes, I guess I could have "optimized", by taking an evening/night off, and relaxed with a drink. Some "itchiness" in the morning, can be a good thing too, as I remember from school.
Andrew Koenig, the author of this paper/book, is also co-author of Accellerated C++, which I can whole heartedly recommend. [Addison Wesley ISBN-10: 0-201-70353-X]
I switch the capslock and the control key, so that I have a fairly standard 101 XT key keyboard layout. I also "flip" the function keys, so that I have to press fn-f12 to increase the volume. I do that through keyboard pane of System Preferences. ctrl-F4 is then a goodie, that switches windows through the z-window buffer, independendt of the App. You can also mod your keyboard layouot through the cocoa text system, and then you all of suddenly have keys like ctrl-shift a and ctrl-E, ctrl-G (cancel) that works every where. I basically have emulated most of emacs in my modification of the cocoa text system, so that it works in every app that uses the cocoa text system. I have also bound up a lot of automator services to the free combinations of function/modifier keys. I am a happy user.
I don't know about critical thinking in general, or science, but you definetively need some math courses, in order to get the necessary problem solving skills to be able to come up with clever solutions. Some people are born with those skills, or think in a similiar way, so those people, doesn't need learn the ability of mathematical reasoning. Nevertheless, the mathematical reasoning is mandatory if you want to be an excellent programmer. Together with a lot of other skills. I am thinking about the skillset you get by solving excercises in Calculus. Having a solid understanding of Discrete Mathematics and Statistics doesn't hurt either, depending on your problem area.
Thanks a lot. :) Well, I can see a couple of books here I wish I had time to read at the moment. I don't mind reading up on a topic in one book, and then later on switching to another more authorative one, should I feel I need to. However, there is always some luck involved in this. Some books covers what you need, others don't, whether they are authorative on the subject or not.
What I find personally annoying, is when "you" are in a "competetive pond", and then people drags in stuff from outside the pond, into the pond for competetive purposes. That is unedible, and "foul play" in my book. :)
Though some High school kid with interest might grasp the parts he/she is interested in.
There is a big lap from there to "Could be taught in High School".
The sheer amount of work is the main obstacle in addition to the lack of specialization in the courses is one of the obstacles I think, apart from the obvious one which is the lack of foundational skills.