# Inspirations towards a logo for cs.SE

As you know, we are graduating. The last missing puzzle piece is our own design which will be create by Stack Exchange employees at some uncertain point in the future.

They are known for listening to community input and feedback. So while we probably should not try to do their work for them, I think it may be worthwhile to give them some thoughts to play around with.

One thing I have been agonising over is this: how to represent computer science visually? At all and, more importantly in this context, in a small square-ish form factor? Can we avoid clichés?

So this is a request to brainstorm, break down CS as you see it to its essentials and boil it down to abstract, visual cues. Go as far as you can: while mockups are great, I guess that the designers can do a lot (maybe more) with ideas and concepts. A handful of keywords may be enough; see here for the thoughts behind the logo of crypto.SE.

Paweł, a designer working for Stack Exchange, is seeking ideas, especially about a logo.

Related question: Advertising Computer Science Stack Exchange on other SE sites

• It would be good to avoid a logo that suggests that computer science is all about computers, circuit diagrams, programming and things like that. – David Richerby Dec 31 '15 at 15:20
• @DavidRicherby Definitely, that's a particular concern. – Raphael Jan 1 '16 at 17:54
• The logo for cstheory is a DFA with "question mark" as initial state and "exclamation mark" (answer) as accepting state. I don't think something like that is a particularly good candidate for our site, but it is something to keep in mind. – Tom van der Zanden Jan 3 '16 at 11:00
• @TomvanderZanden I don't like that one even for Theoretical Computer Science. It depicts one artifact of the field out of many thousands. – Raphael Jan 4 '16 at 9:55
• I was thinking about a (stylized) tree growing down from a cloud (representing abstraction, not a current technology hype), but I don't see how to make that work nicely (and without invoking the technology hype association). – Raphael Jan 4 '16 at 9:59
• of all 3 posted ideas so far, think they are way too abstract. dont want an abstract logo that does not immediately identify something associated with computers... dont think the symbolism of the logo being computer-related should be "overthought" as "not representative"... let the site content be strictly policed as usual for adherence to restrictions, but the logo needs no such micromanagement... – vzn Jan 8 '16 at 18:52
• "dont want an abstract logo that does not immediately identify something associated with computers" -- from our scope definition and statements from community members about our scope over the years, I think this is a minority opinion. – Raphael Jan 15 '16 at 17:42

Rooted trees are pretty ubiquitous in all kinds of computer science, both theoretical and applied.

You can find plenty of applications of rooted trees e.g. in the context of algorithms and data structures, automata theory, computational complexity theory, computational geometry, programming language theory, formal methods, artificial intelligence, computer architecture, computer graphics, parallel and distributed computing, information storage and retrieval, and software engineering.

Five nodes are enough to draw something that is easily recognisable as a rooted binary tree.

Works well in small sizes, too:

• I like this one the best so far, it has CS feel, without needing interpretation. A possibly badly thought out modification: what about making one of the edges dashed (or something) to give it implied dynamics? Maybe a little illustration of a tree rotation operation - but that's probably getting too specific. – Luke Mathieson Jan 10 '16 at 4:13
• +1. How about making some nodes red and some black (like a red-black tree)? It is still open to many interpretation in cs (e.g. black can mean unresponsive servers in a network) but I think would look nicer. – Kaveh Jan 10 '16 at 18:11
• Added bonus: this takes up the idea of using graphs (jmite) as well as the concept of connection (Paweł/myself), and it's definitely abstract. Among other science and engineering disciplines, it's probably hard to associate a tree with any one but CS, which is important in this context. However, I'm not sure how well this many nodes work as a logo. But it scales naturally: maybe there's only two or three nodes in the favicon, but more in the full-sized logo. – Raphael Jan 10 '16 at 20:52
• Just noticed that this graph actually looks like a reverse lambda. – Kaveh Jan 11 '16 at 22:35
• Additional thought: the eagle-eye impression of a real tree may be nice, and underscore that CS does relate to the real world (on occasion ;)). Something like these. – Raphael Jan 15 '16 at 16:39
• Seems like we have a winner. :) – Raphael Jan 20 '16 at 11:18

From my perspective, computer science (as an academic field) embodies two concepts maybe more than any other, and does so maybe more than any other discipline: problem-solving by reduction and abstraction.

Reduction is about breaking apart a problem, identifying easier subproblems (maybe but not necessarily recursive) whose solutions can be combined or translated into a solution of the original problem.
The concept is pervasive from software engineering (modularisation of systems) all the way to TCS (reduction as an algorithm design principles; creating structure in problem classes by reduction techniques).

Abstraction is about generalising a given problem by relaxing or creating parameters, switching to application-independent terminology, and maybe ignoring some constraints for the moment. Then, solve the resulting, more abstract problem and use the insight gained to solve the original one.
This also happens everywhere in CS, from general-purpose programming libraries to algorithm design principles.

How may this look like visually? I note that the two concepts are somewhat dual to each other. One narrows, the other broadens scope. Hence, I think complementary triangles may work nicely.

The inscribed triangle (left) displays one triangle for abstraction (orange, inner) and one for reduction (blue, outer) reading from bottom to top; the image works the other way around as well. It is a clean design I'd expect to work well (visually) in most circumstances. The four resulting areas highlight the plurality of CS as well.

The overlapping triangles (middle and right) work from the same basic idea but represent both concepts equally large. In addition to plurality, we now have distinct parts (only blue or orange) but also an overlapping part (both colors) which represents that there is a common core in CS, despite some fields being very far apart from each other in terms of methodology.

Colors are left for the designers to pick, obviously (I happen to like the blue-orange combination, personally). The overlap diamond should probably have proper color mixing going on.

This has partially been inspired by the very simple yet fitting logo of crypto.SE; read the designer's thought process here.

