Skip to content

Commit 1c6af92

Browse files
committed
tons of new learning programming resources
1 parent 76844e7 commit 1c6af92

File tree

7 files changed

+116
-1
lines changed

7 files changed

+116
-1
lines changed

content/pages/01-introduction/02-learning-programming.markdown

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ that expand a programmer's abilities are the units of progress. Extra value
5454
is placed on making the projects open source and working with experienced
5555
mentors to learn what he or she can improve on in their programs.
5656

57+
5758
## Should I learn Python first?
5859
Python is good choice in the project-based approach because of the extensive
5960
availability of
@@ -74,3 +75,72 @@ constructs. Find one that appears to match your personal style and give it a
7475
try, knowing that whatever you choose you'll need to put in many long days and
7576
nights to really get comfortable as a software developer.
7677

78+
79+
### Practice problems
80+
Working on practice programming challenges and studying their solutions in
81+
Python or another language is a great way to learn whether you are just
82+
starting or an experienced developer. Here are numerous open source
83+
repositories and sites with practice problems and solutions:
84+
85+
* [Code problems](https://github.com/blakeembrey/code-problems) provides
86+
common algorithm and data structures challenges with solutions in several
87+
programming languages including Python.
88+
89+
* [Python basics](https://pythonbasics.org/) contains materials and
90+
exercises to learn basic Python 3 syntax such as variables, functions
91+
and lists.
92+
93+
* [Interactive Python coding interview challenges](https://github.com/donnemartin/interactive-coding-challenges)
94+
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
118+
outside your comfort zone.
119+
120+
* [Mastering programming](https://www.facebook.com/notes/kent-beck/mastering-programming/1184427814923414)
121+
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.

content/pages/01-introduction/03-why-use-python.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,7 @@ displays [The Zen of Python](https://www.python.org/dev/peps/pep-0020/).
134134
supplies non-web development project examples that use Python. The article
135135
also does a solid job comparing and contrasting Python to other common
136136
programming languages such as Java, Ruby and JavaScript.
137+
138+
* [Python or Ruby for web development](https://opensource.com/article/17/4/python-or-ruby-web-development)
139+
gives reasons for one language compared to the other just focused on the
140+
web development space.

content/pages/07-web-development/21-bootstrap.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ is especially useful as a base layer of
1717
<a href="http://getbootstrap.com/" style="border: none;"><img src="/img/logos/bootstrap.png" width="100%" alt="Bootstrap logo." class="technical-diagram" style="border-radius:5px"></a>
1818

1919

20+
2021
### Bootstrap resources
2122
* [Getting Started with Bootstrap](https://realpython.com/blog/python/getting-started-with-bootstrap-3/)
2223
provides a walkthrough of a sample starter template so you can understand
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: Foundation
2+
category: page
3+
slug: foundation-css
4+
sortorder: 0721
5+
toc: False
6+
sidebartitle: Foundation
7+
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+
<a href="https://foundation.zurb.com/" style="border: none;"><img src="/img/logos/foundation.jpg" width="100%" alt="ZURB Foundation logo." class="technical-diagram" style="border-radius:5px"></a>
19+

content/pages/12-meta/01-change-log.markdown

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ on GitHub.
1717

1818
## 2018
1919
### February
20+
* Added a slew of new practice problems and teaching resources on the
21+
[Learning Programming](/learning-programming.html) page.
2022
* New [WebSockets](/websockets.html) resources.
21-
* New starter page on [CSS frameworks](/css-frameworks.html).
23+
* New starter page on [CSS frameworks](/css-frameworks.html) and
24+
[Foundation CSS](/foundation-css.html).
2225
* Added new [enterprise Python](/enterprise-python.html) resources.
2326

2427
### January

static/img/logos/travis-ci.png

15 KB
Loading
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3>What else do you want to learn about web development?</h3>
2+
<div class="row">
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/web-design.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/static-content.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/javascript.html" %}
16+
</div>
17+
</div>
18+
</div>

0 commit comments

Comments
 (0)