You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
is an awesome [Jupyter Notebook](/jupyter-notebook.html) to learn and
95
+
test your data structures and algorithms knowledge in Python.
96
+
97
+
*[TeachCraft](https://teachcraft.net/) combines Minecraft with Python to
98
+
learn coding.
99
+
100
+
*[500 Data Structures and Algorithms practice problems and their solutions](https://techiedelight.quora.com/500-Data-Structures-and-Algorithms-practice-problems-and-their-solutions)
101
+
covers a large swath of the computer science space. It is not important
102
+
to know all of these algorithms and data structures but experience with
103
+
many of them will be greatly beneficial in becoming a better developer.
104
+
105
+
106
+
### First-hand advice
107
+
These articles are written by programmers who explain how they learned to
108
+
code. They should not be taken as "this is how you must learn" but instead
109
+
give example paths you can think about taking as a beginner:
110
+
111
+
*[Learning to program](http://danluu.com/learning-to-program/)
112
+
is a long read but goes through Dan's experience in math and engineering
113
+
before fully committing to software development.
114
+
115
+
*[Developing as a developer](https://blog.ragnarson.com/2016/10/07/developing-as-a-developer.html)
116
+
gives general advice on qualities necessary to become a programmer,
117
+
including persistence, respecting others and considering ideas that are
by [Kent Beck](https://en.wikipedia.org/wiki/Kent_Beck) contains
122
+
patterns and observations for how experienced programmers he has worked
123
+
with in the past became great software developers.
124
+
125
+
126
+
### Teaching perspectives
127
+
Are you an experienced programmer working with new and junior programmers?
128
+
These articles give some insight into how you may want to structure
129
+
your teaching experience:
130
+
131
+
*[Five Principles For Programming Languages For Learners](https://cacm.acm.org/blogs/blog-cacm/203554-five-principles-for-programming-languages-for-learners/fulltext)
132
+
is a perspective on teaching children to program but is good advice
133
+
for an audience of any age.
134
+
135
+
*[Teach tech with cartoons](https://jvns.ca/teach-tech-with-cartoons/)
136
+
is an awesome resource that explains how you can use simple but fun
137
+
drawings to teach otherwise difficult technical concepts to students.
138
+
139
+
*[Teaching programming to working professionals](http://pgbovine.net/PG-Podcast-21-Trey-Hunner.htm)
140
+
is a video podcast with [Trey Hunter](https://twitter.com/treyhunner)
141
+
about his experience teaching Python to experienced professionals.
142
+
143
+
*[Teach Yourself Computer Science](https://teachyourselfcs.com/) is
144
+
intended as a self-teaching tool with many resources that are classic
145
+
computer science textbooks. There are also nice explanations for why
146
+
each resource is useful in your learning and teaching journey.
meta: Foundation is a CSS framework used to design web application user interfaces.
8
+
9
+
10
+
# Foundation
11
+
[Foundation](https://foundation.zurb.com/) is a
12
+
[Cascading Style Sheet (CSS) framework](/css-frameworks.html) that makes it
13
+
easier to create website and web application user interfaces. Bootstrap
14
+
is especially useful as a base layer of
15
+
[CSS](/cascading-style-sheets.html) to build sites with
16
+
[responsive web design](/responsive-design.html).
17
+
18
+
<ahref="https://foundation.zurb.com/"style="border: none;"><imgsrc="/img/logos/foundation.jpg"width="100%"alt="ZURB Foundation logo."class="technical-diagram"style="border-radius:5px"></a>
0 commit comments