• With crypto's logo it is fairly easy to see the logo symbolizes a lock and a key; if I was shown this logo and told it was associated with computer science I could not possibly work out the (beautiful!) symbolism and association with CS without reading this meta post. My best guess would be "Legend of Zelda SE". However, it is probably going to be very difficult to come up with a logo for computer science where the symbolism is easy to work out and that does not suggest computer science is all about computers. – Tom van der Zanden Jan 3 '16 at 10:58
• @TomvanderZanden I agree: this logo does not speak for itself. This is all I have for now (thanks for the nice words!); I do hope that somebody finds something better. I am optimistic because I am a lost cause when it comes to graphic design/drawing. :) ("Legend of Zelda SE" -- now if that wouldn't give us traffic... :D) – Raphael Jan 4 '16 at 9:54
• @TomvanderZanden That said, if you look at other SE sites, many have rather abstract symbols. Science Fiction & Fantasy, Mathematics, Super User. Home Improvement, English Language & Usage, ... -- many site topics don't have "the one iconic thing" they can use as a logo. Software Engineering uses a cup of coffee... – Raphael Jan 4 '16 at 9:58

Seems like a Turing Machine visualisation, as @jmite suggested, isn't going to be popular. Also, I'm possibly not the best person to suggest it given my recent arrival at this community. However, here are two draft turing machine visualisation logos:

It's based on this:

• I don't think this is that bad. Maybe I personally like something more graph-like, but +1 :-) – Juho Jan 15 '16 at 10:26

Some thoughts:

• Graphs and/or automata are nice and visual, and seem to be pretty on-topic here.
• A visualization of a Turing Machine would be fitting
• Lambda terms are risky, because people might come with functional-programming questions rather than languages-theory questions.
• ad 1,2: wouldn't that cement the "TCS lite" misunderstanding? :/ ad 2: note that Theoretical Computer Science is TM-themed; we probably don't want to evoke the same associations. – Raphael Jan 8 '16 at 21:08
• Yeah, I definitely agree about 2. For 1, maybe automata are too theoretical, but graphs are pretty universal, and come up in basically all of CS... Maybe a visualization of BFS or DFS or something? Or a tree-traversal? – jmite Jan 8 '16 at 21:52
• True, graphs are ubiquitous in CS. And not much used (traditionally) elsewhere, or are they? So the design should probably incorporate graphs. Is there an iconic one that would make a good logo? K_x for small x? Maybe not. "CS" written with nodes and edges? Meh. But there may be something in this direction. – Raphael Jan 8 '16 at 21:55
• +1. I think using a graph is a great idea. The logo should definitely be some kind of a graph. – Kaveh Jan 10 '16 at 18:19

We need something which brings computer science to mind and is distinguishable from other related things like computer programming, electronics, ...

So what concept capture computer science best? I feel algorithm is a good candidate.

If we go a long this we need a something that represents the concept of algorithm visually.

1. Follow-charts seems a good candidate if it can be fit inside a logo.

2. we can use a $\lambda$ term.

3. we can use make a visualization of a well-known computational problem.

• I feel like that every recognizable visualization of "algorithm" is likely to use a technological metaphor and end up looking like "programming". – Raphael Jan 8 '16 at 9:36
• I especially like the third idea. Could we somehow visualize say satisfiability? – Juho Jan 9 '16 at 19:01
• @Juho, I didn't have any specific problem in mind. I feel logic is difficult to visualize and also might not be as recognizable by general audience of the site. – Kaveh Jan 12 '16 at 2:16
• Flow charts look a lot like programming to me. And I can't remember ever having seen a computer scientist use one! – David Richerby Jan 13 '16 at 5:42
• @Juho Decision trees? See Jukka's answer. :) – Raphael Jan 17 '16 at 10:08

Chatting with designer Paweł, the idea of using the theme of connection resp. CS as an enabler for connection has come up.

• Computer science as a discipline combines/connects mathematics, electrical/computer engineering, and social sciences. The disciplines change depending on whom you ask, but it's usually more than two.
• Technology that uses CS principlies connects people, things, and people with things.
• CS enables interdisciplinary research/work all over the spectrum; it connects fields/disciplines.

One idea to represent this (due to Paweł) is as some form of Venn diagram (which happened incidentally with my other attempt). Maybe like this:

I think it's far enough away from how Venn diagrams usually look to avoid cliché (by showing only the "center part") but communicates the idea.
Again, please excuse my poor choice of color and poor-man's opacity-based color mixing. I'm sure the geometry (who says sets have to be circles?) can be tweaked, too; the two-color regions seem a bit too large. Also, there is room to improve the "outside form"; a square is boring.

Another idea (mine) is slightly less abstract: "cables" from different origins and of different kinds plugging into a common core. Mockup:

I'm using a triangle because squares are boring and higher-order polygons seem to be too much. On second thought, a square stood on one vertex (rhombus/diamond) might work nicely. Colors and plug shapes just to indicate variety.

• looks like sperm with weird shaped heads fertilizing a triangular egg to me :| – vzn Jan 8 '16 at 18:54
• That's actually a metaphor I could live with: CS as fertilizer of sciences. (Should be easily fixed by a person actually skilled in graphic design drawing the lines.) – Raphael Jan 8 '16 at 19:17
• My big worry is, because of the shapes and lines, it looks like an electronic circuit diagram, which could really add to the rampant problem of off-topic questions on this site. – jmite Jan 8 '16 at 19:40
• @jmite Isn't that focusing on my inept execution? I think that a better (read: any) artist can avoid this misinterpretation (just pick other plug shapes). If not, then I agree, it would not make a good logo. – Raphael Jan 8 '16 at 21:06
• Sierpiński Triangle it is ;) – Evil Jan 17 '16 at 0:51