· 8 years ago · Jun 26, 2018, 05:22 PM
1
2<!DOCTYPE html>
3
4
5 <html itemscope itemtype="http://schema.org/QAPage" class="html__responsive">
6
7 <head>
8
9 <title>python - Best ways to teach a beginner to program? - Stack Overflow</title>
10 <link rel="shortcut icon" href="https://cdn.sstatic.net/Sites/stackoverflow/img/favicon.ico?v=4f32ecc8f43d">
11 <link rel="apple-touch-icon image_src" href="https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon.png?v=c78bd457575a">
12 <link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml">
13 <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
14
15
16 <meta property="og:type" content= "website" />
17 <meta property="og:url" content="https://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program"/>
18 <meta property="og:site_name" content="Stack Overflow" />
19 <meta property="og:image" itemprop="image primaryImageOfPage" content="https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded" />
20 <meta name="twitter:card" content="summary"/>
21 <meta name="twitter:domain" content="stackoverflow.com"/>
22 <meta name="twitter:title" property="og:title" itemprop="title name" content="Best ways to teach a beginner to program?" />
23 <meta name="twitter:description" property="og:description" itemprop="description" content="Original Question
24
25I am currently engaged in teaching my brother to program. He is a total beginner, but very smart. (And he actually wants to learn). I've noticed that some of our sessions have ..." />
26 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
27 <script src="https://cdn.sstatic.net/Js/stub.en.js?v=545ad11942b6"></script>
28
29 <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Shared/stacks.css?v=79857b641be0">
30 <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Sites/stackoverflow/primary-unified.css?v=ac23707b40c0">
31
32 <meta name="twitter:app:country" content="US" />
33 <meta name="twitter:app:name:iphone" content="Stack Exchange iOS" />
34 <meta name="twitter:app:id:iphone" content="871299723" />
35 <meta name="twitter:app:url:iphone" content="se-zaphod://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program" />
36 <meta name="twitter:app:name:ipad" content="Stack Exchange iOS" />
37 <meta name="twitter:app:id:ipad" content="871299723" />
38 <meta name="twitter:app:url:ipad" content="se-zaphod://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program" />
39 <meta name="twitter:app:name:googleplay" content="Stack Exchange Android">
40 <meta name="twitter:app:url:googleplay" content="http://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program">
41 <meta name="twitter:app:id:googleplay" content="com.stackexchange.marvin">
42 <script>
43
44 StackExchange.ready(function () {
45
46 StackExchange.using("snippets", function () {
47 StackExchange.snippets.initSnippetRenderer();
48 });
49
50
51 StackExchange.using("postValidation", function () {
52 StackExchange.postValidation.initOnBlurAndSubmit($('#post-form'), 2, 'answer');
53 });
54
55
56 StackExchange.question.init({showAnswerHelp:true,totalCommentCount:3,shownCommentCount:3,highlightColor:'#F4A83D',backgroundColor:'#FFF',questionId:3088});
57
58 styleCode();
59
60 StackExchange.realtime.subscribeToQuestion('1', '3088');
61 // TODO: There's a CR for replacing this with inline info on the question for moderators
62 // https://trello.com/c/ynDHhvrB/158-cr-move-the-mod-info-out-of-the-margin-and-into-the-post-estimate-needed
63 // Before we roll out the sidebar everywhere (or at least shortly after that?), we should implement it.
64 StackExchange.using("gps", function () { StackExchange.gps.trackOutboundClicks('#content', '.post-text'); });
65
66 });
67 </script>
68
69
70
71
72
73
74
75 <script>
76 StackExchange.init({"locale":"en","serverTime":1530028122,"routeName":"Questions/Show","stackAuthUrl":"https://stackauth.com","networkMetaHostname":"meta.stackexchange.com","site":{"name":"Stack Overflow","description":"Q&A for professional and enthusiast programmers","isNoticesTabEnabled":true,"enableNewTagCreationWarning":true,"insertSpaceAfterNameTabCompletion":false,"id":1,"childUrl":"https://meta.stackoverflow.com","enableSocialMediaInSharePopup":true,"protocol":"https"},"user":{"fkey":"05e547ab69cf46aabca22cb1e327799c7040e5ef63b69f60e0702578b54ac69e","tid":"15c5c379-35a2-b3f0-8249-3eb8cd21373c","rep":0,"isAnonymous":true,"isAnonymousNetworkWide":true,"ab":{"search_improvements":{"v":"questions_index_5","g":1}}},"events":{"postType":{"question":1},"postEditionSection":{"title":1,"body":2,"tags":3}},"story":{"minCompleteBodyLength":75,"likedTagsMaxLength":300,"dislikedTagsMaxLength":300},"jobPreferences":{"maxNumDeveloperRoles":2,"maxNumIndustries":4}}, {"site":{"allowImageUploads":true,"commentHighlightingWithCSS":true,"enableUserHovercards":true,"styleCode":true,"enableImgurHttps":true,"forceHttpsImages":true},"userMessaging":{"showNewFeatureNotice":true},"comments":{},"userProfile":{"openGraphAPIKey":"58740831ad23540e00c58987"},"tags":{},"accounts":{"currentPasswordRequiredForChangingStackIdPassword":true},"flags":{"allowRetractingFlags":true},"snippets":{"snippetsEnabled":true,"renderDomain":"stacksnippets.net"},"paths":{},"markdown":{"asteriskIntraWordEmphasis":true},"monitoring":{"clientTimingsAbsoluteTimeout":30000,"clientTimingsDebounceTimeout":1000},"slack":{"sidebarAdDismissCookie":"slack-sidebar-ad"}});
77 StackExchange.using.setCacheBreakers({"js/prettify-full.en.js":"8a02644ef3e0","js/moderator.en.js":"5bbd53752086","js/full-anon.en.js":"9c998406d4cd","js/full.en.js":"35f9dd400b0b","js/wmd.en.js":"fc47896f4bc1","js/third-party/jquery.autocomplete.min.js":"bdb258e949a8","js/third-party/jquery.autocomplete.min.en.js":"","js/mobile.en.js":"283b309eaac6","js/help.en.js":"a4c6eac3d694","js/tageditor.en.js":"4711c6761602","js/tageditornew.en.js":"7332f6862f01","js/inline-tag-editing.en.js":"a3c751e52701","js/revisions.en.js":"a7ac7cb26f15","js/review.en.js":"62ce7f27f24e","js/tagsuggestions.en.js":"505ddd862f8f","js/post-validation.en.js":"58e7881b6132","js/explore-qlist.en.js":"e2a8178eb759","js/events.en.js":"167fda1d56f9","js/keyboard-shortcuts.en.js":"990106604345","js/external-editor.en.js":"a576414bcfed","js/adops.en.js":"22a9bd59b1e9","js/external-editor.en.js":"a576414bcfed","js/snippet-javascript.en.js":"61e61b9efb16","js/snippet-javascript-codemirror.en.js":"e43d1ed57d7c"});
78 StackExchange.using("gps", function() {
79 StackExchange.gps.init(true);
80 });
81 </script>
82 <noscript id="noscript-css"><style>body,.top-bar{margin-top:1.9em}</style></noscript>
83 </head>
84 <body class="question-page unified-theme new-topbar">
85 <div id="notify-container"></div>
86 <div id="custom-header"></div>
87
88
89
90
91<header class="top-bar js-top-bar _fixed top-bar__network">
92 <div class="-container">
93 <div class="-main">
94 <a href="#" class="left-sidebar-toggle p0 ai-center jc-center js-left-sidebar-toggle"><span class="ps-relative"></span></a>
95 <a href="https://stackoverflow.com" class="-logo js-gps-track"
96 data-gps-track="top_nav.click({is_current:false, location:2, destination:8})">
97 <span class="-img _glyph">Stack Overflow</span>
98 </a>
99
100
101
102 </div>
103
104 <form id="search" action=/search method="get" class="searchbar js-searchbar " autocomplete="off" role="search">
105 <div class="ps-relative">
106 <input name="q" type="text" placeholder="Search…" value="" autocomplete="off" maxlength="240" class="f-input js-search-field" />
107 <button type="submit" aria-label="Search..." class="s-btn s-btn__primary btn-topbar-primary js-search-submit"><svg aria-hidden="true" class="svg-icon mx0 iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="M12.86 11.32L18 16.5 16.5 18l-5.18-5.14v-.35a7 7 0 1 1 1.19-1.19h.35zM7 12A5 5 0 1 0 7 2a5 5 0 0 0 0 10z"/></svg></button>
108 </div>
109 </form>
110
111
112
113
114
115
116
117<ol class="-secondary js-secondary-topbar-links drop-icons-responsively">
118 <li class="-item searchbar-trigger js-searchbar-trigger"><a href="#" class="-link"><svg aria-hidden="true" class="svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="M12.86 11.32L18 16.5 16.5 18l-5.18-5.14v-.35a7 7 0 1 1 1.19-1.19h.35zM7 12A5 5 0 1 0 7 2a5 5 0 0 0 0 10z"/></svg></a></li>
119 <li class="-item">
120 <a href="https://stackexchange.com/users/?tab=inbox" class="-link js-inbox-button" title="Recent inbox messages">
121 <svg aria-hidden="true" class="svg-icon iconInbox" width="20" height="18" viewBox="0 0 20 18"><path d="M15.19 1H4.63c-.85 0-1.6.54-1.85 1.35L0 10.79V15c0 1.1.9 2 2 2h16a2 2 0 0 0 2-2v-4.21l-2.87-8.44A2 2 0 0 0 15.19 1zm-.28 10l-2 2h-6l-2-2H1.96L4.4 3.68A1 1 0 0 1 5.35 3h9.12a1 1 0 0 1 .95.68L17.86 11h-2.95z"/></svg>
122 <span class="indicator-badge js-unread-count _important" style="display: none;"></span>
123 </a>
124 </li>
125 <li class="-item">
126 <a href="https://stackexchange.com/users/?tab=reputation" class="-link js-achievements-button" title="Recent achievements: reputation, badges, and privileges earned" data-unread-class="_highlighted-positive">
127 <svg aria-hidden="true" class="svg-icon iconAchievements" width="18" height="18" viewBox="0 0 18 18"><path d="M15 2V1H3v1H0v4c0 1.6 1.4 3 3 3v1c.4 1.5 3 2.6 5 3v2H5s-1 1.5-1 2h10c0-.4-1-2-1-2h-3v-2c2-.4 4.6-1.5 5-3V9c1.6-.2 3-1.4 3-3V2h-3zM3 7c-.5 0-1-.5-1-1V4h1v3zm8.4 2.5L9 8 6.6 9.4l1-2.7L5 5h3l1-2.7L10 5h2.8l-2.3 1.8 1 2.7h-.1zM16 6c0 .5-.5 1-1 1V4h1v2z"/></svg>
128 <span class="indicator-badge js-unread-count _positive" style="display: none;"></span>
129 </a>
130 </li>
131
132 <li class="-item help-button-item" data-remove-order="1"><a href="#" class="-link js-help-button" title="Help Center and other resources">
133 <svg aria-hidden="true" class="svg-icon iconHelp" width="18" height="18" viewBox="0 0 18 18"><path d="M9 1a8 8 0 1 0 0 16A8 8 0 0 0 9 1zm.81 12.13c-.02.71-.55 1.15-1.24 1.13-.66-.02-1.17-.49-1.15-1.2.02-.72.56-1.18 1.22-1.16.7.03 1.2.51 1.17 1.23zM11.77 8a5.8 5.8 0 0 1-1.02.91l-.53.37c-.26.2-.42.43-.5.69a4 4 0 0 0-.09.75c0 .05-.03.16-.18.16H7.88c-.16 0-.18-.1-.18-.15.03-.66.12-1.21.4-1.66a5.29 5.29 0 0 1 1.43-1.22c.16-.12.28-.25.38-.39a1.34 1.34 0 0 0 .02-1.71c-.24-.31-.51-.46-1.03-.46-.51 0-.8.26-1.02.6-.21.33-.18.73-.18 1.1H5.75c0-1.38.35-2.25 1.1-2.76.52-.35 1.17-.5 1.93-.5 1 0 1.79.18 2.49.71.64.5.98 1.18.98 2.12 0 .57-.2 1.05-.48 1.44z"/></svg>
134 </a></li>
135
136 <li class="-item">
137 <a href="https://stackexchange.com" class="-link js-site-switcher-button js-gps-track" data-gps-track="site_switcher.show" title="A list of all 174 Stack Exchange sites">
138 <svg aria-hidden="true" class="svg-icon iconStackExchange" width="18" height="18" viewBox="0 0 18 18"><path d="M1 13c0 1.1.9 2 2 2h8v3l3-3h1a2 2 0 0 0 2-2v-2H1v2zM15 1H3a2 2 0 0 0-2 2v2h16V3a2 2 0 0 0-2-2zM1 6h16v4H1V6z"/></svg>
139 </a>
140 </li>
141
142 <li class="-ctas">
143 <a href="https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f3088%2fbest-ways-to-teach-a-beginner-to-program" class="login-link s-btn py8" rel="nofollow">Log In</a>
144 <a href="https://stackoverflow.com/users/signup?ssrc=head&returnurl=%2fusers%2fstory%2fcurrent" class="login-link s-btn s-btn__primary py8 btn-topbar-primary" rel="nofollow" data-ga="["sign up","Sign Up Navigation","Header",null,null]">Sign Up</a>
145
146 </li>
147
148 <li class="-dialog-container js-topbar-dialog-corral">
149
150
151 <div class="topbar-dialog siteSwitcher-dialog dno">
152 <div class="header">
153 <h3><a href="https://stackoverflow.com">current community</a>
154 </h3>
155 </div>
156 <div class="modal-content current-site-container">
157 <ul class="current-site">
158 <li class="grid">
159 <div class="fl1">
160 <a href="https://stackoverflow.com"
161 class="current-site-link site-link js-gps-track grid gs8 gsx"
162 data-id="1"
163 data-gps-track="site_switcher.click({ item_type:3 })">
164 <div class="favicon favicon-stackoverflow site-icon grid--cell" title="Stack Overflow"></div>
165 <span class="grid--cell fl1">
166 Stack Overflow
167 </span>
168 </a>
169
170 </div>
171 <div class="related-links">
172 <a href="https://stackoverflow.com/help" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:14 })"
173>help</a>
174 <a href="https://chat.stackoverflow.com" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:6 })"
175>chat</a>
176 </div>
177
178 </li>
179 <li class="related-site grid">
180 <div class="L-shaped-icon-container">
181 <span class="L-shaped-icon"></span>
182 </div>
183
184 <a href="https://meta.stackoverflow.com"
185 class="site-link js-gps-track grid gs8 gsx"
186 data-id="552"
187 data-gps-track="site.switch({ target_site:552, item_type:3 }),site_switcher.click({ item_type:4 })">
188 <div class="favicon favicon-stackoverflowmeta site-icon grid--cell" title="Meta Stack Overflow"></div>
189 <span class="grid--cell fl1">
190 Meta Stack Overflow
191 </span>
192 </a>
193
194 </li>
195 </ul>
196 </div>
197
198 <div class="header" id="your-communities-header">
199 <h3>
200your communities </h3>
201
202 </div>
203 <div class="modal-content" id="your-communities-section">
204
205 <div class="call-to-login">
206<a href="https://stackoverflow.com/users/signup?ssrc=site_switcher&returnurl=%2fusers%2fstory%2fcurrent" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:10 })"
207>Sign up</a> or <a href="https://stackoverflow.com/users/login?ssrc=site_switcher&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f3088%2fbest-ways-to-teach-a-beginner-to-program" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:11 })"
208>log in</a> to customize your list.
209 </div>
210 </div>
211
212 <div class="header">
213 <h3><a href="https://stackexchange.com/sites">more stack exchange communities</a>
214 </h3>
215 <a href="https://stackoverflow.blog" class="fr">company blog</a>
216 </div>
217 <div class="modal-content">
218 <div class="child-content"></div>
219 </div>
220 </div>
221 <div class="topbar-dialog help-dialog js-help-dialog dno">
222 <div class="modal-content">
223 <ul>
224 <li>
225 <a href="/tour" class="js-gps-track" data-gps-track="help_popup.click({ item_type:1 })">
226 Tour
227 <span class="item-summary">
228 Start here for a quick overview of the site
229 </span>
230 </a>
231 </li>
232 <li>
233 <a href="/help" class="js-gps-track" data-gps-track="help_popup.click({ item_type:4 })">
234 Help Center
235 <span class="item-summary">
236 Detailed answers to any questions you might have
237 </span>
238 </a>
239 </li>
240 <li>
241 <a href="https://meta.stackoverflow.com" class="js-gps-track" data-gps-track="help_popup.click({ item_type:2 })">
242 Meta
243 <span class="item-summary">
244 Discuss the workings and policies of this site
245 </span>
246 </a>
247 </li>
248 <li>
249 <a href="https://stackoverflow.com/company/about" class="js-gps-track" data-gps-track="help_popup.click({ item_type:6 })">
250 About Us
251 <span class="item-summary">
252 Learn more about Stack Overflow the company
253 </span>
254 </a>
255 </li>
256 <li>
257 <a href="https://www.stackoverflowbusiness.com/?ref=topbar_help" class="js-gps-track" data-gps-track="help_popup.click({ item_type:7 })">
258 Business
259 <span class="item-summary">
260 Learn more about hiring developers or posting ads with us
261 </span>
262 </a>
263 </li>
264 </ul>
265 </div>
266 </div>
267 <div class="topbar-dialog leftnav-dialog js-leftnav-dialog dno">
268 <div class="left-sidebar js-unpinned-left-sidebar" data-can-be="left-sidebar" data-is-here-when="sm"></div>
269 </div>
270 </li>
271</ol>
272
273 </div>
274</header>
275 <div id="js-gdpr-consent-banner" class="p16 bg-black-700 fc-white ps-fixed b0 l0 r0 z-banner" role="banner" aria-hidden="false">
276 <div class="wmx10 mx-auto grid grid__center jc-spacebetween gs8 gsx" role="alertdialog" aria-describedby="notice-message">
277 <div class="grid--cell" aria-label="notice-message">
278 <p class="mb0 lh-lg">
279 This site uses cookies to deliver our services and to show you relevant ads and job listings.
280By using our site, you acknowledge that you have read and understand our <a class="s-link s-link__inherit td-underline fc-white" target="_blank" href="https://stackoverflow.com/legal/cookie-policy">Cookie Policy</a>, <a class="s-link s-link__inherit td-underline fc-white" target="_blank" href="https://stackoverflow.com/legal/privacy-policy">Privacy Policy</a>, and our <a class="s-link s-link__inherit td-underline fc-white" target="_blank" href="https://stackoverflow.com/legal/terms-of-service/public">Terms of Service</a>.
281Your use of Stack Overflow’s Products and Services, including the Stack Overflow Network, is subject to these policies and terms.
282 </p>
283 </div>
284 <div class="grid--cell ml-auto" aria-label="notice-dismiss">
285 <button class="s-btn s-btn__inverted fc-white bg-black-700 baw0 p16 js-notice-close" role="status" aria-hidden="true">
286 <svg aria-hidden="true" class="svg-icon m0 iconClearSm" width="14" height="14" viewBox="0 0 14 14"><path d="M12 3.41L10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z"/></svg>
287 </button>
288 </div>
289 </div>
290 </div>
291
292 <script>
293 StackExchange.ready(function () { StackExchange.topbar.init({ observeSize: true }); });
294 StackExchange.scrollPadding.setPaddingTop(50, 10); </script>
295
296
297
298
299
300
301
302
303
304
305
306<div class="old-hero hero-container _fixed js-dismissable-hero" data-campaign-name="stk">
307 <div class="-container grid jc-sp-between ai-center md:fd-column md:pr32">
308 <div class="fl1 mr16 md:mb24">
309 <p class="-title"><strong>Join Stack Overflow</strong> to learn, share knowledge, and build your career.</p>
310 </div>
311
312 <div class="s-signup _hero fl1">
313 <div id="openid-buttons" class="-social ws-nowrap">
314 <a class="btn-outlined -white _medium _block" href="/users/signup?ssrc=hero&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f3088%2fbest-ways-to-teach-a-beginner-to-program" rel="nofollow" data-ga="["sign up","Sign Up Navigation","Question Hero",null,null]">
315 <span class="sm:d-none">Email Sign Up</span>
316 <span class="d-none sm:d-inline">Sign Up</span>
317
318 </a>
319 <span class="-or sm:d-none">or sign in with</span>
320 <div class="major-provider btn _block _medium sm:d-none _google" data-provider='google' data-oauthserver='https://accounts.google.com/o/oauth2/auth' data-oauthversion='2.0'
321 data-ga="["sign up","Sign Up Started - Google","Question Hero",null,null]">
322<svg aria-hidden="true" class="svg-icon native iconGoogle" width="18" height="18" viewBox="0 0 18 18"><g><path d="M16.51 8H8.98v3h4.3c-.18 1-.74 1.48-1.6 2.04v2.01h2.6a7.8 7.8 0 0 0 2.38-5.88c0-.57-.05-.66-.15-1.18z" fill="#4285F4"/><path d="M8.98 17c2.16 0 3.97-.72 5.3-1.94l-2.6-2a4.8 4.8 0 0 1-7.18-2.54H1.83v2.07A8 8 0 0 0 8.98 17z" fill="#34A853"/><path d="M4.5 10.52a4.8 4.8 0 0 1 0-3.04V5.41H1.83a8 8 0 0 0 0 7.18l2.67-2.07z" fill="#FBBC05"/><path d="M8.98 4.18c1.17 0 2.23.4 3.06 1.2l2.3-2.3A8 8 0 0 0 1.83 5.4L4.5 7.49a4.77 4.77 0 0 1 4.48-3.3z" fill="#EA4335"/></g></svg> Google
323 </div>
324 <div class="major-provider btn _block _medium sm:d-none _facebook" data-provider='facebook' data-oauthserver='https://www.facebook.com/v2.0/dialog/oauth' data-oauthversion='2.0'
325 data-ga="["sign up","Sign Up Started - Facebook","Question Hero",null,null]">
326 <svg aria-hidden="true" class="svg-icon iconFacebook" width="18" height="18" viewBox="0 0 18 18"><path d="M1.88 1C1.4 1 1 1.4 1 1.88v14.24c0 .48.4.88.88.88h7.67v-6.2H7.46V8.4h2.09V6.61c0-2.07 1.26-3.2 3.1-3.2.88 0 1.64.07 1.87.1v2.16h-1.29c-1 0-1.19.48-1.19 1.18V8.4h2.39l-.31 2.42h-2.08V17h4.08c.48 0 .88-.4.88-.88V1.88c0-.48-.4-.88-.88-.88H1.88z" fill="#3C5A96"/></svg> Facebook
327 </div>
328 <a href="#" class="js-dismiss js-hero-mini-disabled -dismiss md:ps-absolute" title="dismiss"><svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41L13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z"/></svg></a>
329 </div>
330
331 <form id="login-form" action="/users/signup?ssrc=hero&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2f3088%2fbest-ways-to-teach-a-beginner-to-program" method="POST">
332
333 <input type="hidden" name="fkey" value="05e547ab69cf46aabca22cb1e327799c7040e5ef63b69f60e0702578b54ac69e">
334
335 <input type="hidden" name="ssrc" value="" />
336
337 <input type="hidden" id="oauth_version" name="oauth_version" />
338 <input type="hidden" id="oauth_server" name="oauth_server" />
339
340 <div id="se-login-fields">
341 <input type="hidden" name="legalLinksShown" value="0" />
342 </div>
343 </form>
344 <script>
345 StackExchange.ready(function () {
346 StackExchange.InlineAuth.init();
347 })
348 </script>
349 </div>
350 </div>
351</div><script>
352 StackExchange.ready(function () {
353 StackExchange.Hero.init("stk", "a");
354
355 var location = 0;
356 if ($("body").hasClass("questions-page")) {
357 location = 1;
358 } else if ($("body").hasClass("question-page")) {
359 location = 1;
360 } else if ($("body").hasClass("faq-page")) {
361 location = 5;
362 } else if ($("body").hasClass("home-page")) {
363 location = 3;
364 }
365
366 $('.js-cta-button').click(function () {
367 StackExchange.using("gps", function () {
368 StackExchange.gps.track("hero.action", { hero_action_type: 'cta', location: location }, true);
369 });
370 });
371
372 // TODO: we should review the class names and whatnot in use here. Older heroes use id selectors, the newer
373 // sticky question hero on SO has a .js-dismiss class instead, but it's apparently not used anywhere...
374 // It's not great. Ideally we'd have a set of classes in the partials above that would correspond to
375 // the behaviours we want here in a more clear way.
376
377 // sticky question-page hero at the bottom of the page on SO
378 $('.js-dismiss').on('click', function () {
379 StackExchange.using("gps", function () {
380 StackExchange.gps.track("hero.action", { hero_action_type: "close", location: location }, true);
381 });
382 StackExchange.Hero.dismiss();
383 $(".js-dismissable-hero").fadeOut("fast");
384 });
385
386 // non-SO style hero has a two-step minimize + dismiss process
387 $('.js-dismissable-hero #close').click(function () {
388 StackExchange.using("gps", function () {
389 StackExchange.gps.track("hero.action", { hero_action_type: "minimize", location: location }, true);
390 });
391
392 StackExchange.Hero.dismiss();
393
394 $.ajax({
395 url: "/hero-mini",
396 success: function (data) {
397 $(".js-dismissable-hero").fadeOut("fast", function () {
398 $(".js-dismissable-hero").replaceWith(data);
399 $(".js-herobox-mini").fadeIn("fast");
400 });
401 }
402 });
403 return false;
404 });
405 });
406</script>
407 <div class="container ">
408
409
410
411
412<div id="left-sidebar" data-is-here-when="md lg" class="left-sidebar js-pinned-left-sidebar">
413 <div class="left-sidebar--sticky-container js-sticky-leftnav">
414 <nav role="navigation">
415 <ol class="nav-links">
416 <li> <li>
417 <a
418 href="/"
419 class="pl8 js-gps-track nav-links--link"
420
421 data-gps-track="top_nav.click({is_current:false, location:2, destination:8})">
422Home </a>
423 </li>
424</li>
425 <li>
426 <ol class="nav-links">
427 <li class="fs-fine tt-uppercase ml8 mt16 mb4 fc-light">Public</li>
428 <li class=" youarehere">
429 <a id="nav-questions"
430 href="/questions"
431 class="pl8 js-gps-track nav-links--link -link__with-icon"
432
433 data-gps-track="top_nav.click({is_current:true, location:2, destination:1})">
434<svg aria-hidden="true" class="svg-icon iconGlobe" width="18" height="18" viewBox="0 0 18 18"><path d="M9 1a8 8 0 1 0 0 16A8 8 0 0 0 9 1zM8 15.32a6.4 6.4 0 0 1-5.23-7.75L7 11.68v.8c0 .88.12 1.32 1 1.32v1.52zm5.72-2c-.2-.66-1-1.32-1.72-1.32h-1v-2c0-.44-.56-1-1-1H6V7h1c.44 0 1-.56 1-1V5h2c.88 0 1.4-.72 1.4-1.6v-.33a6.4 6.4 0 0 1 2.32 10.24z"/></svg> <span class="-link--channel-name">Stack Overflow</span>
435 </a>
436 </li>
437
438 <li>
439 <a id="nav-tags"
440 href="/tags"
441 class=" js-gps-track nav-links--link"
442
443 data-gps-track="top_nav.click({is_current:false, location:2, destination:2})">
444Tags </a>
445 </li>
446 <li>
447 <a id="nav-users"
448 href="/users"
449 class=" js-gps-track nav-links--link"
450
451 data-gps-track="top_nav.click({is_current:false, location:2, destination:3})">
452Users </a>
453 </li>
454 <li>
455 <a id="nav-jobs"
456 href="/jobs?med=site-ui&ref=jobs-tab"
457 class=" js-gps-track nav-links--link"
458
459 data-gps-track="top_nav.click({is_current:false, location:2, destination:6})">
460Jobs </a>
461 </li>
462 </ol>
463 </li>
464 <li>
465 <ol class="nav-links">
466 <li class="fs-fine tt-uppercase ml8 mt24 mb4 fc-light">
467 Teams
468 </li>
469 <li>
470 <a
471 href="https://stackoverflow.com/teams"
472 class="pl8 js-gps-track nav-links--link -link__with-icon"
473 title="A private, secure home for your team's questions and answers. Starts at $10/month"
474 data-ga="["teams traffic","so public cta","stackoverflow.com/teams",null,{"dimension4":"teams"}]"
475 data-gps-track="top_nav.click({is_current:false, location:2, destination:10})">
476<svg aria-hidden="true" class="svg-icon iconPlus" width="18" height="18" viewBox="0 0 18 18"><path d="M10 2H8v6H2v2h6v6h2v-6h6V8h-6z"/></svg> <span class="-link--channel-name">Create Team</span>
477 </a>
478 </li>
479 </ol>
480 </li>
481 </ol>
482 </nav>
483 </div>
484</div>
485 <div id="content" class="snippet-hidden">
486
487
488
489
490
491<div itemscope itemtype="http://schema.org/Question">
492 <link itemprop="image" href="https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon.png?v=c78bd457575a">
493
494 <div class="inner-content clearfix">
495<style>.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
496}</style>
497 <div id="dfp-tlb" class="everyonelovesstackoverflow everyoneloves__top-leaderboard"></div> <div id="question-header" class="grid">
498 <h1 itemprop="name" class="grid--cell fs-headline1 fl1"><a href="/questions/3088/best-ways-to-teach-a-beginner-to-program" class="question-hyperlink">Best ways to teach a beginner to program? [closed]</a></h1>
499
500
501
502
503
504<div class="pl8 aside-cta grid--cell" role="navigation" aria-label="ask new question">
505 <a href="/questions/ask" class="d-inline-flex ai-center ws-nowrap s-btn s-btn__outlined" >Ask Question</a>
506</div>
507
508 </div>
509 <div id="mainbar" role="main" aria-label="question and answers">
510
511
512
513<div class="question ice-ice-baby" data-questionid="3088" id="question">
514
515 <input type="hidden" id="3088-only-allow-inform-moderator-flagging" value="true" />
516
517 <div class="post-layout">
518 <div class="votecell post-layout--left">
519
520
521<div class="vote">
522 <input type="hidden" name="_id_" value="3088">
523 <a class="vote-up-off" title="This question shows research effort; it is useful and clear">up vote</a>
524 <span itemprop="upvoteCount" class="vote-count-post ">325</span>
525 <a class="vote-down-off" title="This question does not show any research effort; it is unclear or not useful">down vote</a>
526
527 <a class="star-off" href="#">favorite</a>
528 <div class="favoritecount"><b>538</b></div>
529
530
531</div>
532
533 </div>
534
535
536<div class="postcell post-layout--right">
537 <div class="post-text" itemprop="text">
538
539<p><strong>Original Question</strong></p>
540
541<p>I am currently engaged in teaching my brother to program. He is a total beginner, but very smart. (And he actually wants to learn). I've noticed that some of our sessions have gotten bogged down in minor details, and I don't feel I've been very organized. (<em>But the answers to this post have helped a lot.</em>)</p>
542
543<p>What can I do better to teach him effectively? Is there a logical order that I can use to run through concept by concept? Are there complexities I should avoid till later?</p>
544
545<p>The language we are working with is <a href="http://www.python.org" rel="noreferrer">Python</a>, but advice in any language is welcome.</p>
546
547<hr>
548
549<p><strong>How to Help</strong></p>
550
551<p>If you have good ones please add the following in your answer:</p>
552
553<ul>
554<li>Beginner Exercises and Project Ideas</li>
555<li>Resources for teaching beginners</li>
556<li>Screencasts / blog posts / free e-books</li>
557<li>Print books that are good for beginners</li>
558</ul>
559
560<p>Please describe the resource <em>with a link to it</em> so I can take a look. I want everyone to know that I have definitely been using some of these ideas. Your submissions will be aggregated in this post.</p>
561
562<hr>
563
564<p><strong>Online Resources</strong> for teaching beginners:</p>
565
566<ul>
567<li><a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-189January--IAP--2008/CourseHome/" rel="noreferrer">A Gentle Introduction to Programming Using Python</a></li>
568<li><a href="http://openbookproject.net/thinkcs/python/english2e/index.html" rel="noreferrer">How to Think Like a Computer Scientist</a></li>
569<li><a href="http://www.alice.org/" rel="noreferrer">Alice: a 3d program for beginners</a></li>
570<li><a href="http://scratch.mit.edu/" rel="noreferrer">Scratch (A system to develop programming skills)</a></li>
571<li><a href="http://www.htdp.org/" rel="noreferrer">How To Design Programs</a></li>
572<li><a href="http://mitpress.mit.edu/sicp/full-text/book/book.html" rel="noreferrer">Structure and Interpretation of Computer Programs</a></li>
573<li><a href="http://pine.fm/LearnToProgram/" rel="noreferrer">Learn To Program</a></li>
574<li><a href="http://samizdat.mines.edu/howto/HowToBeAProgrammer.html" rel="noreferrer">Robert Read's How To Be a Programmer</a></li>
575<li><a href="http://creators.xna.com/" rel="noreferrer">Microsoft XNA</a></li>
576<li><a href="http://vodpod.com/watch/914464-inspirational-oscon-keynote" rel="noreferrer">Spawning the Next Generation of Hackers</a></li>
577<li><a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444" rel="noreferrer"><em>COMP1917 Higher Computing</em> lectures by Richard Buckland</a> (requires iTunes)</li>
578<li><a href="http://diveintopython.net/" rel="noreferrer">Dive into Python</a></li>
579<li><a href="http://en.wikibooks.org/wiki/Programming:Python" rel="noreferrer">Python Wikibook</a></li>
580<li><a href="http://projecteuler.net/" rel="noreferrer">Project Euler</a> - sample problems (mostly mathematical)</li>
581<li><a href="http://www.pygame.org/" rel="noreferrer">pygame</a> - an easy python library for creating games</li>
582<li><a href="http://inventwithpython.com/IYOCGwP_book1.pdf" rel="noreferrer">Invent Your Own Computer Games With Python</a></li>
583<li><a href="http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx" rel="noreferrer">Foundations of Programming</a> for a next step beyond basics.</li>
584<li><a href="http://www.iam.unibe.ch/~scg/SBE/" rel="noreferrer">Squeak by Example</a> </li>
585<li><a href="http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/" rel="noreferrer">Snake Wrangling For Kids</a> (It's not just for kids!)</li>
586</ul>
587
588<hr>
589
590<p><strong>Recommended Print Books</strong> for teaching beginners</p>
591
592<ul>
593<li><a href="http://www.acceleratedcpp.com/" rel="noreferrer">Accelerated C++</a></li>
594<li><a href="http://rads.stackoverflow.com/amzn/click/1598631128" rel="noreferrer">Python Programming for the Absolute Beginner</a></li>
595<li><a href="http://rads.stackoverflow.com/amzn/click/0735611319" rel="noreferrer">Code by Charles Petzold</a></li>
596<li><a href="http://rads.stackoverflow.com/amzn/click/1590282418" rel="noreferrer">Python Programming: An Introduction to Computer Science 2nd Edition</a></li>
597</ul>
598 </div>
599 <div class="post-taglist">
600 <a href="/questions/tagged/python" class="post-tag" title="show questions tagged 'python'" rel="tag">python</a> <a href="/questions/tagged/language-agnostic" class="post-tag" title="show questions tagged 'language-agnostic'" rel="tag">language-agnostic</a>
601 </div>
602 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
603 <div class="grid--cell mr16" style="flex: 1 1 100px;">
604<div class="post-menu"><a href="/q/3088" title="short permalink to this question" class="short-link" id="link-post-3088">share</a></div>
605 </div>
606
607 <div class="post-signature grid--cell fl0">
608<div class="user-info ">
609 <div class="user-action-time">
610 <a href="/posts/3088/revisions" title="show all edits to this post">edited <span title="2011-11-24 11:03:40Z" class="relativetime">Nov 24 '11 at 11:03</span></a>
611 </div>
612 <div class="user-gravatar32">
613
614 </div>
615 <div class="user-details">
616
617 <div class="-flair">
618
619 </div>
620 </div>
621</div> </div>
622 <div class="post-signature grid--cell fl0">
623 <div class="user-info">
624 <div class="user-details">
625 <span class="community-wiki" title="This post is community owned as of Sep 3 '08 at 5:10. Votes do not generate reputation, and it can be edited by users with 100 rep">
626 community wiki
627 </span>
628 </div><br>
629 <div class="user-details">
630 <a id="history-3088" href="/posts/3088/revisions" title="show revision history for this post">
631 34 revs, 8 users 58%<br><a href="/users/92">Justin Standard</a>
632
633 </a>
634 </div>
635</div>
636 </div>
637 </div>
638</div>
639
640 <div class="special-status post-layout--full">
641 <div class="question-status">
642 <h2> <b>closed</b> as not constructive by <a href="/users/1228/will">Will</a> <span dir="ltr"><span title="2011-09-14 17:54:00Z" class="relativetime">Sep 14 '11 at 17:54</span></span>
643</h2>
644 <p>As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, <a href="/help/reopen-questions">visit the help center</a> for guidance. <span class="close-status-suffix">If this question can be reworded to fit the rules in the <a href="/help/closed-questions">help center</a>, please <a href="/posts/3088/edit">edit the question</a>.</span></p>
645 </div>
646
647 <div class="question-status">
648 <h2> <b>locked</b> by <a href="/users/17174/sam-saffron">Sam Saffron</a> <span dir="ltr"><span title="2012-04-01 23:20:23Z" class="relativetime">Apr 1 '12 at 23:20</span></span>
649</h2>
650 <p>This question exists because it has historical significance, but <b>it is not considered a good, on-topic question for this site</b>, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: <a href="https://stackoverflow.com/help">help center</a>.</p>
651 </div>
652 </div>
653
654 <div class="post-layout--right">
655 <div id="comments-3088" class="comments js-comments-container ">
656 <ul class="comments-list js-comments-list"
657 data-remaining-comments-count="0"
658 data-canpost="false"
659 data-cansee="false"
660 data-comments-unavailable="true"
661 data-addlink-disabled="true">
662
663
664
665 <li id="comment-3656" class="comment js-comment " data-comment-id="3656">
666 <div class="js-comment-actions comment-actions">
667 <div class="comment-score">
668 </div>
669 </div>
670 <div class="comment-text js-comment-text-and-form">
671 <div style="display: block;" class="comment-body">
672 <span class="comment-copy">s/Reccomended/Recommended/</span>
673 – <a href="/users/4279/jfs"
674 title="243,566 reputation"
675 class="comment-user">jfs</a>
676 <span class="comment-date" dir="ltr"><span title="2008-09-12 18:43:48Z" class="relativetime-clean">Sep 12 '08 at 18:43</span></span>
677 </div>
678 </div>
679 </li>
680 <li id="comment-9019914" class="comment js-comment " data-comment-id="9019914">
681 <div class="js-comment-actions comment-actions">
682 <div class="comment-score">
683 </div>
684 </div>
685 <div class="comment-text js-comment-text-and-form">
686 <div style="display: block;" class="comment-body">
687 <span class="comment-copy">I don't understand why this should be closed. At least 295 users have found this question (and the 92 answers) to be helpful enough to up-vote it, with 290 going so far as to consider it one of their favorites. The question resulted in a very useful aggregation of teaching resources. It hasn't really resulted in 'arguments' or 'debates', but really a lot of great advice about how to address one of the difficult 'human factors' in programming. I think closing a question like this is draconian and detrimental to the StackOverflow community.</span>
688 – <a href="/users/92/justin-standard"
689 title="16,989 reputation"
690 class="comment-user owner">Justin Standard</a>
691 <span class="comment-date" dir="ltr"><span title="2011-09-17 17:58:42Z" class="relativetime-clean">Sep 17 '11 at 17:58</span></span>
692 <span class="edited-yes" title="this comment was edited 1 time"></span>
693 </div>
694 </div>
695 </li>
696 <li id="comment-9514368" class="comment js-comment " data-comment-id="9514368">
697 <div class="js-comment-actions comment-actions">
698 <div class="comment-score">
699 </div>
700 </div>
701 <div class="comment-text js-comment-text-and-form">
702 <div style="display: block;" class="comment-body">
703 <span class="comment-copy">@JustinStandard Have you considered converting your edits to several of the answers to comments? E.g. <a href="http://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program/10558#10558">here</a>, <a href="http://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program/6517#6517">here</a>, and <a href="http://stackoverflow.com/questions/3088/best-ways-to-teach-a-beginner-to-program/3109#3109">here</a></span>
704 – <a href="/users/496830/jason-plank"
705 title="2,136 reputation"
706 class="comment-user">Jason Plank</a>
707 <span class="comment-date" dir="ltr"><span title="2011-10-18 14:14:03Z" class="relativetime-clean">Oct 18 '11 at 14:14</span></span>
708 <span class="edited-yes" title="this comment was edited 1 time"></span>
709 </div>
710 </div>
711 </li>
712 </ul>
713 </div>
714
715 <div id="comments-link-3088" data-rep=50 data-anon=true>
716
717 <a class="js-add-link comments-link disabled-link "
718 title="Use comments to ask for more information or suggest improvements. Avoid answering questions in comments."
719 >comments disabled on deleted / locked posts / reviews</a><span class="js-link-separator dno"> | </span>
720 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
721 </div>
722 </div> </div>
723</div>
724
725
726
727 <div id="answers">
728
729 <a name="tab-top"></a>
730 <div id="answers-header">
731 <div class="subheader answers-subheader">
732 <h2 data-answercount="86">
733 86 Answers
734 <span style="display:none;" itemprop="answerCount">86</span>
735 </h2>
736 <div>
737
738<div id="tabs">
739 <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?answertab=active#tab-top" data-nav-xhref="" title="Answers with the latest activity first" data-value="active" data-shortcut="A">
740 active</a>
741 <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?answertab=oldest#tab-top" data-nav-xhref="" title="Answers in the order they were provided" data-value="oldest" data-shortcut="O">
742 oldest</a>
743 <a class="youarehere is-selected " href="/questions/3088/best-ways-to-teach-a-beginner-to-program?answertab=votes#tab-top" data-nav-xhref="" title="Answers with the highest score first" data-value="votes" data-shortcut="V">
744 votes</a>
745 </div>
746
747 </div>
748 </div>
749 </div>
750
751
752<div class="pager-answers">
753
754
755
756
757
758 <span class="page-numbers current">1</span> <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?page=2&tab=votes#tab-top" title="go to page 2"> <span class="page-numbers">2</span> </a>
759 <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?page=3&tab=votes#tab-top" title="go to page 3"> <span class="page-numbers">3</span> </a>
760 <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?page=2&tab=votes#tab-top" rel="next" title="go to page 2"> <span class="page-numbers next"> next</span> </a>
761
762 </div>
763
764
765<a name="3117"></a>
766<div id="answer-3117" class="answer ice-ice-baby" data-answerid="3117" itemscope itemtype="http://schema.org/Answer">
767 <div class="post-layout">
768 <div class="votecell post-layout--left">
769
770
771<div class="vote">
772 <input type="hidden" name="_id_" value="3117">
773 <a class="vote-up-off" title="This answer is useful">up vote</a>
774 <span itemprop="upvoteCount" class="vote-count-post ">118</span>
775 <a class="vote-down-off" title="This answer is not useful">down vote</a>
776
777
778
779
780</div>
781
782 </div>
783
784
785
786<div class="answercell post-layout--right">
787 <div class="post-text" itemprop="text">
788<p>I've had to work with several beginner (never wrote a line of code) programmers, and I'll be doing an after school workshop with high school students this fall. This is the closest thing I've got to documentation. It's still a work in progress, but I hope it helps.</p>
789
790<p>1) <b>FizzBuzz.</b> Start with command line programs. You can write some fun games, or tools, very quickly, and you learn all of the language features very quickly without having to learn the GUI tools first. These early apps should be simple enough that you won't need to use any real debugging tools to make them work.</p>
791
792<p>If nothing else things like FizzBuzz are good projects. Your first few apps should not have to deal with DBs, file system, configuration, ect. These are concepts which just confuse most people, and when you're just learning the syntax and basic framework features you really don't need more complexity.</p>
793
794<p>Some projects:</p>
795
796<ul>
797<li>Hello World!</li>
798<li>Take the year of my birth, and calculate my age (just (now - then) no month corrections). <i>(simple math, input, output)</i></li>
799<li>Ask for a direction(Up, down, left, right), then tell the user their fate (fall in a hole, find a cake, ect). <i>(Boolean logic)</i></li>
800<li>FizzBuzz, but count once every second. <i>(Loops, timers, and more logic)</i></li>
801<li>Depending on their age some really like an app which calls the users a random insult at some interval. <i>(Loops, arrays, timers, and random if you make the interval random)</i></li>
802</ul>
803
804<p>2) <b>Simple Project</b> Once they have a good grasp of language features, you can start a project(simple, fun games work good.). You should try to have the first project be able to be completed within 6-12 hours. Don't spend time to architect it early. Let them design it even if it sucks. If it falls apart, talk about what happened and why it failed, then pick another topic and start again.</p>
805
806<p>This is where you start introducing the debugging capabilities of your tools. Even if you can see the problem by reading the code you should teach them how to use the tools, and then show them how you could see it. That serves the dual purpose of teaching the debugging tools and teaching how to ID errors without tools.</p>
807
808<p>Once, or if, the project gets functional you can use it to introduce refactoring tools. Its good if you can then expand the project with some simple features which you never planned for. This usually means refactoring and significant debugging, since very few people write even half decent code their first time.</p>
809
810<p>Some projects:</p>
811
812<ul>
813<li>Hangman game</li>
814<li>Experimenting with robotics(<a href="http://www.vexlabs.com" rel="nofollow noreferrer">Vex</a> and <a href="http://mindstorms.lego.com" rel="nofollow noreferrer">Mindstorms</a> are options) </li>
815</ul>
816
817<p>3) <b>Real Project </b> Start a real project which may take some time. Use proper source control, and make a point to have a schedule. Run this project like a real project, if nothing else its good experience having to deal with the tools.</p>
818
819<p>Obviously you need to adjust this for each person. The most important thing I've found is to make even the first simple apps apply to what the person is interested in. </p>
820
821<p>Some projects:</p>
822
823<ul>
824<li>Tetris</li>
825<li>Text file based blog engine</li>
826<li>More advanced robotics work</li>
827</ul>
828 </div>
829 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
830 <div class="grid--cell mr16" style="flex: 1 1 100px;">
831<div class="post-menu"><a href="/a/3117" title="short permalink to this answer" class="short-link" id="link-post-3117">share</a></div> </div>
832 <div class="post-signature grid--cell fl0">
833<div class="user-info ">
834 <div class="user-action-time">
835 <a href="/posts/3117/revisions" title="show all edits to this post">edited <span title="2009-04-07 13:34:20Z" class="relativetime">Apr 7 '09 at 13:34</span></a>
836 </div>
837 <div class="user-gravatar32">
838
839 </div>
840 <div class="user-details">
841
842 <div class="-flair">
843
844 </div>
845 </div>
846</div> </div>
847
848
849
850 <div class="post-signature grid--cell fl0">
851
852
853 <div class="user-info">
854 <div class="user-details">
855 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
856 community wiki
857 </span>
858 </div><br>
859 <div class="user-details">
860 <a id="history-3117" href="/posts/3117/revisions" title="show revision history for this post">
861 4 revs, 4 users 94%<br><a href="/users/100">Eric Haskins</a>
862
863 </a>
864 </div>
865</div>
866 </div>
867 </div>
868</div>
869
870 <div class="post-layout--right">
871 <div id="comments-3117" class="comments js-comments-container ">
872 <ul class="comments-list js-comments-list"
873 data-remaining-comments-count="0"
874 data-canpost="false"
875 data-cansee="true"
876 data-comments-unavailable="false"
877 data-addlink-disabled="true">
878
879
880
881 <li id="comment-5362" class="comment js-comment " data-comment-id="5362">
882 <div class="js-comment-actions comment-actions">
883 <div class="comment-score">
884 <span title="number of 'useful comment' votes received"
885 class="cool">3</span>
886 </div>
887 </div>
888 <div class="comment-text js-comment-text-and-form">
889 <div style="display: block;" class="comment-body">
890 <span class="comment-copy">Don't apologize for a long post.</span>
891 – <a href="/users/1337/brad-gilbert"
892 title="22,133 reputation"
893 class="comment-user">Brad Gilbert</a>
894 <span class="comment-date" dir="ltr"><span title="2008-09-15 16:32:27Z" class="relativetime-clean">Sep 15 '08 at 16:32</span></span>
895 </div>
896 </div>
897 </li>
898 <li id="comment-2378498" class="comment js-comment " data-comment-id="2378498">
899 <div class="js-comment-actions comment-actions">
900 <div class="comment-score">
901 </div>
902 </div>
903 <div class="comment-text js-comment-text-and-form">
904 <div style="display: block;" class="comment-body">
905 <span class="comment-copy">This is a great guide. Personally, I cannot code my way out of a paper bag (I'd like to see someone do that in real life, actually), so this looks like a good guide for teaching myself too.</span>
906 – <a href="/users/28914/keyofnight"
907 title="659 reputation"
908 class="comment-user">keyofnight</a>
909 <span class="comment-date" dir="ltr"><span title="2010-03-08 01:28:16Z" class="relativetime-clean">Mar 8 '10 at 1:28</span></span>
910 </div>
911 </div>
912 </li>
913 <li id="comment-3327771" class="comment js-comment " data-comment-id="3327771">
914 <div class="js-comment-actions comment-actions">
915 <div class="comment-score">
916 </div>
917 </div>
918 <div class="comment-text js-comment-text-and-form">
919 <div style="display: block;" class="comment-body">
920 <span class="comment-copy">This is a very good answer. My only objection is that Tetris not a good choice for a first or second game. At that level, the collision detection can be a hard problem - it's great if they can solve it.</span>
921 – <a href="/users/224848/phkahler"
922 title="4,808 reputation"
923 class="comment-user">phkahler</a>
924 <span class="comment-date" dir="ltr"><span title="2010-07-11 22:30:19Z" class="relativetime-clean">Jul 11 '10 at 22:30</span></span>
925 </div>
926 </div>
927 </li>
928 <li id="comment-3496411" class="comment js-comment " data-comment-id="3496411">
929 <div class="js-comment-actions comment-actions">
930 <div class="comment-score">
931 </div>
932 </div>
933 <div class="comment-text js-comment-text-and-form">
934 <div style="display: block;" class="comment-body">
935 <span class="comment-copy">@phkahler I see your point, but I believe Tetris is interesting because there are so many OSS/demo implementation you can analize before and after writing your code.</span>
936 – <a href="/users/100/eric-haskins"
937 title="5,544 reputation"
938 class="comment-user">Eric Haskins</a>
939 <span class="comment-date" dir="ltr"><span title="2010-07-29 18:43:48Z" class="relativetime-clean">Jul 29 '10 at 18:43</span></span>
940 </div>
941 </div>
942 </li>
943 </ul>
944 </div>
945
946 <div id="comments-link-3117" data-rep=50 data-anon=true>
947
948 <a class="js-add-link comments-link disabled-link "
949 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
950 >add a comment</a><span class="js-link-separator dno"> | </span>
951 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
952 </div>
953 </div> </div>
954</div>
955<div id="dfp-mlb" class="everyonelovesstackoverflow everyoneloves__mid-leaderboard"></div>
956
957<a name="3105"></a>
958<div id="answer-3105" class="answer ice-ice-baby" data-answerid="3105" itemscope itemtype="http://schema.org/Answer">
959 <div class="post-layout">
960 <div class="votecell post-layout--left">
961
962
963<div class="vote">
964 <input type="hidden" name="_id_" value="3105">
965 <a class="vote-up-off" title="This answer is useful">up vote</a>
966 <span itemprop="upvoteCount" class="vote-count-post ">30</span>
967 <a class="vote-down-off" title="This answer is not useful">down vote</a>
968
969
970
971
972</div>
973
974 </div>
975
976
977
978<div class="answercell post-layout--right">
979 <div class="post-text" itemprop="text">
980<p>You could try using <a href="http://www.alice.org/" rel="nofollow noreferrer">Alice</a>. It's a 3D program designed for use in introductory programming classes.</p>
981
982<p>The two biggest obstacles for new programmers are often:</p>
983
984<ul>
985<li>syntax errors</li>
986<li>motivation (writing something meaningful and fun rather than contrived)</li>
987</ul>
988
989<p>Alice uses a drag and drop interface for constructing programs, avoiding the possibility of syntax errors. Alice lets you construct 3D worlds and have your code control (simple) 3D characters and animation, which is usually a lot more interesting than implementing linked lists.</p>
990
991<p>Experienced programmers may look down at Alice as a toy and scoff at dragging and dropping lines of code, but <a href="http://www.alice.org/index.php?page=publications/publications" rel="nofollow noreferrer">research</a> shows that this approach works.</p>
992
993<p>Disclaimer: I worked on Alice.</p>
994 </div>
995 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
996 <div class="grid--cell mr16" style="flex: 1 1 100px;">
997<div class="post-menu"><a href="/a/3105" title="short permalink to this answer" class="short-link" id="link-post-3105">share</a></div> </div>
998 <div class="post-signature grid--cell fl0">
999<div class="user-info ">
1000 <div class="user-action-time">
1001 <a href="/posts/3105/revisions" title="show all edits to this post">edited <span title="2008-08-06 10:03:57Z" class="relativetime">Aug 6 '08 at 10:03</span></a>
1002 </div>
1003 <div class="user-gravatar32">
1004
1005 </div>
1006 <div class="user-details">
1007
1008 <div class="-flair">
1009
1010 </div>
1011 </div>
1012</div> </div>
1013
1014
1015
1016 <div class="post-signature grid--cell fl0">
1017
1018
1019 <div class="user-info">
1020 <div class="user-details">
1021 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
1022 community wiki
1023 </span>
1024 </div><br>
1025 <div class="user-details">
1026 <a id="history-3105" href="/posts/3105/revisions" title="show revision history for this post">
1027 2 revs<br><a href="/users/99">Jason Pratt</a>
1028 </a>
1029 </div>
1030</div>
1031 </div>
1032 </div>
1033</div>
1034
1035 <div class="post-layout--right">
1036 <div id="comments-3105" class="comments js-comments-container ">
1037 <ul class="comments-list js-comments-list"
1038 data-remaining-comments-count="0"
1039 data-canpost="false"
1040 data-cansee="true"
1041 data-comments-unavailable="false"
1042 data-addlink-disabled="true">
1043
1044
1045
1046 <li id="comment-8650544" class="comment js-comment " data-comment-id="8650544">
1047 <div class="js-comment-actions comment-actions">
1048 <div class="comment-score">
1049 </div>
1050 </div>
1051 <div class="comment-text js-comment-text-and-form">
1052 <div style="display: block;" class="comment-body">
1053 <span class="comment-copy">I came to know of it through Randy Pausch's last lecture. The reasoning behind this project blew my mind.</span>
1054 – <a href="/users/604511/aitchnyu"
1055 title="9,934 reputation"
1056 class="comment-user">aitchnyu</a>
1057 <span class="comment-date" dir="ltr"><span title="2011-08-26 07:46:44Z" class="relativetime-clean">Aug 26 '11 at 7:46</span></span>
1058 </div>
1059 </div>
1060 </li>
1061 </ul>
1062 </div>
1063
1064 <div id="comments-link-3105" data-rep=50 data-anon=true>
1065
1066 <a class="js-add-link comments-link disabled-link "
1067 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1068 >add a comment</a><span class="js-link-separator dno"> | </span>
1069 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1070 </div>
1071 </div> </div>
1072</div>
1073
1074
1075<a name="18856"></a>
1076<div id="answer-18856" class="answer ice-ice-baby" data-answerid="18856" itemscope itemtype="http://schema.org/Answer">
1077 <div class="post-layout">
1078 <div class="votecell post-layout--left">
1079
1080
1081<div class="vote">
1082 <input type="hidden" name="_id_" value="18856">
1083 <a class="vote-up-off" title="This answer is useful">up vote</a>
1084 <span itemprop="upvoteCount" class="vote-count-post ">28</span>
1085 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1086
1087
1088
1089
1090</div>
1091
1092 </div>
1093
1094
1095
1096<div class="answercell post-layout--right">
1097 <div class="post-text" itemprop="text">
1098<p>I recommend Logo (aka the turtle) to get the basic concepts down. It provides a good sandbox with immediate graphical feedback, and you can demostrate loops, variables, functions, conditionals, etc. <a href="http://mckoss.com/logo/" rel="nofollow noreferrer" title="Learning Logo">This page</a> provides an excellent tutorial. </p>
1099
1100<p>After Logo, move to Python or Ruby. I recommend Python, as it's based on ABC, which was invented for the purpose of teaching programming. </p>
1101
1102<p>When teaching programming, I must second EHaskins's suggestion of simple projects and then complex projects. The best way to learn is to start with a definite outcome and a measurable milestone. It keeps the lessons focused, allows the student to build skills and then build on those skills, and gives the student something to show off to friends. Don't underestimate the power of having something to show for one's work.</p>
1103
1104<p>Theoretically, you can stick with Python, as Python can do almost anything. It's a good vehicle to teach object-oriented programming and (most) algorithms. You can run Python in interactive mode like a command line to get a feel for how it works, or run whole scripts at once. You can run your scripts interpreted on the fly, or compile them into binaries. There are thousands of modules to extend the functionality. You can make a graphical calculator like the one bundled with Windows, or you can make an IRC client, or anything else. </p>
1105
1106<p><a href="http://xkcd.com/353/" rel="nofollow noreferrer" title="Python">XKCD</a> describes Python's power a little better:
1107<img src="https://i.stack.imgur.com/OtSPD.png" alt=""You're flying! How?" "Python!"" title="Python"></p>
1108
1109<p>You can move to C# or Java after that, though they don't offer much that Python doesn't already have. The benefit of these is that they use C-style syntax, which many (dare I say most?) languages use. You don't need to worry about memory management yet, but you can get used to having a bit more freedom and less handholding from the language interpreter. Python enforces whitespace and indenting, which is nice most of the time but not always. C# and Java let you manage your own whitespace while remaining strongly-typed. </p>
1110
1111<p>From there, the standard is C or C++. The freedom in these languages is almost existential. You are now in charge of your own memory management. There is no garbage collection to help you. This is where you teach the really advanced algorithms (like mergesort and quicksort). This is where you learn why "segmentation fault" is a curse word. This is where you download the source code of the Linux kernel and gaze into the Abyss. Start by writing a circular buffer and a stack for string manipulation. Then work your way up.</p>
1112 </div>
1113 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1114 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1115<div class="post-menu"><a href="/a/18856" title="short permalink to this answer" class="short-link" id="link-post-18856">share</a></div> </div>
1116 <div class="post-signature grid--cell fl0">
1117<div class="user-info ">
1118 <div class="user-action-time">
1119 <a href="/posts/18856/revisions" title="show all edits to this post">edited <span title="2012-03-28 19:16:27Z" class="relativetime">Mar 28 '12 at 19:16</span></a>
1120 </div>
1121 <div class="user-gravatar32">
1122
1123 </div>
1124 <div class="user-details">
1125
1126 <div class="-flair">
1127
1128 </div>
1129 </div>
1130</div> </div>
1131
1132
1133
1134 <div class="post-signature grid--cell fl0">
1135
1136
1137 <div class="user-info">
1138 <div class="user-details">
1139 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
1140 community wiki
1141 </span>
1142 </div><br>
1143 <div class="user-details">
1144 <a id="history-18856" href="/posts/18856/revisions" title="show revision history for this post">
1145 3 revs, 2 users 95%<br><a href="/users/2188">Magus</a>
1146
1147 </a>
1148 </div>
1149</div>
1150 </div>
1151 </div>
1152</div>
1153
1154 <div class="post-layout--right">
1155 <div id="comments-18856" class="comments js-comments-container ">
1156 <ul class="comments-list js-comments-list"
1157 data-remaining-comments-count="0"
1158 data-canpost="false"
1159 data-cansee="true"
1160 data-comments-unavailable="false"
1161 data-addlink-disabled="true">
1162
1163
1164
1165 <li id="comment-8078895" class="comment js-comment " data-comment-id="8078895">
1166 <div class="js-comment-actions comment-actions">
1167 <div class="comment-score">
1168 </div>
1169 </div>
1170 <div class="comment-text js-comment-text-and-form">
1171 <div style="display: block;" class="comment-body">
1172 <span class="comment-copy">Actually, you don't fully manage the memory in C. You get to have malloc, etc, and free manage it for you. You just have to tell the system when you want more memory and when you're done with memory that you've been using.</span>
1173 – <a href="/users/538643/compman"
1174 title="979 reputation"
1175 class="comment-user">compman</a>
1176 <span class="comment-date" dir="ltr"><span title="2011-07-24 00:52:30Z" class="relativetime-clean">Jul 24 '11 at 0:52</span></span>
1177 </div>
1178 </div>
1179 </li>
1180 </ul>
1181 </div>
1182
1183 <div id="comments-link-18856" data-rep=50 data-anon=true>
1184
1185 <a class="js-add-link comments-link disabled-link "
1186 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1187 >add a comment</a><span class="js-link-separator dno"> | </span>
1188 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1189 </div>
1190 </div> </div>
1191</div>
1192
1193
1194<a name="3109"></a>
1195<div id="answer-3109" class="answer ice-ice-baby" data-answerid="3109" itemscope itemtype="http://schema.org/Answer">
1196 <div class="post-layout">
1197 <div class="votecell post-layout--left">
1198
1199
1200<div class="vote">
1201 <input type="hidden" name="_id_" value="3109">
1202 <a class="vote-up-off" title="This answer is useful">up vote</a>
1203 <span itemprop="upvoteCount" class="vote-count-post ">15</span>
1204 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1205
1206
1207
1208
1209</div>
1210
1211 </div>
1212
1213
1214
1215<div class="answercell post-layout--right">
1216 <div class="post-text" itemprop="text">
1217<p>A good python course is MIT's <a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-189January--IAP--2008/CourseHome/" rel="nofollow noreferrer">A Gentle Introduction to Programming Using Python</a>. It's all free online, and you don't have to be an MIT uberstudent to understand it.</p>
1218
1219<blockquote>
1220 <p>Edit [<a href="https://stackoverflow.com/users/92/justin-standard">Justin Standard</a>]</p>
1221
1222 <p>This course uses this free online book: <a href="http://www.openbookproject.net/thinkcs/python/english2e/index.xhtml" rel="nofollow noreferrer">How To Think Like a Computer Scientist</a><br>
1223 I'm definitely finding it quite useful.</p>
1224</blockquote>
1225 </div>
1226 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1227 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1228<div class="post-menu"><a href="/a/3109" title="short permalink to this answer" class="short-link" id="link-post-3109">share</a></div> </div>
1229 <div class="post-signature grid--cell fl0">
1230<div class="user-info ">
1231 <div class="user-action-time">
1232 <a href="/posts/3109/revisions" title="show all edits to this post">edited <span title="2017-05-23 11:54:50Z" class="relativetime">May 23 '17 at 11:54</span></a>
1233 </div>
1234 <div class="user-gravatar32">
1235
1236 </div>
1237 <div class="user-details">
1238
1239 <div class="-flair">
1240
1241 </div>
1242 </div>
1243</div> </div>
1244
1245
1246
1247 <div class="post-signature grid--cell fl0">
1248
1249
1250 <div class="user-info">
1251 <div class="user-details">
1252 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
1253 community wiki
1254 </span>
1255 </div><br>
1256 <div class="user-details">
1257 <a id="history-3109" href="/posts/3109/revisions" title="show revision history for this post">
1258 4 revs, 2 users 59%<br><a href="/users/92">Justin Standard</a>
1259 </a>
1260 </div>
1261</div>
1262 </div>
1263 </div>
1264</div>
1265
1266 <div class="post-layout--right">
1267 <div id="comments-3109" class="comments js-comments-container dno">
1268 <ul class="comments-list js-comments-list"
1269 data-remaining-comments-count="0"
1270 data-canpost="false"
1271 data-cansee="true"
1272 data-comments-unavailable="false"
1273 data-addlink-disabled="true">
1274
1275 </ul>
1276 </div>
1277
1278 <div id="comments-link-3109" data-rep=50 data-anon=true>
1279
1280 <a class="js-add-link comments-link disabled-link "
1281 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1282 >add a comment</a><span class="js-link-separator dno"> | </span>
1283 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1284 </div>
1285 </div> </div>
1286</div>
1287
1288
1289<a name="50351"></a>
1290<div id="answer-50351" class="answer ice-ice-baby" data-answerid="50351" itemscope itemtype="http://schema.org/Answer">
1291 <div class="post-layout">
1292 <div class="votecell post-layout--left">
1293
1294
1295<div class="vote">
1296 <input type="hidden" name="_id_" value="50351">
1297 <a class="vote-up-off" title="This answer is useful">up vote</a>
1298 <span itemprop="upvoteCount" class="vote-count-post ">12</span>
1299 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1300
1301
1302
1303
1304</div>
1305
1306 </div>
1307
1308
1309
1310<div class="answercell post-layout--right">
1311 <div class="post-text" itemprop="text">
1312<p>Python package <a href="http://vpython.org">VPython</a> -- 3D Programming for Ordinary Mortal (<a href="http://showmedo.com/videos/video?name=pythonThompsonVPython1&fromSeriesID=30">video tutorial</a>). </p>
1313
1314<p><a href="http://vpython.org/vpythonprog.htm">Code example:</a></p>
1315
1316<pre><code>from visual import *
1317
1318floor = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)
1319ball = sphere (pos=(0,4,0), radius=1, color=color.red)
1320ball.velocity = vector(0,-1,0)
1321dt = 0.01
1322
1323while 1:
1324 rate (100)
1325 ball.pos = ball.pos + ball.velocity*dt
1326 if ball.y < ball.radius:
1327 ball.velocity.y = -ball.velocity.y
1328 else:
1329 ball.velocity.y = ball.velocity.y - 9.8*dt
1330</code></pre>
1331
1332<p><a href="http://vpython.org/bounce.gif">VPython bouncing ball http://vpython.org/bounce.gif</a></p>
1333 </div>
1334 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1335 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1336<div class="post-menu"><a href="/a/50351" title="short permalink to this answer" class="short-link" id="link-post-50351">share</a></div> </div>
1337 <div class="post-signature grid--cell fl0">
1338<div class="user-info ">
1339 <div class="user-action-time">
1340 answered <a href="/posts/50351/revisions" title="show all edits to this post"><span title="2008-09-08 18:26:28Z" class="relativetime">Sep 8 '08 at 18:26</span></a>
1341 </div>
1342 <div class="user-gravatar32">
1343
1344 </div>
1345 <div class="user-details">
1346
1347 <div class="-flair">
1348
1349 </div>
1350 </div>
1351</div> </div>
1352
1353
1354
1355 <div class="post-signature grid--cell fl0">
1356
1357
1358 <div class="user-info">
1359 <div class="user-details">
1360 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
1361 community wiki
1362 </span>
1363 </div><br>
1364 <div class="user-details">
1365 <a id="history-50351" href="/posts/50351/revisions" title="show revision history for this post">
1366 jfs
1367 </a>
1368 </div>
1369</div>
1370 </div>
1371 </div>
1372</div>
1373
1374 <div class="post-layout--right">
1375 <div id="comments-50351" class="comments js-comments-container ">
1376 <ul class="comments-list js-comments-list"
1377 data-remaining-comments-count="0"
1378 data-canpost="false"
1379 data-cansee="true"
1380 data-comments-unavailable="false"
1381 data-addlink-disabled="true">
1382
1383
1384
1385 <li id="comment-3327781" class="comment js-comment " data-comment-id="3327781">
1386 <div class="js-comment-actions comment-actions">
1387 <div class="comment-score">
1388 </div>
1389 </div>
1390 <div class="comment-text js-comment-text-and-form">
1391 <div style="display: block;" class="comment-body">
1392 <span class="comment-copy">Good for just after they've learned the basic concepts. Creating visuals is a great way to motivate people to learn programming.</span>
1393 – <a href="/users/224848/phkahler"
1394 title="4,808 reputation"
1395 class="comment-user">phkahler</a>
1396 <span class="comment-date" dir="ltr"><span title="2010-07-11 22:32:21Z" class="relativetime-clean">Jul 11 '10 at 22:32</span></span>
1397 </div>
1398 </div>
1399 </li>
1400 </ul>
1401 </div>
1402
1403 <div id="comments-link-50351" data-rep=50 data-anon=true>
1404
1405 <a class="js-add-link comments-link disabled-link "
1406 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1407 >add a comment</a><span class="js-link-separator dno"> | </span>
1408 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1409 </div>
1410 </div> </div>
1411</div>
1412
1413
1414<a name="587826"></a>
1415<div id="answer-587826" class="answer ice-ice-baby" data-answerid="587826" itemscope itemtype="http://schema.org/Answer">
1416 <div class="post-layout">
1417 <div class="votecell post-layout--left">
1418
1419
1420<div class="vote">
1421 <input type="hidden" name="_id_" value="587826">
1422 <a class="vote-up-off" title="This answer is useful">up vote</a>
1423 <span itemprop="upvoteCount" class="vote-count-post ">12</span>
1424 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1425
1426
1427
1428
1429</div>
1430
1431 </div>
1432
1433
1434
1435<div class="answercell post-layout--right">
1436 <div class="post-text" itemprop="text">
1437<p><strong>Begin with Turtle graphics in Python.</strong></p>
1438
1439<p>I would use the turtle graphics which comes standard with Python. It is visual, simple and you could use this environment to introduce many programming concepts like iteration and procedure calls before getting too far into syntax. Consider the following interactive session in python:</p>
1440
1441<pre><code>>>> from turtle import *
1442>>> setup()
1443>>> title("turtle test")
1444>>> clear()
1445>>>
1446>>> #DRAW A SQUARE
1447>>> down() #pen down
1448>>> forward(50) #move forward 50 units
1449>>> right(90) #turn right 90 degrees
1450>>> forward(50)
1451>>> right(90)
1452>>> forward(50)
1453>>> right(90)
1454>>> forward(50)
1455>>>
1456>>> #INTRODUCE ITERATION TO SIMPLIFY SQUARE CODE
1457>>> clear()
1458>>> for i in range(4):
1459 forward(50)
1460 right(90)
1461>>>
1462>>> #INTRODUCE PROCEDURES
1463>>> def square(length):
1464 down()
1465 for i in range(4):
1466 forward(length)
1467 right(90)
1468>>>
1469>>> #HAVE STUDENTS PREDICT WHAT THIS WILL DRAW
1470>>> for i in range(50):
1471 up()
1472 left(90)
1473 forward(25)
1474 square(i)
1475>>>
1476>>> #NOW HAVE THE STUDENTS WRITE CODE TO DRAW
1477>>> #A SQUARE 'TUNNEL' (I.E. CONCENTRIC SQUARES
1478>>> #GETTING SMALLER AND SMALLER).
1479>>>
1480>>> #AFTER THAT, MAKE THE TUNNEL ROTATE BY HAVING
1481>>> #EACH SUCCESSIVE SQUARE TILTED
1482</code></pre>
1483
1484<p>In trying to accomplish the last two assignments, they will have many failed attempts, but the failures will be visually interesting and they'll learn quickly as they try to figure out why it didn't draw what they expected.</p>
1485 </div>
1486 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1487 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1488<div class="post-menu"><a href="/a/587826" title="short permalink to this answer" class="short-link" id="link-post-587826">share</a></div> </div>
1489 <div class="post-signature grid--cell fl0">
1490<div class="user-info ">
1491 <div class="user-action-time">
1492 answered <a href="/posts/587826/revisions" title="show all edits to this post"><span title="2009-02-25 21:00:08Z" class="relativetime">Feb 25 '09 at 21:00</span></a>
1493 </div>
1494 <div class="user-gravatar32">
1495
1496 </div>
1497 <div class="user-details">
1498
1499 <div class="-flair">
1500
1501 </div>
1502 </div>
1503</div> </div>
1504
1505
1506
1507 <div class="post-signature grid--cell fl0">
1508
1509
1510 <div class="user-info">
1511 <div class="user-details">
1512 <span class="community-wiki" title="This post is community owned as of Feb 25 '09 at 21:00. Votes do not generate reputation, and it can be edited by users with 100 rep">
1513 community wiki
1514 </span>
1515 </div><br>
1516 <div class="user-details">
1517 <a id="history-587826" href="/posts/587826/revisions" title="show revision history for this post">
1518 dyoung
1519 </a>
1520 </div>
1521</div>
1522 </div>
1523 </div>
1524</div>
1525
1526 <div class="post-layout--right">
1527 <div id="comments-587826" class="comments js-comments-container ">
1528 <ul class="comments-list js-comments-list"
1529 data-remaining-comments-count="0"
1530 data-canpost="false"
1531 data-cansee="true"
1532 data-comments-unavailable="false"
1533 data-addlink-disabled="true">
1534
1535
1536
1537 <li id="comment-1040245" class="comment js-comment " data-comment-id="1040245">
1538 <div class="js-comment-actions comment-actions">
1539 <div class="comment-score">
1540 <span title="number of 'useful comment' votes received"
1541 class="cool">1</span>
1542 </div>
1543 </div>
1544 <div class="comment-text js-comment-text-and-form">
1545 <div style="display: block;" class="comment-body">
1546 <span class="comment-copy">Cool! I had no idea this is part of Python</span>
1547 – <a href="/users/8206/eli-bendersky"
1548 title="153,846 reputation"
1549 class="comment-user">Eli Bendersky</a>
1550 <span class="comment-date" dir="ltr"><span title="2009-08-01 06:19:30Z" class="relativetime-clean">Aug 1 '09 at 6:19</span></span>
1551 </div>
1552 </div>
1553 </li>
1554 <li id="comment-3972424" class="comment js-comment " data-comment-id="3972424">
1555 <div class="js-comment-actions comment-actions">
1556 <div class="comment-score">
1557 </div>
1558 </div>
1559 <div class="comment-text js-comment-text-and-form">
1560 <div style="display: block;" class="comment-body">
1561 <span class="comment-copy">Agreed...this is very awesome.</span>
1562 – <a href="/users/62649/cal-jacobson"
1563 title="2,420 reputation"
1564 class="comment-user">Cal Jacobson</a>
1565 <span class="comment-date" dir="ltr"><span title="2010-09-20 23:07:45Z" class="relativetime-clean">Sep 20 '10 at 23:07</span></span>
1566 </div>
1567 </div>
1568 </li>
1569 <li id="comment-4335943" class="comment js-comment " data-comment-id="4335943">
1570 <div class="js-comment-actions comment-actions">
1571 <div class="comment-score">
1572 </div>
1573 </div>
1574 <div class="comment-text js-comment-text-and-form">
1575 <div style="display: block;" class="comment-body">
1576 <span class="comment-copy">This is awesome!</span>
1577 – <a href="/users/193653/claws"
1578 title="19,879 reputation"
1579 class="comment-user">claws</a>
1580 <span class="comment-date" dir="ltr"><span title="2010-10-28 04:22:27Z" class="relativetime-clean">Oct 28 '10 at 4:22</span></span>
1581 </div>
1582 </div>
1583 </li>
1584 <li id="comment-6492425" class="comment js-comment " data-comment-id="6492425">
1585 <div class="js-comment-actions comment-actions">
1586 <div class="comment-score">
1587 </div>
1588 </div>
1589 <div class="comment-text js-comment-text-and-form">
1590 <div style="display: block;" class="comment-body">
1591 <span class="comment-copy"><a href="http://us.pycon.org/media/2009/talkdata/PyCon2009/065/SevenWaysToUseTurtle-PyCon2007.pdf" rel="nofollow noreferrer">us.pycon.org/media/2009/talkdata/PyCon2009/065/…</a></span>
1592 – <a href="/users/4279/jfs"
1593 title="243,566 reputation"
1594 class="comment-user">jfs</a>
1595 <span class="comment-date" dir="ltr"><span title="2011-04-16 07:47:31Z" class="relativetime-clean">Apr 16 '11 at 7:47</span></span>
1596 </div>
1597 </div>
1598 </li>
1599 </ul>
1600 </div>
1601
1602 <div id="comments-link-587826" data-rep=50 data-anon=true>
1603
1604 <a class="js-add-link comments-link disabled-link "
1605 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1606 >add a comment</a><span class="js-link-separator dno"> | </span>
1607 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1608 </div>
1609 </div> </div>
1610</div>
1611
1612
1613<a name="22045"></a>
1614<div id="answer-22045" class="answer ice-ice-baby" data-answerid="22045" itemscope itemtype="http://schema.org/Answer">
1615 <div class="post-layout">
1616 <div class="votecell post-layout--left">
1617
1618
1619<div class="vote">
1620 <input type="hidden" name="_id_" value="22045">
1621 <a class="vote-up-off" title="This answer is useful">up vote</a>
1622 <span itemprop="upvoteCount" class="vote-count-post ">11</span>
1623 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1624
1625
1626
1627
1628</div>
1629
1630 </div>
1631
1632
1633
1634<div class="answercell post-layout--right">
1635 <div class="post-text" itemprop="text">
1636<p>The key thing is that the person in question needs to have some problem that they want solving. If you don't have a program that you want to write (and something sensible and well-defined, not "I want to write the next Quake!") then you can't learn to program, because you have nothing to motivate you. I mean, you could read a book and have a rough understanding of a language's syntax and semantics, but until you have <em>a program that you want written</em> you'll never grasp the nettle.</p>
1637
1638<p>If that impetus exists then everything else is just minor details.</p>
1639 </div>
1640 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1641 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1642<div class="post-menu"><a href="/a/22045" title="short permalink to this answer" class="short-link" id="link-post-22045">share</a></div> </div>
1643 <div class="post-signature grid--cell fl0">
1644<div class="user-info ">
1645 <div class="user-action-time">
1646 answered <a href="/posts/22045/revisions" title="show all edits to this post"><span title="2008-08-22 10:35:35Z" class="relativetime">Aug 22 '08 at 10:35</span></a>
1647 </div>
1648 <div class="user-gravatar32">
1649
1650 </div>
1651 <div class="user-details">
1652
1653 <div class="-flair">
1654
1655 </div>
1656 </div>
1657</div> </div>
1658
1659
1660
1661 <div class="post-signature grid--cell fl0">
1662
1663
1664 <div class="user-info">
1665 <div class="user-details">
1666 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
1667 community wiki
1668 </span>
1669 </div><br>
1670 <div class="user-details">
1671 <a id="history-22045" href="/posts/22045/revisions" title="show revision history for this post">
1672 DrPizza
1673 </a>
1674 </div>
1675</div>
1676 </div>
1677 </div>
1678</div>
1679
1680 <div class="post-layout--right">
1681 <div id="comments-22045" class="comments js-comments-container ">
1682 <ul class="comments-list js-comments-list"
1683 data-remaining-comments-count="0"
1684 data-canpost="false"
1685 data-cansee="true"
1686 data-comments-unavailable="false"
1687 data-addlink-disabled="true">
1688
1689
1690
1691 <li id="comment-3430942" class="comment js-comment " data-comment-id="3430942">
1692 <div class="js-comment-actions comment-actions">
1693 <div class="comment-score">
1694 </div>
1695 </div>
1696 <div class="comment-text js-comment-text-and-form">
1697 <div style="display: block;" class="comment-body">
1698 <span class="comment-copy">The best way to learn any technical subject, I think, is by learning to solve small, incremental problems.</span>
1699 – <a href="/users/317916/cbednarski"
1700 title="8,381 reputation"
1701 class="comment-user">cbednarski</a>
1702 <span class="comment-date" dir="ltr"><span title="2010-07-22 16:04:36Z" class="relativetime-clean">Jul 22 '10 at 16:04</span></span>
1703 </div>
1704 </div>
1705 </li>
1706 </ul>
1707 </div>
1708
1709 <div id="comments-link-22045" data-rep=50 data-anon=true>
1710
1711 <a class="js-add-link comments-link disabled-link "
1712 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1713 >add a comment</a><span class="js-link-separator dno"> | </span>
1714 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1715 </div>
1716 </div> </div>
1717</div>
1718
1719
1720<a name="3964594"></a>
1721<div id="answer-3964594" class="answer ice-ice-baby" data-answerid="3964594" itemscope itemtype="http://schema.org/Answer">
1722 <div class="post-layout">
1723 <div class="votecell post-layout--left">
1724
1725
1726<div class="vote">
1727 <input type="hidden" name="_id_" value="3964594">
1728 <a class="vote-up-off" title="This answer is useful">up vote</a>
1729 <span itemprop="upvoteCount" class="vote-count-post ">8</span>
1730 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1731
1732
1733
1734
1735</div>
1736
1737 </div>
1738
1739
1740
1741<div class="answercell post-layout--right">
1742 <div class="post-text" itemprop="text">
1743<p>I don't know if anyone has mentioned this here, yet, but You might want to check out <a href="http://www.zedshaw.com/" rel="nofollow">Zed Shaw</a>'s <a href="http://www.learnpythonthehardway.com" rel="nofollow">Learn Python the Hard Way</a></p>
1744
1745<p>Hope this Helps</p>
1746 </div>
1747 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1748 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1749<div class="post-menu"><a href="/a/3964594" title="short permalink to this answer" class="short-link" id="link-post-3964594">share</a></div> </div>
1750 <div class="post-signature grid--cell fl0">
1751<div class="user-info ">
1752 <div class="user-action-time">
1753 <a href="/posts/3964594/revisions" title="show all edits to this post">edited <span title="2012-02-21 07:04:54Z" class="relativetime">Feb 21 '12 at 7:04</span></a>
1754 </div>
1755 <div class="user-gravatar32">
1756
1757 </div>
1758 <div class="user-details">
1759
1760 <div class="-flair">
1761
1762 </div>
1763 </div>
1764</div> </div>
1765
1766
1767
1768 <div class="post-signature grid--cell fl0">
1769
1770
1771 <div class="user-info">
1772 <div class="user-details">
1773 <span class="community-wiki" title="This post is community owned as of Oct 19 '10 at 0:42. Votes do not generate reputation, and it can be edited by users with 100 rep">
1774 community wiki
1775 </span>
1776 </div><br>
1777 <div class="user-details">
1778 <a id="history-3964594" href="/posts/3964594/revisions" title="show revision history for this post">
1779 2 revs, 2 users 80%<br><a href="/users/198633">inspectorG4dget</a>
1780
1781 </a>
1782 </div>
1783</div>
1784 </div>
1785 </div>
1786</div>
1787
1788 <div class="post-layout--right">
1789 <div id="comments-3964594" class="comments js-comments-container ">
1790 <ul class="comments-list js-comments-list"
1791 data-remaining-comments-count="0"
1792 data-canpost="false"
1793 data-cansee="true"
1794 data-comments-unavailable="false"
1795 data-addlink-disabled="true">
1796
1797
1798
1799 <li id="comment-4245692" class="comment js-comment " data-comment-id="4245692">
1800 <div class="js-comment-actions comment-actions">
1801 <div class="comment-score">
1802 <span title="number of 'useful comment' votes received"
1803 class="cool">2</span>
1804 </div>
1805 </div>
1806 <div class="comment-text js-comment-text-and-form">
1807 <div style="display: block;" class="comment-body">
1808 <span class="comment-copy">This Q was asked 2 years ago; Zed's book is new, FWIW.</span>
1809 – <a href="/users/17732/jeremy-dunck"
1810 title="2,214 reputation"
1811 class="comment-user">Jeremy Dunck</a>
1812 <span class="comment-date" dir="ltr"><span title="2010-10-19 16:30:06Z" class="relativetime-clean">Oct 19 '10 at 16:30</span></span>
1813 </div>
1814 </div>
1815 </li>
1816 </ul>
1817 </div>
1818
1819 <div id="comments-link-3964594" data-rep=50 data-anon=true>
1820
1821 <a class="js-add-link comments-link disabled-link "
1822 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1823 >add a comment</a><span class="js-link-separator dno"> | </span>
1824 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1825 </div>
1826 </div> </div>
1827</div>
1828
1829
1830<a name="3651"></a>
1831<div id="answer-3651" class="answer ice-ice-baby" data-answerid="3651" itemscope itemtype="http://schema.org/Answer">
1832 <div class="post-layout">
1833 <div class="votecell post-layout--left">
1834
1835
1836<div class="vote">
1837 <input type="hidden" name="_id_" value="3651">
1838 <a class="vote-up-off" title="This answer is useful">up vote</a>
1839 <span itemprop="upvoteCount" class="vote-count-post ">7</span>
1840 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1841
1842
1843
1844
1845</div>
1846
1847 </div>
1848
1849
1850
1851<div class="answercell post-layout--right">
1852 <div class="post-text" itemprop="text">
1853<p>http://tryruby.hobix.com/">Try Ruby (In Your Browser)</p>
1854 </div>
1855 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1856 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1857<div class="post-menu"><a href="/a/3651" title="short permalink to this answer" class="short-link" id="link-post-3651">share</a></div> </div>
1858 <div class="post-signature grid--cell fl0">
1859<div class="user-info ">
1860 <div class="user-action-time">
1861 answered <a href="/posts/3651/revisions" title="show all edits to this post"><span title="2008-08-06 16:37:38Z" class="relativetime">Aug 6 '08 at 16:37</span></a>
1862 </div>
1863 <div class="user-gravatar32">
1864
1865 </div>
1866 <div class="user-details">
1867
1868 <div class="-flair">
1869
1870 </div>
1871 </div>
1872</div> </div>
1873
1874
1875
1876 <div class="post-signature grid--cell fl0">
1877
1878
1879 <div class="user-info">
1880 <div class="user-details">
1881 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
1882 community wiki
1883 </span>
1884 </div><br>
1885 <div class="user-details">
1886 <a id="history-3651" href="/posts/3651/revisions" title="show revision history for this post">
1887 CodingWithoutComments
1888 </a>
1889 </div>
1890</div>
1891 </div>
1892 </div>
1893</div>
1894
1895 <div class="post-layout--right">
1896 <div id="comments-3651" class="comments js-comments-container ">
1897 <ul class="comments-list js-comments-list"
1898 data-remaining-comments-count="0"
1899 data-canpost="false"
1900 data-cansee="true"
1901 data-comments-unavailable="false"
1902 data-addlink-disabled="true">
1903
1904
1905
1906 <li id="comment-115024" class="comment js-comment " data-comment-id="115024">
1907 <div class="js-comment-actions comment-actions">
1908 <div class="comment-score">
1909 </div>
1910 </div>
1911 <div class="comment-text js-comment-text-and-form">
1912 <div style="display: block;" class="comment-body">
1913 <span class="comment-copy">Nice! It seems easy and powerful to use Ruby</span>
1914 – <a href="/users/14673/luc-m"
1915 title="11,316 reputation"
1916 class="comment-user">Luc M</a>
1917 <span class="comment-date" dir="ltr"><span title="2008-11-01 19:42:17Z" class="relativetime-clean">Nov 1 '08 at 19:42</span></span>
1918 </div>
1919 </div>
1920 </li>
1921 </ul>
1922 </div>
1923
1924 <div id="comments-link-3651" data-rep=50 data-anon=true>
1925
1926 <a class="js-add-link comments-link disabled-link "
1927 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
1928 >add a comment</a><span class="js-link-separator dno"> | </span>
1929 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
1930 </div>
1931 </div> </div>
1932</div>
1933
1934
1935<a name="4559"></a>
1936<div id="answer-4559" class="answer ice-ice-baby" data-answerid="4559" itemscope itemtype="http://schema.org/Answer">
1937 <div class="post-layout">
1938 <div class="votecell post-layout--left">
1939
1940
1941<div class="vote">
1942 <input type="hidden" name="_id_" value="4559">
1943 <a class="vote-up-off" title="This answer is useful">up vote</a>
1944 <span itemprop="upvoteCount" class="vote-count-post ">7</span>
1945 <a class="vote-down-off" title="This answer is not useful">down vote</a>
1946
1947
1948
1949
1950</div>
1951
1952 </div>
1953
1954
1955
1956<div class="answercell post-layout--right">
1957 <div class="post-text" itemprop="text">
1958<p><a href="http://www.htdp.org/" rel="nofollow noreferrer">How to Design Programs</a></p>
1959
1960<p><a href="http://mitpress.mit.edu/sicp/full-text/book/book.html" rel="nofollow noreferrer">Structure and Interpretation of Computer Programs</a> . Videos lectures at <a href="http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/" rel="nofollow noreferrer">http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/</a></p>
1961 </div>
1962 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
1963 <div class="grid--cell mr16" style="flex: 1 1 100px;">
1964<div class="post-menu"><a href="/a/4559" title="short permalink to this answer" class="short-link" id="link-post-4559">share</a></div> </div>
1965 <div class="post-signature grid--cell fl0">
1966<div class="user-info ">
1967 <div class="user-action-time">
1968 answered <a href="/posts/4559/revisions" title="show all edits to this post"><span title="2008-08-07 10:04:27Z" class="relativetime">Aug 7 '08 at 10:04</span></a>
1969 </div>
1970 <div class="user-gravatar32">
1971
1972 </div>
1973 <div class="user-details">
1974
1975 <div class="-flair">
1976
1977 </div>
1978 </div>
1979</div> </div>
1980
1981
1982
1983 <div class="post-signature grid--cell fl0">
1984
1985
1986 <div class="user-info">
1987 <div class="user-details">
1988 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
1989 community wiki
1990 </span>
1991 </div><br>
1992 <div class="user-details">
1993 <a id="history-4559" href="/posts/4559/revisions" title="show revision history for this post">
1994 grom
1995 </a>
1996 </div>
1997</div>
1998 </div>
1999 </div>
2000</div>
2001
2002 <div class="post-layout--right">
2003 <div id="comments-4559" class="comments js-comments-container dno">
2004 <ul class="comments-list js-comments-list"
2005 data-remaining-comments-count="0"
2006 data-canpost="false"
2007 data-cansee="true"
2008 data-comments-unavailable="false"
2009 data-addlink-disabled="true">
2010
2011 </ul>
2012 </div>
2013
2014 <div id="comments-link-4559" data-rep=50 data-anon=true>
2015
2016 <a class="js-add-link comments-link disabled-link "
2017 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2018 >add a comment</a><span class="js-link-separator dno"> | </span>
2019 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2020 </div>
2021 </div> </div>
2022</div>
2023
2024
2025<a name="4425"></a>
2026<div id="answer-4425" class="answer ice-ice-baby" data-answerid="4425" itemscope itemtype="http://schema.org/Answer">
2027 <div class="post-layout">
2028 <div class="votecell post-layout--left">
2029
2030
2031<div class="vote">
2032 <input type="hidden" name="_id_" value="4425">
2033 <a class="vote-up-off" title="This answer is useful">up vote</a>
2034 <span itemprop="upvoteCount" class="vote-count-post ">5</span>
2035 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2036
2037
2038
2039
2040</div>
2041
2042 </div>
2043
2044
2045
2046<div class="answercell post-layout--right">
2047 <div class="post-text" itemprop="text">
2048<p>This is a fantastic book which my little brothers used to learn:</p>
2049
2050<p><a href="http://pine.fm/LearnToProgram/" rel="nofollow noreferrer">http://pine.fm/LearnToProgram/</a></p>
2051
2052<p>Of course, the most important thing is to start on a real, useful program of some kind IMMEDIATELY after finishing the book.</p>
2053 </div>
2054 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2055 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2056<div class="post-menu"><a href="/a/4425" title="short permalink to this answer" class="short-link" id="link-post-4425">share</a></div> </div>
2057 <div class="post-signature grid--cell fl0">
2058<div class="user-info ">
2059 <div class="user-action-time">
2060 answered <a href="/posts/4425/revisions" title="show all edits to this post"><span title="2008-08-07 05:33:05Z" class="relativetime">Aug 7 '08 at 5:33</span></a>
2061 </div>
2062 <div class="user-gravatar32">
2063
2064 </div>
2065 <div class="user-details">
2066
2067 <div class="-flair">
2068
2069 </div>
2070 </div>
2071</div> </div>
2072
2073
2074
2075 <div class="post-signature grid--cell fl0">
2076
2077
2078 <div class="user-info">
2079 <div class="user-details">
2080 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2081 community wiki
2082 </span>
2083 </div><br>
2084 <div class="user-details">
2085 <a id="history-4425" href="/posts/4425/revisions" title="show revision history for this post">
2086 Jarin Udom
2087 </a>
2088 </div>
2089</div>
2090 </div>
2091 </div>
2092</div>
2093
2094 <div class="post-layout--right">
2095 <div id="comments-4425" class="comments js-comments-container dno">
2096 <ul class="comments-list js-comments-list"
2097 data-remaining-comments-count="0"
2098 data-canpost="false"
2099 data-cansee="true"
2100 data-comments-unavailable="false"
2101 data-addlink-disabled="true">
2102
2103 </ul>
2104 </div>
2105
2106 <div id="comments-link-4425" data-rep=50 data-anon=true>
2107
2108 <a class="js-add-link comments-link disabled-link "
2109 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2110 >add a comment</a><span class="js-link-separator dno"> | </span>
2111 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2112 </div>
2113 </div> </div>
2114</div>
2115
2116
2117<a name="3092"></a>
2118<div id="answer-3092" class="answer ice-ice-baby" data-answerid="3092" itemscope itemtype="http://schema.org/Answer">
2119 <div class="post-layout">
2120 <div class="votecell post-layout--left">
2121
2122
2123<div class="vote">
2124 <input type="hidden" name="_id_" value="3092">
2125 <a class="vote-up-off" title="This answer is useful">up vote</a>
2126 <span itemprop="upvoteCount" class="vote-count-post ">4</span>
2127 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2128
2129
2130
2131
2132</div>
2133
2134 </div>
2135
2136
2137
2138<div class="answercell post-layout--right">
2139 <div class="post-text" itemprop="text">
2140<p>If he's interested, aren't the minor details the good parts? Using python, you've already cut the GUI off of it so that confusion is gone. Why not pick a project, a game or something, and implement it. The classic hi-lo number guessing game can be simply implemented from the command line in 20-30 lines of code (depending on language of course) and gives you variables, conditions, loops, and user input.</p>
2141 </div>
2142 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2143 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2144<div class="post-menu"><a href="/a/3092" title="short permalink to this answer" class="short-link" id="link-post-3092">share</a></div> </div>
2145 <div class="post-signature grid--cell fl0">
2146<div class="user-info ">
2147 <div class="user-action-time">
2148 answered <a href="/posts/3092/revisions" title="show all edits to this post"><span title="2008-08-06 05:08:37Z" class="relativetime">Aug 6 '08 at 5:08</span></a>
2149 </div>
2150 <div class="user-gravatar32">
2151
2152 </div>
2153 <div class="user-details">
2154
2155 <div class="-flair">
2156
2157 </div>
2158 </div>
2159</div> </div>
2160
2161
2162
2163 <div class="post-signature grid--cell fl0">
2164
2165
2166 <div class="user-info">
2167 <div class="user-details">
2168 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2169 community wiki
2170 </span>
2171 </div><br>
2172 <div class="user-details">
2173 <a id="history-3092" href="/posts/3092/revisions" title="show revision history for this post">
2174 jj33
2175 </a>
2176 </div>
2177</div>
2178 </div>
2179 </div>
2180</div>
2181
2182 <div class="post-layout--right">
2183 <div id="comments-3092" class="comments js-comments-container ">
2184 <ul class="comments-list js-comments-list"
2185 data-remaining-comments-count="0"
2186 data-canpost="false"
2187 data-cansee="true"
2188 data-comments-unavailable="false"
2189 data-addlink-disabled="true">
2190
2191
2192
2193 <li id="comment-911937" class="comment js-comment " data-comment-id="911937">
2194 <div class="js-comment-actions comment-actions">
2195 <div class="comment-score">
2196 </div>
2197 </div>
2198 <div class="comment-text js-comment-text-and-form">
2199 <div style="display: block;" class="comment-body">
2200 <span class="comment-copy">W.r.t. hi-lo: <a href="http://stackoverflow.com/questions/811074/what-is-the-coolest-thing-you-can-do-in-10-lines-of-simple-code-help-me-inspir/811759#811759" title="what is the coolest thing you can do in 10 lines of simple code help me inspir">stackoverflow.com/questions/811074/…</a></span>
2201 – <a href="/users/74939/stephan202"
2202 title="45,063 reputation"
2203 class="comment-user">Stephan202</a>
2204 <span class="comment-date" dir="ltr"><span title="2009-07-08 11:36:44Z" class="relativetime-clean">Jul 8 '09 at 11:36</span></span>
2205 </div>
2206 </div>
2207 </li>
2208 </ul>
2209 </div>
2210
2211 <div id="comments-link-3092" data-rep=50 data-anon=true>
2212
2213 <a class="js-add-link comments-link disabled-link "
2214 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2215 >add a comment</a><span class="js-link-separator dno"> | </span>
2216 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2217 </div>
2218 </div> </div>
2219</div>
2220
2221
2222<a name="6517"></a>
2223<div id="answer-6517" class="answer ice-ice-baby" data-answerid="6517" itemscope itemtype="http://schema.org/Answer">
2224 <div class="post-layout">
2225 <div class="votecell post-layout--left">
2226
2227
2228<div class="vote">
2229 <input type="hidden" name="_id_" value="6517">
2230 <a class="vote-up-off" title="This answer is useful">up vote</a>
2231 <span itemprop="upvoteCount" class="vote-count-post ">4</span>
2232 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2233
2234
2235
2236
2237</div>
2238
2239 </div>
2240
2241
2242
2243<div class="answercell post-layout--right">
2244 <div class="post-text" itemprop="text">
2245<p>I'd just let him write tons of code. Let him drive in everything you guys do, and just be available to answer questions.</p>
2246
2247<p>Believe it or not, after a few months of writings tons of crappy code, he'll start to get the idea and start writing better programs. At that point, you can get bogged down in details (memory, etc), and also talk about general design principles.</p>
2248
2249<p>I've heard that what separates the great artists from the mediocre ones, is that every time they practice, they improve on something, no matter how small. Let your brother practice, and he'll improve every time he sits down at the keyboard.</p>
2250
2251<blockquote>
2252 <p>Edit: [Justin Standard]</p>
2253
2254 <p>Esteban, this reminds me of a recent <a href="http://www.codinghorror.com/blog/archives/001160.html" rel="nofollow noreferrer">coding horror post</a>, and I <em>do</em> think you are right. But I think its still worthwhile to find methods to <em>guide</em> his practice. No question, I want him writing as much code as he knows how to do. Thats one reason I'm asking for sample projects.</p>
2255</blockquote>
2256 </div>
2257 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2258 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2259<div class="post-menu"><a href="/a/6517" title="short permalink to this answer" class="short-link" id="link-post-6517">share</a></div> </div>
2260 <div class="post-signature grid--cell fl0">
2261<div class="user-info ">
2262 <div class="user-action-time">
2263 <a href="/posts/6517/revisions" title="show all edits to this post">edited <span title="2008-08-13 21:28:51Z" class="relativetime">Aug 13 '08 at 21:28</span></a>
2264 </div>
2265 <div class="user-gravatar32">
2266
2267 </div>
2268 <div class="user-details">
2269
2270 <div class="-flair">
2271
2272 </div>
2273 </div>
2274</div> </div>
2275
2276
2277
2278 <div class="post-signature grid--cell fl0">
2279
2280
2281 <div class="user-info">
2282 <div class="user-details">
2283 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2284 community wiki
2285 </span>
2286 </div><br>
2287 <div class="user-details">
2288 <a id="history-6517" href="/posts/6517/revisions" title="show revision history for this post">
2289 3 revs, 2 users 53%<br><a href="/users/781">Esteban Araya</a>
2290
2291 </a>
2292 </div>
2293</div>
2294 </div>
2295 </div>
2296</div>
2297
2298 <div class="post-layout--right">
2299 <div id="comments-6517" class="comments js-comments-container ">
2300 <ul class="comments-list js-comments-list"
2301 data-remaining-comments-count="0"
2302 data-canpost="false"
2303 data-cansee="true"
2304 data-comments-unavailable="false"
2305 data-addlink-disabled="true">
2306
2307
2308
2309 <li id="comment-231" class="comment js-comment " data-comment-id="231">
2310 <div class="js-comment-actions comment-actions">
2311 <div class="comment-score">
2312 </div>
2313 </div>
2314 <div class="comment-text js-comment-text-and-form">
2315 <div style="display: block;" class="comment-body">
2316 <span class="comment-copy">Yes, I know which post you're talking about Justin. Reading it reminded me how most of the things I've learned have come from trying and learning from my own mistakes. I really can't emphasize enought the importance of learning by doing!</span>
2317 – <a href="/users/781/esteban-araya"
2318 title="17,064 reputation"
2319 class="comment-user">Esteban Araya</a>
2320 <span class="comment-date" dir="ltr"><span title="2008-09-08 03:49:39Z" class="relativetime-clean">Sep 8 '08 at 3:49</span></span>
2321 </div>
2322 </div>
2323 </li>
2324 </ul>
2325 </div>
2326
2327 <div id="comments-link-6517" data-rep=50 data-anon=true>
2328
2329 <a class="js-add-link comments-link disabled-link "
2330 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2331 >add a comment</a><span class="js-link-separator dno"> | </span>
2332 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2333 </div>
2334 </div> </div>
2335</div>
2336
2337
2338<a name="3095"></a>
2339<div id="answer-3095" class="answer ice-ice-baby" data-answerid="3095" itemscope itemtype="http://schema.org/Answer">
2340 <div class="post-layout">
2341 <div class="votecell post-layout--left">
2342
2343
2344<div class="vote">
2345 <input type="hidden" name="_id_" value="3095">
2346 <a class="vote-up-off" title="This answer is useful">up vote</a>
2347 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2348 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2349
2350
2351
2352
2353</div>
2354
2355 </div>
2356
2357
2358
2359<div class="answercell post-layout--right">
2360 <div class="post-text" itemprop="text">
2361<p>First of all, start out like everyone else does: with a <a href="http://en.wikipedia.org/wiki/Hello_world" rel="nofollow noreferrer">Hello World</a> program. It's simple, and it gives them a basic feel for the layout of a program. Try and remember back to when you were first programming, and how difficult some of the concepts were - start simple. </p>
2362
2363<p>After Hello World, move on to creating some basic variables, arithmetic, then onto boolean logic and if/else statements. If you've got one of your old programming textbooks, check out some of the early examples and have him run through those. Just don't try to introduce too much all at once, or it will be overwhelming and confusing.</p>
2364 </div>
2365 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2366 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2367<div class="post-menu"><a href="/a/3095" title="short permalink to this answer" class="short-link" id="link-post-3095">share</a></div> </div>
2368 <div class="post-signature grid--cell fl0">
2369<div class="user-info ">
2370 <div class="user-action-time">
2371 answered <a href="/posts/3095/revisions" title="show all edits to this post"><span title="2008-08-06 05:13:15Z" class="relativetime">Aug 6 '08 at 5:13</span></a>
2372 </div>
2373 <div class="user-gravatar32">
2374
2375 </div>
2376 <div class="user-details">
2377
2378 <div class="-flair">
2379
2380 </div>
2381 </div>
2382</div> </div>
2383
2384
2385
2386 <div class="post-signature grid--cell fl0">
2387
2388
2389 <div class="user-info">
2390 <div class="user-details">
2391 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2392 community wiki
2393 </span>
2394 </div><br>
2395 <div class="user-details">
2396 <a id="history-3095" href="/posts/3095/revisions" title="show revision history for this post">
2397 Brandon Wood
2398 </a>
2399 </div>
2400</div>
2401 </div>
2402 </div>
2403</div>
2404
2405 <div class="post-layout--right">
2406 <div id="comments-3095" class="comments js-comments-container dno">
2407 <ul class="comments-list js-comments-list"
2408 data-remaining-comments-count="0"
2409 data-canpost="false"
2410 data-cansee="true"
2411 data-comments-unavailable="false"
2412 data-addlink-disabled="true">
2413
2414 </ul>
2415 </div>
2416
2417 <div id="comments-link-3095" data-rep=50 data-anon=true>
2418
2419 <a class="js-add-link comments-link disabled-link "
2420 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2421 >add a comment</a><span class="js-link-separator dno"> | </span>
2422 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2423 </div>
2424 </div> </div>
2425</div>
2426
2427
2428<a name="3099"></a>
2429<div id="answer-3099" class="answer ice-ice-baby" data-answerid="3099" itemscope itemtype="http://schema.org/Answer">
2430 <div class="post-layout">
2431 <div class="votecell post-layout--left">
2432
2433
2434<div class="vote">
2435 <input type="hidden" name="_id_" value="3099">
2436 <a class="vote-up-off" title="This answer is useful">up vote</a>
2437 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2438 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2439
2440
2441
2442
2443</div>
2444
2445 </div>
2446
2447
2448
2449<div class="answercell post-layout--right">
2450 <div class="post-text" itemprop="text">
2451<p>Something you should be very mindful of while teaching your brother to program is for him not to rely too heavily on you. Often when I find myself helping others they will begin to think of me as answer book to all of their questions and instead of experimenting to find an answer they simply ask me. Often the best teacher is experimentation and every time your brother has a question like "What will happen if I add 2 to a string?" you should tell him to try it out and see for himself. Also I have noticed that when I cannot get a concept through to someone, it helps to see some sample code where we can look at each segment individually and explain it piece by piece. As a side note people new to programming often have trouble with the idea of object oriented programming, they will say they understand it when you teach it to them but will not get a clear concept of it until actually implementing it.</p>
2452 </div>
2453 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2454 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2455<div class="post-menu"><a href="/a/3099" title="short permalink to this answer" class="short-link" id="link-post-3099">share</a></div> </div>
2456 <div class="post-signature grid--cell fl0">
2457<div class="user-info ">
2458 <div class="user-action-time">
2459 answered <a href="/posts/3099/revisions" title="show all edits to this post"><span title="2008-08-06 05:18:46Z" class="relativetime">Aug 6 '08 at 5:18</span></a>
2460 </div>
2461 <div class="user-gravatar32">
2462
2463 </div>
2464 <div class="user-details">
2465
2466 <div class="-flair">
2467
2468 </div>
2469 </div>
2470</div> </div>
2471
2472
2473
2474 <div class="post-signature grid--cell fl0">
2475
2476
2477 <div class="user-info">
2478 <div class="user-details">
2479 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2480 community wiki
2481 </span>
2482 </div><br>
2483 <div class="user-details">
2484 <a id="history-3099" href="/posts/3099/revisions" title="show revision history for this post">
2485 Anton
2486 </a>
2487 </div>
2488</div>
2489 </div>
2490 </div>
2491</div>
2492
2493 <div class="post-layout--right">
2494 <div id="comments-3099" class="comments js-comments-container dno">
2495 <ul class="comments-list js-comments-list"
2496 data-remaining-comments-count="0"
2497 data-canpost="false"
2498 data-cansee="true"
2499 data-comments-unavailable="false"
2500 data-addlink-disabled="true">
2501
2502 </ul>
2503 </div>
2504
2505 <div id="comments-link-3099" data-rep=50 data-anon=true>
2506
2507 <a class="js-add-link comments-link disabled-link "
2508 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2509 >add a comment</a><span class="js-link-separator dno"> | </span>
2510 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2511 </div>
2512 </div> </div>
2513</div>
2514
2515
2516<a name="3120"></a>
2517<div id="answer-3120" class="answer ice-ice-baby" data-answerid="3120" itemscope itemtype="http://schema.org/Answer">
2518 <div class="post-layout">
2519 <div class="votecell post-layout--left">
2520
2521
2522<div class="vote">
2523 <input type="hidden" name="_id_" value="3120">
2524 <a class="vote-up-off" title="This answer is useful">up vote</a>
2525 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2526 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2527
2528
2529
2530
2531</div>
2532
2533 </div>
2534
2535
2536
2537<div class="answercell post-layout--right">
2538 <div class="post-text" itemprop="text">
2539<p>I used to teach programming and your brother has one main advantage over most of my students he wants to learn :)</p>
2540
2541<p>If you decide to go with C <a href="http://cymonsgames.retroremakes.com/" rel="nofollow noreferrer">a friend has a site</a> that has the sort of programs those of use from older generations remember as basic type-ins. The more complex of them use ncurses which sort of negates their use as a teaching aid somewhat but some of them are tiny little things and you can learn loads without being taught to.</p>
2542
2543<p>Personally I think Python and Ruby would make great first languages.</p>
2544
2545<p>EDIT:
2546<a href="http://cymonsgames.retroremakes.com/beginners-programming-homework/" rel="nofollow noreferrer">list of beginner programming assignments</a> appeared overnight might be just what you are looking for.</p>
2547 </div>
2548 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2549 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2550<div class="post-menu"><a href="/a/3120" title="short permalink to this answer" class="short-link" id="link-post-3120">share</a></div> </div>
2551 <div class="post-signature grid--cell fl0">
2552<div class="user-info ">
2553 <div class="user-action-time">
2554 <a href="/posts/3120/revisions" title="show all edits to this post">edited <span title="2008-08-06 07:32:14Z" class="relativetime">Aug 6 '08 at 7:32</span></a>
2555 </div>
2556 <div class="user-gravatar32">
2557
2558 </div>
2559 <div class="user-details">
2560
2561 <div class="-flair">
2562
2563 </div>
2564 </div>
2565</div> </div>
2566
2567
2568
2569 <div class="post-signature grid--cell fl0">
2570
2571
2572 <div class="user-info">
2573 <div class="user-details">
2574 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2575 community wiki
2576 </span>
2577 </div><br>
2578 <div class="user-details">
2579 <a id="history-3120" href="/posts/3120/revisions" title="show revision history for this post">
2580 2 revs<br><a href="/users/269">sparkes</a>
2581 </a>
2582 </div>
2583</div>
2584 </div>
2585 </div>
2586</div>
2587
2588 <div class="post-layout--right">
2589 <div id="comments-3120" class="comments js-comments-container dno">
2590 <ul class="comments-list js-comments-list"
2591 data-remaining-comments-count="0"
2592 data-canpost="false"
2593 data-cansee="true"
2594 data-comments-unavailable="false"
2595 data-addlink-disabled="true">
2596
2597 </ul>
2598 </div>
2599
2600 <div id="comments-link-3120" data-rep=50 data-anon=true>
2601
2602 <a class="js-add-link comments-link disabled-link "
2603 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2604 >add a comment</a><span class="js-link-separator dno"> | </span>
2605 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2606 </div>
2607 </div> </div>
2608</div>
2609
2610
2611<a name="3273"></a>
2612<div id="answer-3273" class="answer ice-ice-baby" data-answerid="3273" itemscope itemtype="http://schema.org/Answer">
2613 <div class="post-layout">
2614 <div class="votecell post-layout--left">
2615
2616
2617<div class="vote">
2618 <input type="hidden" name="_id_" value="3273">
2619 <a class="vote-up-off" title="This answer is useful">up vote</a>
2620 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2621 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2622
2623
2624
2625
2626</div>
2627
2628 </div>
2629
2630
2631
2632<div class="answercell post-layout--right">
2633 <div class="post-text" itemprop="text">
2634<p>It really depends on your brother's learning style. Many people learn faster by getting their hands dirty & just getting into it, crystallising the concepts and the big picture as they progress and build their knowledge.</p>
2635
2636<p>Me, I prefer to start with the big picture and drill down into the nitty-gritty. The first thing I wanted to know was how it all fits together then all that Object-oriented gobbledygook, then about classes & instances and so-on. I like to know the underlying concepts and a bit of theory before I learn the syntax. I had a bit of an advantage because I wrote some games in BASIC 20 years ago but nothing much since.</p>
2637
2638<p>Perhaps it is useful to shadow a production process by starting with an overall mission statement, then a plan and/or flowchart, then elaborate into some pseudo code (leaning towards the syntax you will ultimately use) before actually writing the code.</p>
2639
2640<p>The golden rule here is to suss out your student's leaning style.</p>
2641 </div>
2642 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2643 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2644<div class="post-menu"><a href="/a/3273" title="short permalink to this answer" class="short-link" id="link-post-3273">share</a></div> </div>
2645 <div class="post-signature grid--cell fl0">
2646<div class="user-info ">
2647 <div class="user-action-time">
2648 answered <a href="/posts/3273/revisions" title="show all edits to this post"><span title="2008-08-06 10:44:54Z" class="relativetime">Aug 6 '08 at 10:44</span></a>
2649 </div>
2650 <div class="user-gravatar32">
2651
2652 </div>
2653 <div class="user-details">
2654
2655 <div class="-flair">
2656
2657 </div>
2658 </div>
2659</div> </div>
2660
2661
2662
2663 <div class="post-signature grid--cell fl0">
2664
2665
2666 <div class="user-info">
2667 <div class="user-details">
2668 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2669 community wiki
2670 </span>
2671 </div><br>
2672 <div class="user-details">
2673 <a id="history-3273" href="/posts/3273/revisions" title="show revision history for this post">
2674 CAD bloke
2675 </a>
2676 </div>
2677</div>
2678 </div>
2679 </div>
2680</div>
2681
2682 <div class="post-layout--right">
2683 <div id="comments-3273" class="comments js-comments-container dno">
2684 <ul class="comments-list js-comments-list"
2685 data-remaining-comments-count="0"
2686 data-canpost="false"
2687 data-cansee="true"
2688 data-comments-unavailable="false"
2689 data-addlink-disabled="true">
2690
2691 </ul>
2692 </div>
2693
2694 <div id="comments-link-3273" data-rep=50 data-anon=true>
2695
2696 <a class="js-add-link comments-link disabled-link "
2697 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2698 >add a comment</a><span class="js-link-separator dno"> | </span>
2699 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2700 </div>
2701 </div> </div>
2702</div>
2703
2704
2705<a name="18938"></a>
2706<div id="answer-18938" class="answer ice-ice-baby" data-answerid="18938" itemscope itemtype="http://schema.org/Answer">
2707 <div class="post-layout">
2708 <div class="votecell post-layout--left">
2709
2710
2711<div class="vote">
2712 <input type="hidden" name="_id_" value="18938">
2713 <a class="vote-up-off" title="This answer is useful">up vote</a>
2714 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2715 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2716
2717
2718
2719
2720</div>
2721
2722 </div>
2723
2724
2725
2726<div class="answercell post-layout--right">
2727 <div class="post-text" itemprop="text">
2728<p>If your brother has access to iTunes, he can download video lectures of an introductory computer science course given by Richard Buckland at the University of New South Wales. He's an engaging instructor and covers fundamentals of computing and the C language. If nothing else, tell your brother to play the vids in the background and some concepts might sink in through osmosis. :)</p>
2729
2730<p><strong>COMP1917 Higher Computing - 2008 Session 1</strong>
2731<a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444" rel="nofollow noreferrer">http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444</a></p>
2732
2733<p>If the link doesn't work, here's a path:</p>
2734
2735<p>Home -> iTunes U --> Engineering --> COMP1917 Higher Computing - 2008 Session 1</p>
2736 </div>
2737 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2738 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2739<div class="post-menu"><a href="/a/18938" title="short permalink to this answer" class="short-link" id="link-post-18938">share</a></div> </div>
2740 <div class="post-signature grid--cell fl0">
2741<div class="user-info ">
2742 <div class="user-action-time">
2743 answered <a href="/posts/18938/revisions" title="show all edits to this post"><span title="2008-08-20 21:54:17Z" class="relativetime">Aug 20 '08 at 21:54</span></a>
2744 </div>
2745 <div class="user-gravatar32">
2746
2747 </div>
2748 <div class="user-details">
2749
2750 <div class="-flair">
2751
2752 </div>
2753 </div>
2754</div> </div>
2755
2756
2757
2758 <div class="post-signature grid--cell fl0">
2759
2760
2761 <div class="user-info">
2762 <div class="user-details">
2763 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2764 community wiki
2765 </span>
2766 </div><br>
2767 <div class="user-details">
2768 <a id="history-18938" href="/posts/18938/revisions" title="show revision history for this post">
2769 CodeCurious
2770 </a>
2771 </div>
2772</div>
2773 </div>
2774 </div>
2775</div>
2776
2777 <div class="post-layout--right">
2778 <div id="comments-18938" class="comments js-comments-container dno">
2779 <ul class="comments-list js-comments-list"
2780 data-remaining-comments-count="0"
2781 data-canpost="false"
2782 data-cansee="true"
2783 data-comments-unavailable="false"
2784 data-addlink-disabled="true">
2785
2786 </ul>
2787 </div>
2788
2789 <div id="comments-link-18938" data-rep=50 data-anon=true>
2790
2791 <a class="js-add-link comments-link disabled-link "
2792 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2793 >add a comment</a><span class="js-link-separator dno"> | </span>
2794 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2795 </div>
2796 </div> </div>
2797</div>
2798
2799
2800<a name="27362"></a>
2801<div id="answer-27362" class="answer ice-ice-baby" data-answerid="27362" itemscope itemtype="http://schema.org/Answer">
2802 <div class="post-layout">
2803 <div class="votecell post-layout--left">
2804
2805
2806<div class="vote">
2807 <input type="hidden" name="_id_" value="27362">
2808 <a class="vote-up-off" title="This answer is useful">up vote</a>
2809 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2810 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2811
2812
2813
2814
2815</div>
2816
2817 </div>
2818
2819
2820
2821<div class="answercell post-layout--right">
2822 <div class="post-text" itemprop="text">
2823<p>there's a <a href="http://en.wikibooks.org/wiki/Programming:Python" rel="nofollow noreferrer">wikibook that is pretty good for learning python</a>.</p>
2824
2825<p>I don't know how the wikibooks are for other languages, but I personally learned python from the wikibook as it was in Feb 2007</p>
2826
2827<p>ps - if you're unfamiliar with <a href="http://en.wikibooks.org/wiki/Main_Page" rel="nofollow noreferrer">wikibooks</a>, it's basically the wikipedia version of book authoring. it's sort of hard to describe, but if you check out a few of the books on there you'll see how it works</p>
2828 </div>
2829 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2830 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2831<div class="post-menu"><a href="/a/27362" title="short permalink to this answer" class="short-link" id="link-post-27362">share</a></div> </div>
2832 <div class="post-signature grid--cell fl0">
2833<div class="user-info ">
2834 <div class="user-action-time">
2835 answered <a href="/posts/27362/revisions" title="show all edits to this post"><span title="2008-08-26 03:39:08Z" class="relativetime">Aug 26 '08 at 3:39</span></a>
2836 </div>
2837 <div class="user-gravatar32">
2838
2839 </div>
2840 <div class="user-details">
2841
2842 <div class="-flair">
2843
2844 </div>
2845 </div>
2846</div> </div>
2847
2848
2849
2850 <div class="post-signature grid--cell fl0">
2851
2852
2853 <div class="user-info">
2854 <div class="user-details">
2855 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2856 community wiki
2857 </span>
2858 </div><br>
2859 <div class="user-details">
2860 <a id="history-27362" href="/posts/27362/revisions" title="show revision history for this post">
2861 Jiaaro
2862 </a>
2863 </div>
2864</div>
2865 </div>
2866 </div>
2867</div>
2868
2869 <div class="post-layout--right">
2870 <div id="comments-27362" class="comments js-comments-container dno">
2871 <ul class="comments-list js-comments-list"
2872 data-remaining-comments-count="0"
2873 data-canpost="false"
2874 data-cansee="true"
2875 data-comments-unavailable="false"
2876 data-addlink-disabled="true">
2877
2878 </ul>
2879 </div>
2880
2881 <div id="comments-link-27362" data-rep=50 data-anon=true>
2882
2883 <a class="js-add-link comments-link disabled-link "
2884 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2885 >add a comment</a><span class="js-link-separator dno"> | </span>
2886 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2887 </div>
2888 </div> </div>
2889</div>
2890
2891
2892<a name="50291"></a>
2893<div id="answer-50291" class="answer ice-ice-baby" data-answerid="50291" itemscope itemtype="http://schema.org/Answer">
2894 <div class="post-layout">
2895 <div class="votecell post-layout--left">
2896
2897
2898<div class="vote">
2899 <input type="hidden" name="_id_" value="50291">
2900 <a class="vote-up-off" title="This answer is useful">up vote</a>
2901 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2902 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2903
2904
2905
2906
2907</div>
2908
2909 </div>
2910
2911
2912
2913<div class="answercell post-layout--right">
2914 <div class="post-text" itemprop="text">
2915<p><a href="http://safari.oreilly.com/1592000738" rel="nofollow noreferrer">Python Programming for the absolute beginner</a></p>
2916
2917<p><a href="http://safari.oreilly.com/images/1592000738/1592000738_xs.jpg" rel="nofollow noreferrer">Python Programming for the absolute beginner cover http://safari.oreilly.com/images/1592000738/1592000738_xs.jpg</a></p>
2918 </div>
2919 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
2920 <div class="grid--cell mr16" style="flex: 1 1 100px;">
2921<div class="post-menu"><a href="/a/50291" title="short permalink to this answer" class="short-link" id="link-post-50291">share</a></div> </div>
2922 <div class="post-signature grid--cell fl0">
2923<div class="user-info ">
2924 <div class="user-action-time">
2925 answered <a href="/posts/50291/revisions" title="show all edits to this post"><span title="2008-09-08 17:55:47Z" class="relativetime">Sep 8 '08 at 17:55</span></a>
2926 </div>
2927 <div class="user-gravatar32">
2928
2929 </div>
2930 <div class="user-details">
2931
2932 <div class="-flair">
2933
2934 </div>
2935 </div>
2936</div> </div>
2937
2938
2939
2940 <div class="post-signature grid--cell fl0">
2941
2942
2943 <div class="user-info">
2944 <div class="user-details">
2945 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
2946 community wiki
2947 </span>
2948 </div><br>
2949 <div class="user-details">
2950 <a id="history-50291" href="/posts/50291/revisions" title="show revision history for this post">
2951 jfs
2952 </a>
2953 </div>
2954</div>
2955 </div>
2956 </div>
2957</div>
2958
2959 <div class="post-layout--right">
2960 <div id="comments-50291" class="comments js-comments-container dno">
2961 <ul class="comments-list js-comments-list"
2962 data-remaining-comments-count="0"
2963 data-canpost="false"
2964 data-cansee="true"
2965 data-comments-unavailable="false"
2966 data-addlink-disabled="true">
2967
2968 </ul>
2969 </div>
2970
2971 <div id="comments-link-50291" data-rep=50 data-anon=true>
2972
2973 <a class="js-add-link comments-link disabled-link "
2974 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
2975 >add a comment</a><span class="js-link-separator dno"> | </span>
2976 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
2977 </div>
2978 </div> </div>
2979</div>
2980
2981
2982<a name="1230194"></a>
2983<div id="answer-1230194" class="answer ice-ice-baby" data-answerid="1230194" itemscope itemtype="http://schema.org/Answer">
2984 <div class="post-layout">
2985 <div class="votecell post-layout--left">
2986
2987
2988<div class="vote">
2989 <input type="hidden" name="_id_" value="1230194">
2990 <a class="vote-up-off" title="This answer is useful">up vote</a>
2991 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
2992 <a class="vote-down-off" title="This answer is not useful">down vote</a>
2993
2994
2995
2996
2997</div>
2998
2999 </div>
3000
3001
3002
3003<div class="answercell post-layout--right">
3004 <div class="post-text" itemprop="text">
3005<p>I think Python is a great idea. I would give him a few basic assignments to do on his own and tell him that any dead ends he hits can probably be resolved by a trip to google. For me, at least, solving a problem on my own always made it stick better than someone telling me the solution.</p>
3006
3007<p>Some possible projects (in no particular order):</p>
3008
3009<ul>
3010<li><p>Coin flip simulator. Let the user input a desired number of trials for the coin flipping. Execute it and display the results along with the percentage for heads or tails.</p></li>
3011<li><p>Make a temperature converter with a menu that takes user input to choose which kind of conversion the user wants to do. After choosing the conversion and doing it, it should return to the main menu.</p>
3012
3013<p>Here's an example of an extended converter with the same idea: <a href="http://pastebin.org/6541" rel="nofollow noreferrer">http://pastebin.org/6541</a></p></li>
3014<li><p>Make a program that takes a numeric input and displays the letter grade it would translate to. It'll end up evaluating the input against if and elif statements to find where it fits.</p></li>
3015<li><p>Make a simple quiz that goes through several multiple choice or fill in the blank questions. At the end it will display how the user did. He can pick any questions he wants.</p></li>
3016<li><p>Take an input of some (presumably large) number of pennies and convert it into bigger denominations. For example, 149 pennies = 1 dollar, 1 quarter, 2 dimes, and 4 pennies.</p></li>
3017<li><p>Create a simple list manager. Be able to add/delete lists and add/delete entries in those lists. Here's an example of a christmas list manager: <a href="http://pastebin.org/6543" rel="nofollow noreferrer">http://pastebin.org/6543</a></p></li>
3018<li><p>Create a program that will build and then test whether entered numbers form a magic square (with a 2D array). Here's some sample code, but it should really print out the square at each step in order to show where the user is in terms of buliding the square: <a href="http://pastebin.org/6544" rel="nofollow noreferrer">http://pastebin.org/6544</a></p></li>
3019</ul>
3020
3021<p>I would also suggest doing some stuff with xTurtle or another graphics module to mix things up and keep him from getting boring. Of course, this is very much practice programming and not the scripting that a lot of people would really be using python for, but the examples I gave are pretty much directly taken from when I was learning via python and it worked out great for me. Good luck!</p>
3022 </div>
3023 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3024 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3025<div class="post-menu"><a href="/a/1230194" title="short permalink to this answer" class="short-link" id="link-post-1230194">share</a></div> </div>
3026 <div class="post-signature grid--cell fl0">
3027<div class="user-info ">
3028 <div class="user-action-time">
3029 <a href="/posts/1230194/revisions" title="show all edits to this post">edited <span title="2009-08-04 22:38:35Z" class="relativetime">Aug 4 '09 at 22:38</span></a>
3030 </div>
3031 <div class="user-gravatar32">
3032
3033 </div>
3034 <div class="user-details">
3035
3036 <div class="-flair">
3037
3038 </div>
3039 </div>
3040</div> </div>
3041
3042
3043
3044 <div class="post-signature grid--cell fl0">
3045
3046
3047 <div class="user-info">
3048 <div class="user-details">
3049 <span class="community-wiki" title="This post is community owned as of Aug 4 '09 at 22:20. Votes do not generate reputation, and it can be edited by users with 100 rep">
3050 community wiki
3051 </span>
3052 </div><br>
3053 <div class="user-details">
3054 <a id="history-1230194" href="/posts/1230194/revisions" title="show revision history for this post">
3055 2 revs<br><a href="/users/144121">Sean O'Hollaren</a>
3056 </a>
3057 </div>
3058</div>
3059 </div>
3060 </div>
3061</div>
3062
3063 <div class="post-layout--right">
3064 <div id="comments-1230194" class="comments js-comments-container dno">
3065 <ul class="comments-list js-comments-list"
3066 data-remaining-comments-count="0"
3067 data-canpost="false"
3068 data-cansee="true"
3069 data-comments-unavailable="false"
3070 data-addlink-disabled="true">
3071
3072 </ul>
3073 </div>
3074
3075 <div id="comments-link-1230194" data-rep=50 data-anon=true>
3076
3077 <a class="js-add-link comments-link disabled-link "
3078 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3079 >add a comment</a><span class="js-link-separator dno"> | </span>
3080 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3081 </div>
3082 </div> </div>
3083</div>
3084
3085
3086<a name="2477742"></a>
3087<div id="answer-2477742" class="answer ice-ice-baby" data-answerid="2477742" itemscope itemtype="http://schema.org/Answer">
3088 <div class="post-layout">
3089 <div class="votecell post-layout--left">
3090
3091
3092<div class="vote">
3093 <input type="hidden" name="_id_" value="2477742">
3094 <a class="vote-up-off" title="This answer is useful">up vote</a>
3095 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
3096 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3097
3098
3099
3100
3101</div>
3102
3103 </div>
3104
3105
3106
3107<div class="answercell post-layout--right">
3108 <div class="post-text" itemprop="text">
3109<p>Just make it fun !</p>
3110
3111<p>Amazingly Scala might be the easiest if you try <a href="http://www.kogics.net/sf:kojo" rel="nofollow noreferrer">Kojo</a></p>
3112 </div>
3113 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3114 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3115<div class="post-menu"><a href="/a/2477742" title="short permalink to this answer" class="short-link" id="link-post-2477742">share</a></div> </div>
3116 <div class="post-signature grid--cell fl0">
3117<div class="user-info ">
3118 <div class="user-action-time">
3119 answered <a href="/posts/2477742/revisions" title="show all edits to this post"><span title="2010-03-19 13:44:53Z" class="relativetime">Mar 19 '10 at 13:44</span></a>
3120 </div>
3121 <div class="user-gravatar32">
3122
3123 </div>
3124 <div class="user-details">
3125
3126 <div class="-flair">
3127
3128 </div>
3129 </div>
3130</div> </div>
3131
3132
3133
3134 <div class="post-signature grid--cell fl0">
3135
3136
3137 <div class="user-info">
3138 <div class="user-details">
3139 <span class="community-wiki" title="This post is community owned as of Mar 19 '10 at 13:44. Votes do not generate reputation, and it can be edited by users with 100 rep">
3140 community wiki
3141 </span>
3142 </div><br>
3143 <div class="user-details">
3144 <a id="history-2477742" href="/posts/2477742/revisions" title="show revision history for this post">
3145 Åukasz Lew
3146 </a>
3147 </div>
3148</div>
3149 </div>
3150 </div>
3151</div>
3152
3153 <div class="post-layout--right">
3154 <div id="comments-2477742" class="comments js-comments-container dno">
3155 <ul class="comments-list js-comments-list"
3156 data-remaining-comments-count="0"
3157 data-canpost="false"
3158 data-cansee="true"
3159 data-comments-unavailable="false"
3160 data-addlink-disabled="true">
3161
3162 </ul>
3163 </div>
3164
3165 <div id="comments-link-2477742" data-rep=50 data-anon=true>
3166
3167 <a class="js-add-link comments-link disabled-link "
3168 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3169 >add a comment</a><span class="js-link-separator dno"> | </span>
3170 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3171 </div>
3172 </div> </div>
3173</div>
3174
3175
3176<a name="2589272"></a>
3177<div id="answer-2589272" class="answer ice-ice-baby" data-answerid="2589272" itemscope itemtype="http://schema.org/Answer">
3178 <div class="post-layout">
3179 <div class="votecell post-layout--left">
3180
3181
3182<div class="vote">
3183 <input type="hidden" name="_id_" value="2589272">
3184 <a class="vote-up-off" title="This answer is useful">up vote</a>
3185 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
3186 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3187
3188
3189
3190
3191</div>
3192
3193 </div>
3194
3195
3196
3197<div class="answercell post-layout--right">
3198 <div class="post-text" itemprop="text">
3199<p>If your brother likes puzzles, I would recommend <a href="http://www.pythonchallenge.com" rel="nofollow noreferrer" title="Python Challenge">Python Challenge</a>. I wouldn't use it as a formal teaching tool in a 1 on 1 tutorial, but it's something he can do when you're not together to challenge himself and have some fun.</p>
3200 </div>
3201 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3202 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3203<div class="post-menu"><a href="/a/2589272" title="short permalink to this answer" class="short-link" id="link-post-2589272">share</a></div> </div>
3204 <div class="post-signature grid--cell fl0">
3205<div class="user-info ">
3206 <div class="user-action-time">
3207 answered <a href="/posts/2589272/revisions" title="show all edits to this post"><span title="2010-04-07 00:35:21Z" class="relativetime">Apr 7 '10 at 0:35</span></a>
3208 </div>
3209 <div class="user-gravatar32">
3210
3211 </div>
3212 <div class="user-details">
3213
3214 <div class="-flair">
3215
3216 </div>
3217 </div>
3218</div> </div>
3219
3220
3221
3222 <div class="post-signature grid--cell fl0">
3223
3224
3225 <div class="user-info">
3226 <div class="user-details">
3227 <span class="community-wiki" title="This post is community owned as of Apr 7 '10 at 0:35. Votes do not generate reputation, and it can be edited by users with 100 rep">
3228 community wiki
3229 </span>
3230 </div><br>
3231 <div class="user-details">
3232 <a id="history-2589272" href="/posts/2589272/revisions" title="show revision history for this post">
3233 Jacinda
3234 </a>
3235 </div>
3236</div>
3237 </div>
3238 </div>
3239</div>
3240
3241 <div class="post-layout--right">
3242 <div id="comments-2589272" class="comments js-comments-container dno">
3243 <ul class="comments-list js-comments-list"
3244 data-remaining-comments-count="0"
3245 data-canpost="false"
3246 data-cansee="true"
3247 data-comments-unavailable="false"
3248 data-addlink-disabled="true">
3249
3250 </ul>
3251 </div>
3252
3253 <div id="comments-link-2589272" data-rep=50 data-anon=true>
3254
3255 <a class="js-add-link comments-link disabled-link "
3256 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3257 >add a comment</a><span class="js-link-separator dno"> | </span>
3258 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3259 </div>
3260 </div> </div>
3261</div>
3262
3263
3264<a name="4390102"></a>
3265<div id="answer-4390102" class="answer ice-ice-baby" data-answerid="4390102" itemscope itemtype="http://schema.org/Answer">
3266 <div class="post-layout">
3267 <div class="votecell post-layout--left">
3268
3269
3270<div class="vote">
3271 <input type="hidden" name="_id_" value="4390102">
3272 <a class="vote-up-off" title="This answer is useful">up vote</a>
3273 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
3274 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3275
3276
3277
3278
3279</div>
3280
3281 </div>
3282
3283
3284
3285<div class="answercell post-layout--right">
3286 <div class="post-text" itemprop="text">
3287<p><a href="http://www.pythonchallenge.com/" rel="nofollow">Python Challenge</a></p>
3288 </div>
3289 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3290 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3291<div class="post-menu"><a href="/a/4390102" title="short permalink to this answer" class="short-link" id="link-post-4390102">share</a></div> </div>
3292 <div class="post-signature grid--cell fl0">
3293<div class="user-info ">
3294 <div class="user-action-time">
3295 answered <a href="/posts/4390102/revisions" title="show all edits to this post"><span title="2010-12-08 16:58:37Z" class="relativetime">Dec 8 '10 at 16:58</span></a>
3296 </div>
3297 <div class="user-gravatar32">
3298
3299 </div>
3300 <div class="user-details">
3301
3302 <div class="-flair">
3303
3304 </div>
3305 </div>
3306</div> </div>
3307
3308
3309
3310 <div class="post-signature grid--cell fl0">
3311
3312
3313 <div class="user-info">
3314 <div class="user-details">
3315 <span class="community-wiki" title="This post is community owned as of Dec 8 '10 at 16:58. Votes do not generate reputation, and it can be edited by users with 100 rep">
3316 community wiki
3317 </span>
3318 </div><br>
3319 <div class="user-details">
3320 <a id="history-4390102" href="/posts/4390102/revisions" title="show revision history for this post">
3321 Steve V.
3322 </a>
3323 </div>
3324</div>
3325 </div>
3326 </div>
3327</div>
3328
3329 <div class="post-layout--right">
3330 <div id="comments-4390102" class="comments js-comments-container dno">
3331 <ul class="comments-list js-comments-list"
3332 data-remaining-comments-count="0"
3333 data-canpost="false"
3334 data-cansee="true"
3335 data-comments-unavailable="false"
3336 data-addlink-disabled="true">
3337
3338 </ul>
3339 </div>
3340
3341 <div id="comments-link-4390102" data-rep=50 data-anon=true>
3342
3343 <a class="js-add-link comments-link disabled-link "
3344 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3345 >add a comment</a><span class="js-link-separator dno"> | </span>
3346 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3347 </div>
3348 </div> </div>
3349</div>
3350
3351
3352<a name="4581575"></a>
3353<div id="answer-4581575" class="answer ice-ice-baby" data-answerid="4581575" itemscope itemtype="http://schema.org/Answer">
3354 <div class="post-layout">
3355 <div class="votecell post-layout--left">
3356
3357
3358<div class="vote">
3359 <input type="hidden" name="_id_" value="4581575">
3360 <a class="vote-up-off" title="This answer is useful">up vote</a>
3361 <span itemprop="upvoteCount" class="vote-count-post ">2</span>
3362 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3363
3364
3365
3366
3367</div>
3368
3369 </div>
3370
3371
3372
3373<div class="answercell post-layout--right">
3374 <div class="post-text" itemprop="text">
3375<p>After going through a few free e-books, I found the best book for learning to program was Head First Programming published by O'Reily Press. It uses Python as the language and gives you programs to work on from the very start. They are all more interesting that 'Hello World'.
3376It's well worth the money I spent on it, and since it's been out for a bit you may be able to find a cheaper used copy on Ebay or Amazon. </p>
3377 </div>
3378 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3379 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3380<div class="post-menu"><a href="/a/4581575" title="short permalink to this answer" class="short-link" id="link-post-4581575">share</a></div> </div>
3381 <div class="post-signature grid--cell fl0">
3382<div class="user-info ">
3383 <div class="user-action-time">
3384 answered <a href="/posts/4581575/revisions" title="show all edits to this post"><span title="2011-01-03 01:54:43Z" class="relativetime">Jan 3 '11 at 1:54</span></a>
3385 </div>
3386 <div class="user-gravatar32">
3387
3388 </div>
3389 <div class="user-details">
3390
3391 <div class="-flair">
3392
3393 </div>
3394 </div>
3395</div> </div>
3396
3397
3398
3399 <div class="post-signature grid--cell fl0">
3400
3401
3402 <div class="user-info">
3403 <div class="user-details">
3404 <span class="community-wiki" title="This post is community owned as of Jan 3 '11 at 1:54. Votes do not generate reputation, and it can be edited by users with 100 rep">
3405 community wiki
3406 </span>
3407 </div><br>
3408 <div class="user-details">
3409 <a id="history-4581575" href="/posts/4581575/revisions" title="show revision history for this post">
3410 chrisfs
3411 </a>
3412 </div>
3413</div>
3414 </div>
3415 </div>
3416</div>
3417
3418 <div class="post-layout--right">
3419 <div id="comments-4581575" class="comments js-comments-container dno">
3420 <ul class="comments-list js-comments-list"
3421 data-remaining-comments-count="0"
3422 data-canpost="false"
3423 data-cansee="true"
3424 data-comments-unavailable="false"
3425 data-addlink-disabled="true">
3426
3427 </ul>
3428 </div>
3429
3430 <div id="comments-link-4581575" data-rep=50 data-anon=true>
3431
3432 <a class="js-add-link comments-link disabled-link "
3433 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3434 >add a comment</a><span class="js-link-separator dno"> | </span>
3435 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3436 </div>
3437 </div> </div>
3438</div>
3439
3440
3441<a name="3135"></a>
3442<div id="answer-3135" class="answer ice-ice-baby" data-answerid="3135" itemscope itemtype="http://schema.org/Answer">
3443 <div class="post-layout">
3444 <div class="votecell post-layout--left">
3445
3446
3447<div class="vote">
3448 <input type="hidden" name="_id_" value="3135">
3449 <a class="vote-up-off" title="This answer is useful">up vote</a>
3450 <span itemprop="upvoteCount" class="vote-count-post ">1</span>
3451 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3452
3453
3454
3455
3456</div>
3457
3458 </div>
3459
3460
3461
3462<div class="answercell post-layout--right">
3463 <div class="post-text" itemprop="text">
3464<p>If you want to teach the basics of programming, without being language specific, there is an application called <a href="http://scratch.mit.edu/" rel="nofollow noreferrer">Scratch</a> that was created in MIT. It's designed to help people develop programming skills. As users create Scratch projects, they learn to create conditions, loops, etc. There is a also a community of scratch projects, form which projects can be downloaded - that way you can explore other people's programs and see how they were built.</p>
3465 </div>
3466 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3467 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3468<div class="post-menu"><a href="/a/3135" title="short permalink to this answer" class="short-link" id="link-post-3135">share</a></div> </div>
3469 <div class="post-signature grid--cell fl0">
3470<div class="user-info ">
3471 <div class="user-action-time">
3472 answered <a href="/posts/3135/revisions" title="show all edits to this post"><span title="2008-08-06 07:15:53Z" class="relativetime">Aug 6 '08 at 7:15</span></a>
3473 </div>
3474 <div class="user-gravatar32">
3475
3476 </div>
3477 <div class="user-details">
3478
3479 <div class="-flair">
3480
3481 </div>
3482 </div>
3483</div> </div>
3484
3485
3486
3487 <div class="post-signature grid--cell fl0">
3488
3489
3490 <div class="user-info">
3491 <div class="user-details">
3492 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
3493 community wiki
3494 </span>
3495 </div><br>
3496 <div class="user-details">
3497 <a id="history-3135" href="/posts/3135/revisions" title="show revision history for this post">
3498 Lea Cohen
3499 </a>
3500 </div>
3501</div>
3502 </div>
3503 </div>
3504</div>
3505
3506 <div class="post-layout--right">
3507 <div id="comments-3135" class="comments js-comments-container dno">
3508 <ul class="comments-list js-comments-list"
3509 data-remaining-comments-count="0"
3510 data-canpost="false"
3511 data-cansee="true"
3512 data-comments-unavailable="false"
3513 data-addlink-disabled="true">
3514
3515 </ul>
3516 </div>
3517
3518 <div id="comments-link-3135" data-rep=50 data-anon=true>
3519
3520 <a class="js-add-link comments-link disabled-link "
3521 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3522 >add a comment</a><span class="js-link-separator dno"> | </span>
3523 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3524 </div>
3525 </div> </div>
3526</div>
3527
3528
3529<a name="5400"></a>
3530<div id="answer-5400" class="answer ice-ice-baby" data-answerid="5400" itemscope itemtype="http://schema.org/Answer">
3531 <div class="post-layout">
3532 <div class="votecell post-layout--left">
3533
3534
3535<div class="vote">
3536 <input type="hidden" name="_id_" value="5400">
3537 <a class="vote-up-off" title="This answer is useful">up vote</a>
3538 <span itemprop="upvoteCount" class="vote-count-post ">1</span>
3539 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3540
3541
3542
3543
3544</div>
3545
3546 </div>
3547
3548
3549
3550<div class="answercell post-layout--right">
3551 <div class="post-text" itemprop="text">
3552<p>I think that once he has the basics (variables, loops, etc) down you should try to help him find something specific that he is interested in and help him learn the necessities to make it happen. I know that I am much more inclined and motivated to do something if it's of interest to me. Also, make sure to let him struggle though some of the tougher problems, nothing is more satisfying than the moment you figure it out on your own.</p>
3553 </div>
3554 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3555 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3556<div class="post-menu"><a href="/a/5400" title="short permalink to this answer" class="short-link" id="link-post-5400">share</a></div> </div>
3557 <div class="post-signature grid--cell fl0">
3558<div class="user-info ">
3559 <div class="user-action-time">
3560 answered <a href="/posts/5400/revisions" title="show all edits to this post"><span title="2008-08-07 22:12:54Z" class="relativetime">Aug 7 '08 at 22:12</span></a>
3561 </div>
3562 <div class="user-gravatar32">
3563
3564 </div>
3565 <div class="user-details">
3566
3567 <div class="-flair">
3568
3569 </div>
3570 </div>
3571</div> </div>
3572
3573
3574
3575 <div class="post-signature grid--cell fl0">
3576
3577
3578 <div class="user-info">
3579 <div class="user-details">
3580 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
3581 community wiki
3582 </span>
3583 </div><br>
3584 <div class="user-details">
3585 <a id="history-5400" href="/posts/5400/revisions" title="show revision history for this post">
3586 DanV
3587 </a>
3588 </div>
3589</div>
3590 </div>
3591 </div>
3592</div>
3593
3594 <div class="post-layout--right">
3595 <div id="comments-5400" class="comments js-comments-container dno">
3596 <ul class="comments-list js-comments-list"
3597 data-remaining-comments-count="0"
3598 data-canpost="false"
3599 data-cansee="true"
3600 data-comments-unavailable="false"
3601 data-addlink-disabled="true">
3602
3603 </ul>
3604 </div>
3605
3606 <div id="comments-link-5400" data-rep=50 data-anon=true>
3607
3608 <a class="js-add-link comments-link disabled-link "
3609 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3610 >add a comment</a><span class="js-link-separator dno"> | </span>
3611 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3612 </div>
3613 </div> </div>
3614</div>
3615
3616
3617<a name="6548"></a>
3618<div id="answer-6548" class="answer ice-ice-baby" data-answerid="6548" itemscope itemtype="http://schema.org/Answer">
3619 <div class="post-layout">
3620 <div class="votecell post-layout--left">
3621
3622
3623<div class="vote">
3624 <input type="hidden" name="_id_" value="6548">
3625 <a class="vote-up-off" title="This answer is useful">up vote</a>
3626 <span itemprop="upvoteCount" class="vote-count-post ">1</span>
3627 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3628
3629
3630
3631
3632</div>
3633
3634 </div>
3635
3636
3637
3638<div class="answercell post-layout--right">
3639 <div class="post-text" itemprop="text">
3640<p>I was taught by learning how to solve problems in a language agnostic way using flowcharts and <a href="http://en.wikipedia.org/wiki/Program_Design_Language" rel="nofollow noreferrer">PDL</a> (Program Design Language). After a couple weeks of that, I learned to convert the PDL I had written to a language. I am glad I learned that way because I have spent the majority of my years programming, solving problems without being tied to a language. What language I use has always been an implementation detail and not part of the design. </p>
3641
3642<p>Having to solve the problem by breaking it down into it's basic steps is a key skill. I think it is one of the things that separates those that can program from those that can't.</p>
3643
3644<p>As far as how you tackle the order of concepts of a language I believe the easiest way is to decide that is to have a project in mind and tackle the concepts as they are needed. This lets you apply them as they are needed on something that you are interested in doing. When learning a language it is good to have several simple projects in mind and a few with progressive complexity. Deciding on those will help you map out the concepts that are needed and their order.</p>
3645 </div>
3646 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3647 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3648<div class="post-menu"><a href="/a/6548" title="short permalink to this answer" class="short-link" id="link-post-6548">share</a></div> </div>
3649 <div class="post-signature grid--cell fl0">
3650<div class="user-info ">
3651 <div class="user-action-time">
3652 answered <a href="/posts/6548/revisions" title="show all edits to this post"><span title="2008-08-09 02:23:54Z" class="relativetime">Aug 9 '08 at 2:23</span></a>
3653 </div>
3654 <div class="user-gravatar32">
3655
3656 </div>
3657 <div class="user-details">
3658
3659 <div class="-flair">
3660
3661 </div>
3662 </div>
3663</div> </div>
3664
3665
3666
3667 <div class="post-signature grid--cell fl0">
3668
3669
3670 <div class="user-info">
3671 <div class="user-details">
3672 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
3673 community wiki
3674 </span>
3675 </div><br>
3676 <div class="user-details">
3677 <a id="history-6548" href="/posts/6548/revisions" title="show revision history for this post">
3678 bruceatk
3679 </a>
3680 </div>
3681</div>
3682 </div>
3683 </div>
3684</div>
3685
3686 <div class="post-layout--right">
3687 <div id="comments-6548" class="comments js-comments-container dno">
3688 <ul class="comments-list js-comments-list"
3689 data-remaining-comments-count="0"
3690 data-canpost="false"
3691 data-cansee="true"
3692 data-comments-unavailable="false"
3693 data-addlink-disabled="true">
3694
3695 </ul>
3696 </div>
3697
3698 <div id="comments-link-6548" data-rep=50 data-anon=true>
3699
3700 <a class="js-add-link comments-link disabled-link "
3701 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3702 >add a comment</a><span class="js-link-separator dno"> | </span>
3703 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3704 </div>
3705 </div> </div>
3706</div>
3707
3708
3709<a name="6696"></a>
3710<div id="answer-6696" class="answer ice-ice-baby" data-answerid="6696" itemscope itemtype="http://schema.org/Answer">
3711 <div class="post-layout">
3712 <div class="votecell post-layout--left">
3713
3714
3715<div class="vote">
3716 <input type="hidden" name="_id_" value="6696">
3717 <a class="vote-up-off" title="This answer is useful">up vote</a>
3718 <span itemprop="upvoteCount" class="vote-count-post ">1</span>
3719 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3720
3721
3722
3723
3724</div>
3725
3726 </div>
3727
3728
3729
3730<div class="answercell post-layout--right">
3731 <div class="post-text" itemprop="text">
3732<p>I would recommend also watching some screencasts - they are generally created in context of a specific technology not a language, though if there's Python code displayed, that'll do :). The point is - they're created by some good programmers and watching how good programmers program is a good thing. You and your brother could do some peer programming as well, that might be an even better idea. Just don't forget to explain WHY you do something this way and not that way.
3733I think the best way to learn programming is from good examples and try not to even see the bad ones.</p>
3734 </div>
3735 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3736 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3737<div class="post-menu"><a href="/a/6696" title="short permalink to this answer" class="short-link" id="link-post-6696">share</a></div> </div>
3738 <div class="post-signature grid--cell fl0">
3739<div class="user-info ">
3740 <div class="user-action-time">
3741 answered <a href="/posts/6696/revisions" title="show all edits to this post"><span title="2008-08-09 08:17:05Z" class="relativetime">Aug 9 '08 at 8:17</span></a>
3742 </div>
3743 <div class="user-gravatar32">
3744
3745 </div>
3746 <div class="user-details">
3747
3748 <div class="-flair">
3749
3750 </div>
3751 </div>
3752</div> </div>
3753
3754
3755
3756 <div class="post-signature grid--cell fl0">
3757
3758
3759 <div class="user-info">
3760 <div class="user-details">
3761 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
3762 community wiki
3763 </span>
3764 </div><br>
3765 <div class="user-details">
3766 <a id="history-6696" href="/posts/6696/revisions" title="show revision history for this post">
3767 martinsb
3768 </a>
3769 </div>
3770</div>
3771 </div>
3772 </div>
3773</div>
3774
3775 <div class="post-layout--right">
3776 <div id="comments-6696" class="comments js-comments-container dno">
3777 <ul class="comments-list js-comments-list"
3778 data-remaining-comments-count="0"
3779 data-canpost="false"
3780 data-cansee="true"
3781 data-comments-unavailable="false"
3782 data-addlink-disabled="true">
3783
3784 </ul>
3785 </div>
3786
3787 <div id="comments-link-6696" data-rep=50 data-anon=true>
3788
3789 <a class="js-add-link comments-link disabled-link "
3790 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3791 >add a comment</a><span class="js-link-separator dno"> | </span>
3792 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3793 </div>
3794 </div> </div>
3795</div>
3796
3797
3798<a name="6836"></a>
3799<div id="answer-6836" class="answer ice-ice-baby" data-answerid="6836" itemscope itemtype="http://schema.org/Answer">
3800 <div class="post-layout">
3801 <div class="votecell post-layout--left">
3802
3803
3804<div class="vote">
3805 <input type="hidden" name="_id_" value="6836">
3806 <a class="vote-up-off" title="This answer is useful">up vote</a>
3807 <span itemprop="upvoteCount" class="vote-count-post ">1</span>
3808 <a class="vote-down-off" title="This answer is not useful">down vote</a>
3809
3810
3811
3812
3813</div>
3814
3815 </div>
3816
3817
3818
3819<div class="answercell post-layout--right">
3820 <div class="post-text" itemprop="text">
3821<p>Robert Read wrote a useful guide, <a href="http://samizdat.mines.edu/howto/HowToBeAProgrammer.html" rel="nofollow noreferrer">How to be a Programmer</a>, which covers a wide area of programming issues that a beginner would find helpful.</p>
3822 </div>
3823 <div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy">
3824 <div class="grid--cell mr16" style="flex: 1 1 100px;">
3825<div class="post-menu"><a href="/a/6836" title="short permalink to this answer" class="short-link" id="link-post-6836">share</a></div> </div>
3826 <div class="post-signature grid--cell fl0">
3827<div class="user-info ">
3828 <div class="user-action-time">
3829 answered <a href="/posts/6836/revisions" title="show all edits to this post"><span title="2008-08-09 16:28:05Z" class="relativetime">Aug 9 '08 at 16:28</span></a>
3830 </div>
3831 <div class="user-gravatar32">
3832
3833 </div>
3834 <div class="user-details">
3835
3836 <div class="-flair">
3837
3838 </div>
3839 </div>
3840</div> </div>
3841
3842
3843
3844 <div class="post-signature grid--cell fl0">
3845
3846
3847 <div class="user-info">
3848 <div class="user-details">
3849 <span class="community-wiki" title="This post is community owned as of Sep 19 '08 at 11:43. Votes do not generate reputation, and it can be edited by users with 100 rep">
3850 community wiki
3851 </span>
3852 </div><br>
3853 <div class="user-details">
3854 <a id="history-6836" href="/posts/6836/revisions" title="show revision history for this post">
3855 David
3856 </a>
3857 </div>
3858</div>
3859 </div>
3860 </div>
3861</div>
3862
3863 <div class="post-layout--right">
3864 <div id="comments-6836" class="comments js-comments-container dno">
3865 <ul class="comments-list js-comments-list"
3866 data-remaining-comments-count="0"
3867 data-canpost="false"
3868 data-cansee="true"
3869 data-comments-unavailable="false"
3870 data-addlink-disabled="true">
3871
3872 </ul>
3873 </div>
3874
3875 <div id="comments-link-6836" data-rep=50 data-anon=true>
3876
3877 <a class="js-add-link comments-link disabled-link "
3878 title="Use comments to ask for more information or suggest improvements. Avoid comments like “+1†or “thanksâ€."
3879 >add a comment</a><span class="js-link-separator dno"> | </span>
3880 <a class="js-show-link comments-link dno" title="expand to show all comments on this post" href=# onclick=""></a>
3881 </div>
3882 </div> </div>
3883</div>
3884<div class="pager-answers">
3885
3886
3887
3888
3889
3890 <span class="page-numbers current">1</span> <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?page=2&tab=votes#tab-top" title="go to page 2"> <span class="page-numbers">2</span> </a>
3891 <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?page=3&tab=votes#tab-top" title="go to page 3"> <span class="page-numbers">3</span> </a>
3892 <a href="/questions/3088/best-ways-to-teach-a-beginner-to-program?page=2&tab=votes#tab-top" rel="next" title="go to page 2"> <span class="page-numbers next"> next</span> </a>
3893
3894 </div>
3895
3896
3897 <h2 class="bottom-notice" data-loc="1">
3898Not the answer you're looking for? Browse other questions tagged <a href="/questions/tagged/python" class="post-tag" title="show questions tagged 'python'" rel="tag">python</a> <a href="/questions/tagged/language-agnostic" class="post-tag" title="show questions tagged 'language-agnostic'" rel="tag">language-agnostic</a> or <a href="/questions/ask">ask your own question</a>. </h2>
3899 </div>
3900 </div>
3901 <div id="sidebar" class="show-votes" role="complementary" aria-label="sidebar">
3902 <div class="module question-stats">
3903 <table id="qinfo">
3904 <tr>
3905 <td>
3906 <p class="label-key">asked</p>
3907 </td>
3908 <td style="padding-left: 10px">
3909 <p class="label-key" title="2008-08-06 05:01:16Z"><b>9 years, 10 months ago</b></p>
3910 </td>
3911 </tr>
3912 <tr>
3913 <td>
3914 <p class="label-key">viewed</p>
3915 </td>
3916
3917 <td style="padding-left: 10px">
3918 <p class="label-key">
3919 <b>125,864 times</b>
3920 </p>
3921 </td>
3922 </tr>
3923 <tr>
3924 <td>
3925 <p class="label-key">active</p>
3926 </td>
3927 <td style="padding-left: 10px">
3928 <p class="label-key"><b><a href="?lastactivity" class="lastactivity-link" title="2012-08-04 01:54:34Z">5 years, 10 months ago</a></b></p>
3929 </td>
3930 </tr>
3931 </table>
3932 </div>
3933 <div class="module community-bulletin" data-tracker="cb=1">
3934 <div class="related">
3935 <div class="bulletin-title">
3936 Blog
3937 </div>
3938 <hr />
3939 <div class="spacer">
3940 <div class="bulletin-item-type">
3941 <a href="https://stackoverflow.blog/2018/06/21/rolling-out-the-welcome-wagon-june-update/" class="question-hyperlink" data-ga="["community bulletin board","Blog","https://stackoverflow.blog/2018/06/21/rolling-out-the-welcome-wagon-june-update/",null,null]">
3942<div class="favicon favicon-stackexchangemeta" title="Meta Stack Exchange"></div> </a>
3943 </div>
3944 <div class="bulletin-item-content">
3945 <a href="https://stackoverflow.blog/2018/06/21/rolling-out-the-welcome-wagon-june-update/" class="question-hyperlink" data-ga="["community bulletin board","Blog","https://stackoverflow.blog/2018/06/21/rolling-out-the-welcome-wagon-june-update/",null,null]">Rolling out the Welcome Wagon: June Update</a>
3946 </div>
3947 <br class="cbt" />
3948 </div>
3949 </div>
3950</div>
3951
3952<div id="dfp-tsb" class="everyonelovesstackoverflow everyoneloves__top-sidebar"></div>
3953 <div id="hireme"></div>
3954<script>;try{(function(a){function b(a){return'string'==typeof a?document.getElementById(a):a}function c(a){return a=b(a),!!a&&'none'===getComputedStyle(a).display}function d(a){return!c(a)}function e(a){return!!a}function f(a){return /^\s*$/.test(b(a).innerHTML)}function g(a){var b=a.style;b.height=b.maxHeight=b.minHeight='auto',b.display='none',[].forEach.call(a.children,g)}function h(a,b){var c;return function(){return a&&(c=a.call(b||this,arguments),a=null),c}}function i(a){var b=document.createElement('script');b.src=a,document.body.appendChild(b)}function j(a){return k([],a)}function k(a,b){return a.push=function(a){return b(),delete this.push,this.push(a)},a}function l(){try{return!new Function('return async()=>{};')}catch(a){return!0}}function m(){return'undefined'!=typeof googletag&&!!googletag.apiReady}function n(){m()||(googletag={cmd:j(A)})}function o(){var a=document.createElement('div');a.className='adsbox',a.id='clc-abd',a.style.position='absolute',a.style.pointerEvents='none',a.innerHTML=' ',document.body.appendChild(a)}function p(a){var b=a.serviceName,c=a.slot,d=a.lineItemId;try{var e=c.getSlotElementId(),f=[];e||f.push('id=0');var h=document.getElementById(e);if(!e||h?h.hasAttribute('data-clc-stalled')&&f.push('st=1'):f.push('el=0'),0!==f.length)return void B(f.join('&'));-1===x.dh.indexOf(d)?h.setAttribute('data-clc-prefilled','true'):g(h),h.setAttribute('data-clc-ready','true')}catch(a){var i=document.querySelector('#dfp-tsb, #dfp-isb, #clc-tsb');i&&i.setAttribute('data-clc-ready','true'),B('e=1')}}function q(){return Object.keys(F.ids)}function r(a){var b=F.ids[a],c=F.slots[b];'function'==typeof c&&(c=c(a));return{path:'/'+C+'/'+E+'/'+b+'/'+D,sizes:c,zone:b}}function s(a){return!(clc.collapse&&void 0!==clc.collapse[a])||!!clc.collapse[a]}function t(a,b){'dfp-isb'===a&&b.setTargeting('Sidebar',['Inline']),'dfp-tsb'===a&&b.setTargeting('Sidebar',['Right']);var c=r(a),d=c.path,e=c.sizes,f=c.zone,g=googletag.defineSlot(d,e,a);s(f)&&g.setCollapseEmptyDiv(!0,!0),g.addService(b),!1}function u(b){var c=a.dfp&&a.dfp.targeting||{};Object.keys(c).forEach(function(a){b.setTargeting(a,c[a])})}function v(a){var g=a.map(b).filter(e);return{eligible:g.filter(f).filter(d).map(function(a){return a.id}),ineligible:g.filter(c)}}function w(b){if(void 0===b&&(b=q()),!m())return n(),void googletag.cmd.push(function(){return w(b)});var c=v(b),d=c.eligible,e=c.ineligible;if(e.forEach(g),0!==d.length){o(),googletag.destroySlots();var f=googletag.pubads();f.enableSingleRequest(),a.sreEvent||(f.addEventListener('slotRenderEnded',p),a.sreEvent=!0),u(f),d.forEach(function(a){return t(a,f)}),googletag.enableServices(),d.forEach(function(a){googletag.display(a)})}}var x=function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];for(var d,e=0,f=b;e<f.length;e++)for(var g in d=f[e],d)a[g]=d[g];return a}({"lib":"https://cdn.sstatic.net/clc/clc.min.js?v=04d772c81312","style":"https://cdn.sstatic.net/clc/styles/clc.min.css?v=8a0a093a431f","u":"https://clc.stackoverflow.com/markup.js","wa":true,"kt":2000,"tto":true,"h":"clc.stackoverflow.com","allowed":"^(((talent\\.)?stackoverflow)|(blog\\.codinghorror)|(serverfault|askubuntu)|([^\\.]+\\.stackexchange))\\.com$","wv":true,"al":false,"dh":[4385506061,4386578282,4386579572]},a.options||{}),y=h(function(){i(l()?x.lib.replace(/(\.min)?\.js(\?v=[0-9a-fA-F]+)?$/,'.ie$1.js$2'):x.lib)}),z=a.cmd||[];Array.isArray(z)&&(0<z.length?y():k(z,y));var A=h(function(){i('https://www.googletagservices.com/tag/js/gpt.js')}),B=function(a){new Image().src='https://'+x.h+'/stalled.gif?'+a},C='248424177',D=/^\/tags\//.test(location.pathname)||/^\/questions\/tagged\//.test(location.pathname)?'tag-pages':'question-pages',E=location.hostname;var F={slots:{lb:[[728,90]],mlb:[[728,90]],sb:function(a){return'dfp-tsb'===a?[[300,250],[300,600]]:[[300,250]]},"tag-sponsorship":[[730,135]],"mobile-below-question":[[320,50],[300,250]]},ids:{"dfp-tlb":'lb',"dfp-mlb":'mlb',"dfp-tsb":'sb',"dfp-isb":'sb',"dfp-tag":'tag-sponsorship',"dfp-m-aq":'mobile-below-question',"clc-tlb":'lb',"clc-mlb":'mlb',"clc-tsb":'sb'}};(function(){x.al&&z.push(function(){return a.load()})})(),n();a.cmd=z,a.dfp={load:w},a.options=x})(this.clc=this.clc||{})}catch(a){window.console.error(a)}</script> <script>
3955 var clc = clc || {};
3956 clc.collapse = { sb: !0,'tag-sponsorship':!0,lb:!1,mlb:!1,'mobile-below-question':!0};
3957 clc.cmd = clc.cmd || [];
3958 clc.cmd.push(function () { window.clc_request='AsLPI0t829UIAAAAABAMAAACAAAAAgAAAAAaAAAAfHB5dGhvbnxsYW5ndWFnZS1hZ25vc3RpY3wA8RRXvqAKfq-pGg'; clc.load(); });
3959 clc.dfp = clc.dfp || {};
3960 clc.dfp.targeting = {Registered:['false'],'so-tag':['python','language-agnostic']};
3961
3962 var googletag = googletag || {};
3963 googletag.cmd = googletag.cmd || [];
3964 googletag.cmd.push(function () { clc.dfp.load(); });
3965 </script>
3966 <div class="module sidebar-linked">
3967 <h4 id="h-linked">Linked</h4>
3968 <div class="linked" data-tracker="lq=1">
3969
3970<div class="spacer">
3971 <a href="/q/811074" title="Vote score (upvotes - downvotes)">
3972 <div class="answer-votes answered-accepted large">406</div>
3973 </a>
3974 <a href="/questions/811074/what-is-the-coolest-thing-you-can-do-in-10-lines-of-simple-code-help-me-inspir?noredirect=1" class="question-hyperlink">What is the coolest thing you can do in <10 lines of simple code? Help me inspire beginners!</a>
3975</div>
3976<div class="spacer">
3977 <a href="/q/1015986" title="Vote score (upvotes - downvotes)">
3978 <div class="answer-votes answered-accepted default">9</div>
3979 </a>
3980 <a href="/questions/1015986/is-there-a-simple-easy-basic-for-beginners-what-happened-to-vb-2-0?noredirect=1" class="question-hyperlink">Is there a simple, easy, BASIC for beginners? (What happened to VB 2.0?)</a>
3981</div>
3982<div class="spacer">
3983 <a href="/q/62251" title="Vote score (upvotes - downvotes)">
3984 <div class="answer-votes answered-accepted default">13</div>
3985 </a>
3986 <a href="/questions/62251/where-can-i-find-good-asp-net-tutorialor-books-online?noredirect=1" class="question-hyperlink">Where can I Find GOOD ASP.NET tutorial(or books) online?</a>
3987</div>
3988<div class="spacer">
3989 <a href="/q/714633" title="Vote score (upvotes - downvotes)">
3990 <div class="answer-votes answered-accepted default">6</div>
3991 </a>
3992 <a href="/questions/714633/how-should-i-go-about-learning-to-write-programs?noredirect=1" class="question-hyperlink">How should I go about learning to write programs?</a>
3993</div>
3994<div class="spacer">
3995 <a href="/q/736668" title="Vote score (upvotes - downvotes)">
3996 <div class="answer-votes answered-accepted default">4</div>
3997 </a>
3998 <a href="/questions/736668/what-programming-basics-should-i-learn?noredirect=1" class="question-hyperlink">What programming basics should I learn?</a>
3999</div>
4000<div class="spacer">
4001 <a href="/q/1854827" title="Vote score (upvotes - downvotes)">
4002 <div class="answer-votes answered-accepted default">2</div>
4003 </a>
4004 <a href="/questions/1854827/how-can-a-total-complete-beginner-read-source-code?noredirect=1" class="question-hyperlink">How can a total, complete beginner read source code?</a>
4005</div>
4006<div class="spacer">
4007 <a href="/q/172206" title="Vote score (upvotes - downvotes)">
4008 <div class="answer-votes default">-1</div>
4009 </a>
4010 <a href="/questions/172206/help-getting-started-in-programming?noredirect=1" class="question-hyperlink">Help getting started in programming?</a>
4011</div>
4012<div class="spacer">
4013 <a href="/q/196755" title="Vote score (upvotes - downvotes)">
4014 <div class="answer-votes answered-accepted default">3</div>
4015 </a>
4016 <a href="/questions/196755/how-can-i-search-through-stack-overflow-questions-from-a-script?noredirect=1" class="question-hyperlink">How can I search through Stack Overflow questions from a script?</a>
4017</div>
4018<div class="spacer">
4019 <a href="/q/6284245" title="Vote score (upvotes - downvotes)">
4020 <div class="answer-votes answered-accepted default">4</div>
4021 </a>
4022 <a href="/questions/6284245/books-for-teaching-kids-to-program-in-javascript?noredirect=1" class="question-hyperlink">Books for Teaching Kids to Program in Javascript</a>
4023</div>
4024<div class="spacer">
4025 <a href="/q/410941" title="Vote score (upvotes - downvotes)">
4026 <div class="answer-votes answered-accepted default">3</div>
4027 </a>
4028 <a href="/questions/410941/best-modules-to-develop-a-simple-windowed-3d-modeling-application?noredirect=1" class="question-hyperlink">Best modules to develop a simple windowed 3D modeling application?</a>
4029</div> <div class="spacer more">
4030 <a href="/questions/linked/3088">see more linked questions…</a>
4031 </div>
4032 </div>
4033</div>
4034
4035 <div class="module sidebar-related">
4036 <h4 id="h-related">Related</h4>
4037 <div class="related js-gps-related-questions" data-tracker="rq=1">
4038 <div class="spacer"><a href="/q/101754" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted extra-large">1859</div></a><a href="/questions/101754/is-there-a-way-to-run-python-on-android" class="question-hyperlink">Is there a way to run Python on Android?</a></div><div class="spacer"><a href="/q/339007" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted large">972</div></a><a href="/questions/339007/nicest-way-to-pad-zeroes-to-string" class="question-hyperlink">Nicest way to pad zeroes to string</a></div><div class="spacer"><a href="/q/383947" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted large">691</div></a><a href="/questions/383947/what-does-it-mean-to-program-to-an-interface" class="question-hyperlink">What does it mean to “program to an interface”?</a></div><div class="spacer"><a href="/q/663171" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted extra-large">1561</div></a><a href="/questions/663171/is-there-a-way-to-substring-a-string-in-python" class="question-hyperlink">Is there a way to substring a string in Python?</a></div><div class="spacer"><a href="/q/2439216" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">4</div></a><a href="/questions/2439216/how-to-teach-beginners-reversing-a-string-in-python" class="question-hyperlink">How to teach beginners reversing a string in Python?</a></div><div class="spacer"><a href="/q/3472634" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">10</div></a><a href="/questions/3472634/good-learner-book-for-a-12-year-old" class="question-hyperlink">Good learner book for a 12 year old?</a></div><div class="spacer"><a href="/q/11759131" title="Vote score (upvotes - downvotes)"><div class="answer-votes default">-2</div></a><a href="/questions/11759131/whether-this-python-book-can-be-learned-with-version-2-6-instead-of-2-5" class="question-hyperlink">Whether this Python Book can be Learned with version 2.6? instead of 2.5</a></div><div class="spacer"><a href="/q/12179271" title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted extra-large">1217</div></a><a href="/questions/12179271/meaning-of-classmethod-and-staticmethod-for-beginner" class="question-hyperlink">Meaning of @classmethod and @staticmethod for beginner?</a></div><div class="spacer"><a href="/q/15623045" title="Vote score (upvotes - downvotes)"><div class="answer-votes default">7</div></a><a href="/questions/15623045/please-code-review-my-sample-python-program" class="question-hyperlink">Please code review my sample Python program</a></div>
4039 </div>
4040 </div>
4041
4042<div id="hot-network-questions" class="module tex2jax_ignore">
4043 <h4>
4044 <a href="https://stackexchange.com/questions?tab=hot"
4045 class="js-gps-track"
4046 data-gps-track="posts_hot_network.click({ item_type:1, location:11 })">
4047 Hot Network Questions
4048 </a>
4049 </h4>
4050 <ul>
4051 <li >
4052 <div class="favicon favicon-money" title="Personal Finance & Money Stack Exchange"></div><a href="https://money.stackexchange.com/questions/96796/stock-split-seems-not-to-have-changed-the-share-price-why" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:93 }); posts_hot_network.click({ item_type:2, location:11 })">
4053 Stock Split seems not to have changed the Share Price. Why?
4054 </a>
4055
4056 </li>
4057 <li >
4058 <div class="favicon favicon-tridion" title="Tridion Stack Exchange"></div><a href="https://tridion.stackexchange.com/questions/19006/usage-of-the-websiterooturl-setting-in-topology-manager" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:485 }); posts_hot_network.click({ item_type:2, location:11 })">
4059 Usage of the `WebsiteRootUrl` setting in Topology Manager
4060 </a>
4061
4062 </li>
4063 <li >
4064 <div class="favicon favicon-tex" title="TeX - LaTeX Stack Exchange"></div><a href="https://tex.stackexchange.com/questions/438035/a-simple-way-to-flush-right-flush-left-and-center-in-the-same-line" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:85 }); posts_hot_network.click({ item_type:2, location:11 })">
4065 A simple way to flush right, flush left and center in the same line
4066 </a>
4067
4068 </li>
4069 <li >
4070 <div class="favicon favicon-workplace" title="The Workplace Stack Exchange"></div><a href="https://workplace.stackexchange.com/questions/114702/senior-colleague-feels-threatened-by-me-an-intern" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:423 }); posts_hot_network.click({ item_type:2, location:11 })">
4071 Senior colleague feels threatened by me, an intern
4072 </a>
4073
4074 </li>
4075 <li >
4076 <div class="favicon favicon-ell" title="English Language Learners Stack Exchange"></div><a href="https://ell.stackexchange.com/questions/170489/what-to-call-an-image-displaying-unit-which-is-integrated-into-a-machine" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:481 }); posts_hot_network.click({ item_type:2, location:11 })">
4077 What to call an image-displaying unit which is integrated into a machine?
4078 </a>
4079
4080 </li>
4081 <li class="dno js-hidden">
4082 <div class="favicon favicon-rpg" title="Role-playing Games Stack Exchange"></div><a href="https://rpg.stackexchange.com/questions/125138/is-there-a-revenant-template-that-can-be-applied-to-existing-monster-statblocks" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:122 }); posts_hot_network.click({ item_type:2, location:11 })">
4083 Is there a revenant template that can be applied to existing monster statblocks?
4084 </a>
4085
4086 </li>
4087 <li class="dno js-hidden">
4088 <div class="favicon favicon-puzzling" title="Puzzling Stack Exchange"></div><a href="https://puzzling.stackexchange.com/questions/67537/is-grandpa-right-another-grandpa-mystery" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:559 }); posts_hot_network.click({ item_type:2, location:11 })">
4089 Is Grandpa right? Another Grandpa mystery
4090 </a>
4091
4092 </li>
4093 <li class="dno js-hidden">
4094 <div class="favicon favicon-workplace" title="The Workplace Stack Exchange"></div><a href="https://workplace.stackexchange.com/questions/114684/angry-email-from-customer-insisting-he-didnt-get-a-refund" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:423 }); posts_hot_network.click({ item_type:2, location:11 })">
4095 Angry email from customer insisting he didn't get a refund
4096 </a>
4097
4098 </li>
4099 <li class="dno js-hidden">
4100 <div class="favicon favicon-russian" title="Russian Language Stack Exchange"></div><a href="https://russian.stackexchange.com/questions/16676/in-russian-can-%d0%bc%d1%8b-be-used-to-refer-to-you-in-conversation" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:451 }); posts_hot_network.click({ item_type:2, location:11 })">
4101 In Russian, can "мы" be used to refer to "you" in conversation?
4102 </a>
4103
4104 </li>
4105 <li class="dno js-hidden">
4106 <div class="favicon favicon-cs" title="Computer Science Stack Exchange"></div><a href="https://cs.stackexchange.com/questions/93522/confusion-about-the-definition-of-de-bruijn-terms-in-the-tapl-book" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:419 }); posts_hot_network.click({ item_type:2, location:11 })">
4107 Confusion about the definition of de Bruijn terms in the TAPL book
4108 </a>
4109
4110 </li>
4111 <li class="dno js-hidden">
4112 <div class="favicon favicon-interpersonal" title="Interpersonal Skills Stack Exchange"></div><a href="https://interpersonal.stackexchange.com/questions/15724/how-to-maintain-friendship-with-guys-after-theyre-married" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:680 }); posts_hot_network.click({ item_type:2, location:11 })">
4113 How to maintain friendship with guys after they're married?
4114 </a>
4115
4116 </li>
4117 <li class="dno js-hidden">
4118 <div class="favicon favicon-puzzling" title="Puzzling Stack Exchange"></div><a href="https://puzzling.stackexchange.com/questions/67533/mr-q-how-to-make-a-potion" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:559 }); posts_hot_network.click({ item_type:2, location:11 })">
4119 Mr.Q : How to make a potion
4120 </a>
4121
4122 </li>
4123 <li class="dno js-hidden">
4124 <div class="favicon favicon-askubuntu" title="Ask Ubuntu"></div><a href="https://askubuntu.com/questions/1049614/how-to-multiply-a-txt-data-file-by-a-constant-number" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:89 }); posts_hot_network.click({ item_type:2, location:11 })">
4125 How to multiply a .txt data file by a constant number?
4126 </a>
4127
4128 </li>
4129 <li class="dno js-hidden">
4130 <div class="favicon favicon-graphicdesign" title="Graphic Design Stack Exchange"></div><a href="https://graphicdesign.stackexchange.com/questions/110992/how-to-make-arc-text-effect-in-illustrator" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:174 }); posts_hot_network.click({ item_type:2, location:11 })">
4131 How to make arc text effect in Illustrator?
4132 </a>
4133
4134 </li>
4135 <li class="dno js-hidden">
4136 <div class="favicon favicon-worldbuilding" title="Worldbuilding Stack Exchange"></div><a href="https://worldbuilding.stackexchange.com/questions/116252/why-would-witches-not-create-magical-familiars" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:579 }); posts_hot_network.click({ item_type:2, location:11 })">
4137 Why would witches not create magical familiars?
4138 </a>
4139
4140 </li>
4141 <li class="dno js-hidden">
4142 <div class="favicon favicon-math" title="Mathematics Stack Exchange"></div><a href="https://math.stackexchange.com/questions/2832302/understanding-a-definition-of-convergence" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:69 }); posts_hot_network.click({ item_type:2, location:11 })">
4143 Understanding a definition of convergence
4144 </a>
4145
4146 </li>
4147 <li class="dno js-hidden">
4148 <div class="favicon favicon-travel" title="Travel Stack Exchange"></div><a href="https://travel.stackexchange.com/questions/117385/which-city-can-be-seen-on-this-picture" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:273 }); posts_hot_network.click({ item_type:2, location:11 })">
4149 Which city can be seen on this picture?
4150 </a>
4151
4152 </li>
4153 <li class="dno js-hidden">
4154 <div class="favicon favicon-security" title="Information Security Stack Exchange"></div><a href="https://security.stackexchange.com/questions/188446/what-does-a-website-see-if-i-am-connected-on-my-native-ip-and-then-enable-my-vpn" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:162 }); posts_hot_network.click({ item_type:2, location:11 })">
4155 What does a website see if I am connected on my native IP and then enable my VPN?
4156 </a>
4157
4158 </li>
4159 <li class="dno js-hidden">
4160 <div class="favicon favicon-parenting" title="Parenting Stack Exchange"></div><a href="https://parenting.stackexchange.com/questions/34272/can-an-infant-choke-on-spit-up" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:228 }); posts_hot_network.click({ item_type:2, location:11 })">
4161 Can an infant choke on spit-up?
4162 </a>
4163
4164 </li>
4165 <li class="dno js-hidden">
4166 <div class="favicon favicon-scifi" title="Science Fiction & Fantasy Stack Exchange"></div><a href="https://scifi.stackexchange.com/questions/190104/how-did-chewbacca-get-a-roast-porg" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:186 }); posts_hot_network.click({ item_type:2, location:11 })">
4167 How did Chewbacca get a roast Porg?
4168 </a>
4169
4170 </li>
4171 <li class="dno js-hidden">
4172 <div class="favicon favicon-movies" title="Movies & TV Stack Exchange"></div><a href="https://movies.stackexchange.com/questions/89929/why-does-stormbreakers-handle-stay" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:367 }); posts_hot_network.click({ item_type:2, location:11 })">
4173 Why does Stormbreaker's handle stay?
4174 </a>
4175
4176 </li>
4177 <li class="dno js-hidden">
4178 <div class="favicon favicon-ell" title="English Language Learners Stack Exchange"></div><a href="https://ell.stackexchange.com/questions/170480/meaning-of-i-will-mind-my-row" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:481 }); posts_hot_network.click({ item_type:2, location:11 })">
4179 Meaning of - "I will mind my row"
4180 </a>
4181
4182 </li>
4183 <li class="dno js-hidden">
4184 <div class="favicon favicon-writing" title="Writing Stack Exchange"></div><a href="https://writing.stackexchange.com/questions/37235/how-to-make-characters-more-than-the-words-on-the-page" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:166 }); posts_hot_network.click({ item_type:2, location:11 })">
4185 How to make characters more than the words on the page?
4186 </a>
4187
4188 </li>
4189 <li class="dno js-hidden">
4190 <div class="favicon favicon-politics" title="Politics Stack Exchange"></div><a href="https://politics.stackexchange.com/questions/31747/has-erdogan-cheated-in-the-2018-election" class="js-gps-track" data-gps-track="site.switch({ item_type:11, target_site:475 }); posts_hot_network.click({ item_type:2, location:11 })">
4191 Has Erdogan cheated in the 2018 election?
4192 </a>
4193
4194 </li>
4195 </ul>
4196
4197 <a href="#"
4198 class="show-more js-show-more js-gps-track"
4199 data-gps-track="posts_hot_network.click({ item_type:3, location:11 })">
4200 more hot questions
4201 </a>
4202</div>
4203
4204 </div>
4205 </div>
4206<script>StackExchange.ready(function(){$.get('/posts/3088/ivc/d3ff');});</script>
4207<noscript><div><img src="/posts/3088/ivc/d3ff" class="dno" alt="" width="0" height="0"></div></noscript><div style="display:none" id="prettify-lang">lang-py</div></div>
4208
4209
4210 </div>
4211 </div>
4212
4213 <footer id="footer" class="site-footer js-footer" role="contentinfo">
4214 <div class="site-footer--container">
4215 <div class="site-footer--logo">
4216
4217 <a href="https://stackoverflow.com"><svg aria-hidden="true" class="svg-icon native iconLogoGlyphMd" width="32" height="37" viewBox="0 0 32 37"><g><path fill="#BCBBBB" d="M26 33v-9h4v13H0V24h4v9z"/><path d="M23.1 25.99l.68-2.95-16.1-3.35L7 23l16.1 2.99zM9.1 15.2l15 7 1.4-3-15-7-1.4 3zm4.2-7.4L26 18.4l2.1-2.5L15.4 5.3l-2.1 2.5zM21.5 0l-2.7 2 9.9 13.3 2.7-2L21.5 0zM7 30h16v-3H7v3z" fill="#F48024"/></g></svg></a>
4218 </div>
4219
4220 <nav class="site-footer--nav">
4221 <div class="site-footer--col site-footer--col__visible js-footer-col" data-name="default">
4222 <h5 class="-title"><a href="https://stackoverflow.com" class="js-gps-track" data-gps-track="footer.click({ location: 2, link: 15})">Stack Overflow</a></h5>
4223 <ul class="-list js-primary-footer-links">
4224 <li class="-item"><a href="/questions" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 16})">Questions</a></li>
4225 <li class="-item"><a href="https://stackoverflow.com/jobs" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 17})">Jobs</a></li>
4226 <li class="-item"><a href="https://stackoverflow.com/jobs/directory/developer-jobs" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 11})">Developer Jobs Directory</a></li>
4227 <li class="-item"><a href="https://stackoverflow.com/jobs/salary" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 28})">Salary Calculator</a></li>
4228 <li class="-item"><a href="/help" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 3 })">Help</a></li>
4229 <li class="-item"><a onclick='StackExchange.switchMobile("on")' class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 12 })">Mobile</a></li>
4230 </ul>
4231 </div>
4232 <div class="site-footer--col site-footer--col__visible js-footer-col" data-name="default">
4233 <h5 class="-title"><a href="https://www.stackoverflowbusiness.com" class="js-gps-track" data-gps-track="footer.click({ location: 2, link: 19 })">Products</a></h5>
4234 <ul class="-list">
4235 <li class="-item"><a href="https://stackoverflow.com/teams" class="js-gps-track -link"
4236 data-ga="["teams traffic","footer - site nav","stackoverflow.com/teams",null,{"dimension4":"teams"}]"
4237 data-gps-track="footer.click({ location: 2, link: 29 })">Teams</a></li>
4238 <li class="-item"><a href="https://www.stackoverflowbusiness.com/talent" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 20 })">Talent</a></li>
4239 <li class="-item"><a href="https://www.stackoverflowbusiness.com/advertise" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 21 })">Engagement</a></li>
4240 <li class="-item"><a href="https://stackoverflow.com/enterprise" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 22 })">Enterprise</a></li>
4241 </ul>
4242 </div>
4243 <div class="site-footer--col site-footer--col__visible js-footer-col" data-name="default">
4244 <h5 class="-title"><a class="js-gps-track" data-gps-track="footer.click({ location: 2, link: 1 })" href="https://stackoverflow.com/company/about">Company</a></h5>
4245 <ul class="-list">
4246 <li class="-item"><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 1 })" href="https://stackoverflow.com/company/about">About</a></li>
4247 <li class="-item"><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 27 })" href="https://stackoverflow.com/company/press">Press</a></li>
4248 <li class="-item"><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 9 })" href="https://stackoverflow.com/company/work-here">Work Here</a></li>
4249 <li class="-item"><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 7 })" href="https://stackoverflow.com/legal">Legal</a></li>
4250 <li class="-item"><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 8 })" href="https://stackoverflow.com/legal/privacy-policy">Privacy Policy</a></li>
4251 <li class="-item"><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 13 })" href="https://stackoverflow.com/company/contact">Contact Us</a></li>
4252 </ul>
4253 </div>
4254 <div class="site-footer--col site-footer--categories-nav site-footer--col__visible">
4255 <a href="#" class="site-footer--back js-footer-back"><svg aria-hidden="true" class="svg-icon iconArrowLeftAlt" width="18" height="18" viewBox="0 0 18 18"><path d="M10.58 16L12 14.59 6.4 9 12 3.41 10.57 2l-7 7z"/></svg></a>
4256 <div>
4257 <h5 class="-title"><a href="https://stackexchange.com">Stack Exchange<br> Network</a></h5>
4258 <ul class="-list">
4259 <li class="-item"><a href="#" class="-link _expandable js-footer-category-trigger js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })" data-target="Technology">Technology</a></li>
4260 <li class="-item"><a href="#" class="-link _expandable js-footer-category-trigger js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })" data-target="Life / Arts">Life / Arts</a></li>
4261 <li class="-item"><a href="#" class="-link _expandable js-footer-category-trigger js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })" data-target="Culture / Recreation">Culture / Recreation</a></li>
4262 <li class="-item"><a href="#" class="-link _expandable js-footer-category-trigger js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })" data-target="Science">Science</a></li>
4263 <li class="-item"><a href="#" class="-link _expandable js-footer-category-trigger js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })" data-target="Other">Other</a></li>
4264
4265 </ul>
4266 </div>
4267 </div>
4268 <div class="site-footer--categories">
4269 <div class="site-footer--col site-footer--category js-footer-col" data-name="Technology">
4270 <ul class="-list">
4271 <li class="-item"><a href="https://stackoverflow.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="professional and enthusiast programmers">Stack Overflow</a></li>
4272 <li class="-item"><a href="https://serverfault.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="system and network administrators">Server Fault</a></li>
4273 <li class="-item"><a href="https://superuser.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="computer enthusiasts and power users">Super User</a></li>
4274 <li class="-item"><a href="https://webapps.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="power users of web applications">Web Applications</a></li>
4275 <li class="-item"><a href="https://askubuntu.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="Ubuntu users and developers">Ask Ubuntu</a></li>
4276 <li class="-item"><a href="https://webmasters.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="pro webmasters">Webmasters</a></li>
4277 <li class="-item"><a href="https://gamedev.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="professional and independent game developers">Game Development</a></li>
4278 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Technology"><ul class="-list">
4279 <li class="-item"><a href="https://tex.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="users of TeX, LaTeX, ConTeXt, and related typesetting systems">TeX - LaTeX</a></li>
4280 <li class="-item"><a href="https://softwareengineering.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="professionals, academics, and students working within the systems development life cycle">Software Engineering</a></li>
4281 <li class="-item"><a href="https://unix.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="users of Linux, FreeBSD and other Un*x-like operating systems">Unix & Linux</a></li>
4282 <li class="-item"><a href="https://apple.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="power users of Apple hardware and software">Ask Different (Apple)</a></li>
4283 <li class="-item"><a href="https://wordpress.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="WordPress developers and administrators">WordPress Development</a></li>
4284 <li class="-item"><a href="https://gis.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="cartographers, geographers and GIS professionals">Geographic Information Systems</a></li>
4285 <li class="-item"><a href="https://electronics.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="electronics and electrical engineering professionals, students, and enthusiasts">Electrical Engineering</a></li>
4286 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Technology"><ul class="-list">
4287 <li class="-item"><a href="https://android.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="enthusiasts and power users of the Android operating system">Android Enthusiasts</a></li>
4288 <li class="-item"><a href="https://security.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="information security professionals">Information Security</a></li>
4289 <li class="-item"><a href="https://dba.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="database professionals who wish to improve their database skills and learn from others in the community">Database Administrators</a></li>
4290 <li class="-item"><a href="https://drupal.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="Drupal developers and administrators">Drupal Answers</a></li>
4291 <li class="-item"><a href="https://sharepoint.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="SharePoint enthusiasts">SharePoint</a></li>
4292 <li class="-item"><a href="https://ux.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="user experience researchers and experts">User Experience</a></li>
4293 <li class="-item"><a href="https://mathematica.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="users of Wolfram Mathematica">Mathematica</a></li>
4294 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Technology"><ul class="-list">
4295 <li class="-item"><a href="https://salesforce.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="Salesforce administrators, implementation experts, developers and anybody in-between">Salesforce</a></li>
4296 <li class="-item"><a href="https://expressionengine.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="administrators, end users, developers and designers for ExpressionEngine® CMS">ExpressionEngine® Answers</a></li>
4297 <li class="-item"><a href="https://pt.stackoverflow.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="programadores profissionais e entusiastas">Stack Overflow em Português</a></li>
4298 <li class="-item"><a href="https://blender.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="people who use Blender to create 3D graphics, animations, or games">Blender</a></li>
4299 <li class="-item"><a href="https://networkengineering.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="network engineers">Network Engineering</a></li>
4300 <li class="-item"><a href="https://crypto.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="software developers, mathematicians and others interested in cryptography">Cryptography</a></li>
4301 <li class="-item"><a href="https://codereview.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="peer programmer code reviews">Code Review</a></li>
4302 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Technology"><ul class="-list">
4303 <li class="-item"><a href="https://magento.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="users of the Magento e-Commerce platform">Magento</a></li>
4304 <li class="-item"><a href="https://softwarerecs.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="people seeking specific software recommendations">Software Recommendations</a></li>
4305 <li class="-item"><a href="https://dsp.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="practitioners of the art and science of signal, image and video processing">Signal Processing</a></li>
4306 <li class="-item"><a href="https://emacs.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="those using, extending or developing Emacs">Emacs</a></li>
4307 <li class="-item"><a href="https://raspberrypi.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="users and developers of hardware and software for Raspberry Pi">Raspberry Pi</a></li>
4308 <li class="-item"><a href="https://ru.stackoverflow.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="программиÑтов">Stack Overflow на руÑÑком</a></li>
4309 <li class="-item"><a href="https://codegolf.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="programming puzzle enthusiasts and code golfers">Programming Puzzles & Code Golf</a></li>
4310 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Technology"><ul class="-list">
4311 <li class="-item"><a href="https://es.stackoverflow.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="programadores y profesionales de la informática">Stack Overflow en español</a></li>
4312 <li class="-item"><a href="https://ethereum.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="users of Ethereum, the decentralized application platform and smart contract enabled blockchain">Ethereum</a></li>
4313 <li class="-item"><a href="https://datascience.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="Data science professionals, Machine Learning specialists, and those interested in learning more about the field">Data Science</a></li>
4314 <li class="-item"><a href="https://arduino.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="developers of open-source hardware and software that is compatible with Arduino">Arduino</a></li>
4315 <li class="-item"><a href="https://bitcoin.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="Bitcoin crypto-currency enthusiasts">Bitcoin</a></li>
4316 <li class="-item">
4317 <a href="https://stackexchange.com/sites#technology" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 26 })">
4318 <strong>
4319 more (30)
4320 </strong>
4321 </a>
4322 </li>
4323 </ul>
4324 </div>
4325 <div class="site-footer--col site-footer--category js-footer-col" data-name="Life / Arts">
4326 <ul class="-list">
4327 <li class="-item"><a href="https://photo.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="professional, enthusiast and amateur photographers">Photography</a></li>
4328 <li class="-item"><a href="https://scifi.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="science fiction and fantasy enthusiasts">Science Fiction & Fantasy</a></li>
4329 <li class="-item"><a href="https://graphicdesign.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="Graphic Design professionals, students, and enthusiasts">Graphic Design</a></li>
4330 <li class="-item"><a href="https://movies.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="movie and tv enthusiasts">Movies & TV</a></li>
4331 <li class="-item"><a href="https://music.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="musicians, students, and enthusiasts">Music: Practice & Theory</a></li>
4332 <li class="-item"><a href="https://worldbuilding.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="writers/artists using science, geography and culture to construct imaginary worlds and settings">Worldbuilding</a></li>
4333 <li class="-item"><a href="https://cooking.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="professional and amateur chefs">Seasoned Advice (cooking)</a></li>
4334 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Life / Arts"><ul class="-list">
4335 <li class="-item"><a href="https://diy.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="contractors and serious DIYers">Home Improvement</a></li>
4336 <li class="-item"><a href="https://money.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="people who want to be financially literate">Personal Finance & Money</a></li>
4337 <li class="-item"><a href="https://academia.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="academics and those enrolled in higher education">Academia</a></li>
4338 <li class="-item"><a href="https://law.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="legal professionals, students, and others with experience or interest in law">Law</a></li>
4339 <li class="-item">
4340 <a href="https://stackexchange.com/sites#lifearts" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 26 })">
4341 <strong>
4342 more (15)
4343 </strong>
4344 </a>
4345 </li>
4346 </ul>
4347 </div>
4348 <div class="site-footer--col site-footer--category js-footer-col" data-name="Culture / Recreation">
4349 <ul class="-list">
4350 <li class="-item"><a href="https://english.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="linguists, etymologists, and serious English language enthusiasts">English Language & Usage</a></li>
4351 <li class="-item"><a href="https://skeptics.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="scientific skepticism">Skeptics</a></li>
4352 <li class="-item"><a href="https://judaism.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="those who base their lives on Jewish law and tradition and anyone interested in learning more">Mi Yodeya (Judaism)</a></li>
4353 <li class="-item"><a href="https://travel.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="road warriors and seasoned travelers">Travel</a></li>
4354 <li class="-item"><a href="https://christianity.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="committed Christians, experts in Christianity and those interested in learning more">Christianity</a></li>
4355 <li class="-item"><a href="https://ell.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="speakers of other languages learning English">English Language Learners</a></li>
4356 <li class="-item"><a href="https://japanese.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="students, teachers, and linguists wanting to discuss the finer points of the Japanese language">Japanese Language</a></li>
4357 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Culture / Recreation"><ul class="-list">
4358 <li class="-item"><a href="https://gaming.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="passionate videogamers on all platforms">Arqade (gaming)</a></li>
4359 <li class="-item"><a href="https://bicycles.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="people who build and repair bicycles, people who train cycling, or commute on bicycles">Bicycles</a></li>
4360 <li class="-item"><a href="https://rpg.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="gamemasters and players of tabletop, paper-and-pencil role-playing games">Role-playing Games</a></li>
4361 <li class="-item"><a href="https://anime.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="anime and manga fans">Anime & Manga</a></li>
4362 <li class="-item"><a href="https://puzzling.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="those who create, solve, and study puzzles">Puzzling</a></li>
4363 <li class="-item"><a href="https://mechanics.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="mechanics and DIY enthusiast owners of cars, trucks, and motorcycles">Motor Vehicle Maintenance & Repair</a></li>
4364 <li class="-item">
4365 <a href="https://stackexchange.com/sites#culturerecreation" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 26 })">
4366 <strong>
4367 more (33)
4368 </strong>
4369 </a>
4370 </li>
4371 </ul>
4372 </div>
4373 <div class="site-footer--col site-footer--category js-footer-col" data-name="Science">
4374 <ul class="-list">
4375 <li class="-item"><a href="https://mathoverflow.net" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="professional mathematicians">MathOverflow</a></li>
4376 <li class="-item"><a href="https://math.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="people studying math at any level and professionals in related fields">Mathematics</a></li>
4377 <li class="-item"><a href="https://stats.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="people interested in statistics, machine learning, data analysis, data mining, and data visualization">Cross Validated (stats)</a></li>
4378 <li class="-item"><a href="https://cstheory.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="theoretical computer scientists and researchers in related fields">Theoretical Computer Science</a></li>
4379 <li class="-item"><a href="https://physics.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="active researchers, academics and students of physics">Physics</a></li>
4380 <li class="-item"><a href="https://chemistry.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="scientists, academics, teachers and students">Chemistry</a></li>
4381 <li class="-item"><a href="https://biology.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="biology researchers, academics, and students">Biology</a></li>
4382 </ul></div><div class="site-footer--col site-footer--category js-footer-col" data-name="Science"><ul class="-list">
4383 <li class="-item"><a href="https://cs.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="students, researchers and practitioners of computer science">Computer Science</a></li>
4384 <li class="-item"><a href="https://philosophy.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="those interested in the study of the fundamental nature of knowledge, reality, and existence">Philosophy</a></li>
4385 <li class="-item">
4386 <a href="https://stackexchange.com/sites#science" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 26 })">
4387 <strong>
4388 more (10)
4389 </strong>
4390 </a>
4391 </li>
4392 </ul>
4393 </div>
4394 <div class="site-footer--col site-footer--category js-footer-col" data-name="Other">
4395 <ul class="-list">
4396 <li class="-item"><a href="https://meta.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="meta-discussion of the Stack Exchange family of Q&A websites">Meta Stack Exchange</a></li>
4397 <li class="-item"><a href="https://stackapps.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="apps, scripts, and development with the Stack Exchange API">Stack Apps</a></li>
4398 <li class="-item"><a href="https://api.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="programmatic interaction with Stack Exchange sites">API</a></li>
4399 <li class="-item"><a href="https://data.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="querying Stack Exchange data using SQL">Data</a></li>
4400 <li class="-item"><a href="https://area51.stackexchange.com" class="-link js-gps-track" data-gps-track="footer.click({ location: 1, link: 25 })" title="proposing new sites in the Stack Exchange network">Area 51</a></li>
4401 </ul>
4402 </div>
4403 </div>
4404 </nav>
4405 <div class="site-footer--copyright fs-fine">
4406 <ul class="-list">
4407 <li class="-item"><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link:4 })" href="https://stackoverflow.blog?blb=1">Blog</a></li>
4408 <li class="-item"><a href="https://www.facebook.com/officialstackoverflow/" class="-link">Facebook</a></li>
4409 <li class="-item"><a href="https://twitter.com/stackoverflow" class="-link">Twitter</a></li>
4410 <li class="-item"><a href="https://linkedin.com/company/stack-overflow" class="-link">LinkedIn</a></li>
4411 </ul>
4412
4413 <p class="mt-auto mb24">
4414site design / logo © 2018 Stack Exchange Inc; user contributions licensed under <a href="https://creativecommons.org/licenses/by-sa/3.0/" rel="license">cc by-sa 3.0</a>
4415 with <a href="https://stackoverflow.blog/2009/06/25/attribution-required/" rel="license">attribution required</a>.
4416 <span id="svnrev">rev 2018.6.26.30871</span>
4417 </p>
4418 </div>
4419 </div>
4420
4421 </footer>
4422 <script>StackExchange.ready(function () { StackExchange.responsiveness.addSwitcher(); })</script>
4423 <noscript>
4424 <div id="noscript-warning">Stack Overflow works best with JavaScript enabled
4425 <img src="https://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif" alt="" class="dno">
4426 </div>
4427 </noscript>
4428
4429<script>
4430 (function(i, s, o, g, r, a, m) {
4431 i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o),
4432 m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m);
4433 })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
4434
4435 StackExchange.ready(function () {
4436
4437 StackExchange.ga.init({
4438 sendTitles: true,
4439 tracker: window.ga,
4440 trackingCodes: [
4441 'UA-108242619-1'
4442 ]
4443 });
4444
4445
4446
4447 StackExchange.ga.setDimension('dimension2', '|python|language-agnostic|');
4448
4449 StackExchange.ga.setDimension('dimension3', 'Questions/Show');
4450
4451
4452 StackExchange.ga.trackPageView();
4453 });
4454
4455/**/
4456
4457 var _qevents = _qevents || [],
4458 _comscore = _comscore || [];
4459 (function() {
4460 var ssl = 'https:' == document.location.protocol,
4461 s = document.getElementsByTagName('script')[0],
4462 qc = document.createElement('script');
4463 qc.async = true;
4464 qc.src = (ssl ? 'https://secure' : 'http://edge') + '.quantserve.com/quant.js';
4465 s.parentNode.insertBefore(qc, s);
4466 _qevents.push({ qacct: "p-c1rF4kxgLUzNc" });
4467/**/
4468 var sc = document.createElement('script');
4469 sc.async = true;
4470 sc.src = (ssl ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js';
4471 s.parentNode.insertBefore(sc, s);
4472 _comscore.push({ c1: "2", c2: "17440561" });
4473 })();
4474
4475
4476</script>
4477
4478 </body>
4479 </html>