-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
532 lines (476 loc) · 22.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Code-Blooded Webinar</title>
<link rel="stylesheet" href="./dist/reset.css">
<link rel="stylesheet" href="./dist/reveal.css">
<link rel="stylesheet" href="./dist/theme/beige.css" id="theme">
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="./plugin/highlight/monokai.css" id="highlight-theme">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css"
integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
<style>
h2 {
font-size: 122px !important;
}
</style>
</head>
<body>
<a href="https://github.com/MadhavBahl/slides/" target="_blank" class="github-corner"
aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250"
style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0; z-index: 999;"
aria-hidden="true">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
<path
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
fill="currentColor" class="octo-body"></path>
</svg></a>
<style>
.github-corner:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0)
}
20%,
60% {
transform: rotate(-25deg)
}
40%,
80% {
transform: rotate(10deg)
}
}
@media (max-width:500px) {
.github-corner:hover .octo-arm {
animation: none
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out
}
}
</style>
<div class="reveal">
<div class="slides">
<section>
<h1>Code-blooded!</h1>
<br />
<div>
<a style="padding: 20px;" target="_blank" href="https://www.linkedin.com/in/madhavbahl/"><i
class="fab fa-linkedin-in"></i></a>
<a style="padding: 20px;" target="_blank" href="https://www.instagram.com/theleanprogrammer"><i
class="fab fa-instagram"></i></a>
<a style="padding: 20px;" target="_blank" href="http://github.com/MadhavBahl"><i
class="fab fa-github"></i></a>
<a style="padding: 20px;" target="_blank" href="http://madhavbahl.tech/"><i
class="fas fa-globe"></i></a>
<a style="padding: 20px;" target="_blank" href="https://medium.com/@madhavbahl"><i
class="fab fa-medium"></i></a>
</div>
<br>
<p style="font-size: 40px;">Check out the slides for the webinar at NMIMS at <a
href="http://theleanprogrammer.com/nmims">theleanprogrammer.com/nmims</a></p>
</section>
<section>
<h3>What will we discuss today -</h3>
<ol>
<li>How to approach coding problems</li>
<li>Which language to choose?</li>
<li>What kind of projects should you make?</li>
<li>Mistakes that a Student/Developer should avoid!</li>
<li>Roadmap ✨</li>
</ol>
</section>
<section>
<section>
<h1>But first, let me tell you a story!</h1>
</section>
<section>
<h3>The story of a boy who -</h3>
<ul style="font-size: 34px;">
<li>Had no big ambitions in life</li>
<li>Wasted most of the time in school</li>
<li>Couldn't set his priorities right</li>
<li>Binge watched anime daily (at least 4-5 hours per day)</li>
<li>Over-dependent on others to come and teach him various subjects</li>
</ul>
</section>
<section>
<p>But, in 2017,</p>
<h2>He became fascinated by the idea of sharing whatever he learned and teaching others</h2>
</section>
<section>
<p>In 2018,</p>
<h2>He mentored more than 1000 people completely for free!</h2>
</section>
<section>
<h3>Do you want to know how his friends reacted to this?</h3>
</section>
<section>
<h3>Bro, kuch productive kar na, ye sab kya kar raha hai?</h3>
<h3>Bhai free me logo ko kyun padha raha hai?</h3>
<h3>Free me logo ki help mat kar, log value nahi karte</h3>
<h3>Kyun itna time waste kar raha hai?</h3>
</section>
<section>
<h3>Now, do you want to know what he actually got out of this?</h3>
</section>
<section>
<h3>What did he get in return?</h3>
<ul style="font-size: 34px;">
<li>Knowledge</li>
<li>Skills</li>
<li>Satisfaction</li>
<li>Job</li>
<li>Conidence</li>
<li>Motivation to do more</li>
<li>Consistency and discipline</li>
<li>Trust</li>
<li>Learnt how to learn</li>
</ul>
<p>And most importantly, the opportunity to speak in front of you today!</p>
</section>
</section>
<section>
<h2>Hi, I am Madhav!</h2>
<ul style="font-size: 32px;">
<li><b>Software Engineer</b> at MS</li>
<li><b>Public Speaker - </b>Gave talks in 100+ events/conferences</li>
<li><b>Mentor -</b> Completed more than 17 FREE initiatives and reached over 40k students</li>
<li><b>Blogger -</b> Became top-writer in productivity twice</li>
<li><b>Teacher - </b>Launched the React Mega Tutorial and working on the Redux Mega Tutorial</li>
<li>Invited to speak and <b>judge</b> in 15+ hackathons</li>
</ul>
<p style="font-size: 32px;">And most important, I am still learning!</p>
</section>
<section>
<section>
<p style="font-size: 32px;">Here's where I started, and you should too!</p>
<h1>60 Days of learning!</h1>
</section>
<section>
<h2>Rules are simple!</h2>
<ul style="font-size: 35px;">
<li>Open LinkedIn, and write a post that you are starting the challenge!</li>
<li>Study <b>at least</b> 1 hour daily!</li>
<li>In the evening/night, write a LinkedIn post about what you learnt!</li>
<li>Tag me in each post, I'd love to see your progress ;)</li>
</ul>
</section>
<section>
<h3>What will you get after the 60 days?</h3>
<ul style="font-size: 32px;">
<li>You will master the most important skill - <br>Learning how to learn!</li>
<li>Learning will be a habit now.</li>
<li>More self-discipline.</li>
<li>You will find a lot of new people and get a lot of new friends during the journey.</li>
<li>You will create a strong portfolio.</li>
<li>People will know you.</li>
<li>You will have a STRONG online presence.</li>
</ul>
<p style="font-size: 32px;">So, how many of you are going to join this challenge?</p>
</section>
</section>
<section>
<p>Enough motivation!</p>
<h3>Let's get the party started.</h3>
<ol style="font-size: 32px;">
<li>How to approach coding problems</li>
<li>Which language to choose?</li>
<li>What kind of projects should you make?</li>
<li>Mistakes that a Student/Developer should avoid!</li>
<li>Roadmap ✨</li>
</ol>
</section>
<section>
<!-- Intro slide -->
<h1>1. How to approach any coding problem?</h1>
</section>
<section>
<p>Check out this article on medium -</p>
<a href="https://medium.com/hackernoon/how-to-approach-any-coding-problem-9230f3ad6f9" target="_blank"
rel="noopener noreferrer"><img src="./cover.png" /></a>
</section>
<section>
<section>
<h2>1. Understand and Analyse the Problem</h2>
<p>Read the problem, start thinking about it and if possible write the things that are given and the
things that you need to find out on a piece of paper.</p>
</section>
<section>
<h3>Ask Yourself -</h3>
<ol>
<li>Are you able to understand the question fully?</li>
<li>Would you be able to explain the question to a layman?</li>
<li>What and how many inputs are required?</li>
<li>What would be the output for those inputs</li>
<li>Can you separate out some modules or parts from the problem?</li>
<li>Do you have enough information? If not, try understanding the question again.</li>
</ol>
</section>
</section>
<section>
<section>
<h2>2. Go through the sample inputs and examples thoroughly</h2>
<p>Going through some sample inputs and coming up with more examples sure helps you a lot to
understand the problem well</p>
</section>
<section>
<h3>Start small -</h3>
<ol>
<li>Take very simple examples and find the output</li>
<li>Take more complex and bigger inputs to see what will be the output, how many use cases do we
want</li>
</ol>
<br> <br>
<h3>Then, handle edge cases</h3>
<ol>
<li>Try out the problem with no input, what should be the output now</li>
<li>Try out the problem with invalid input, what should be the output now</li>
</ol>
</section>
</section>
<section>
<section>
<h2>3. Break down the problem</h2>
<p>This step is really very helpful when the problem at hand is very big.</p>
</section>
<section>
<h3>Try the following - </h3>
<ol>
<li>Try to make a flow chart (or a UML, if it's too big to handle) for the problem in hand</li>
<li>Divide the problem into different modules or sub-problems</li>
<li>Try to make independent functions for each sub-problem</li>
<li>Connect those sub-problems by calling them in the required order, or as necessary</li>
<li>Try to use classes and objects while handling questions which try to implement some
real-world problem (like management systems, etc.)</li>
</ol>
</section>
<section>
<img src="./coffee.png" alt="" />
</section>
</section>
<section>
<section>
<h2>4. Start solving/coding</h2>
<p style="font-size: 25px;">Now that you’ve analyzed the problem it’s time to actually write the
code. If you can’t solve the problem fully at once, try writing code for a simpler sub part, as
you solve the problem, gradually you keep figuring out the problem in more detail, and you start
getting new ideas.</p>
</section>
<section>
<h3>Always keep these 3 things in mind</h3>
<ol>
<li>The point where you started</li>
<li>Where are you right now?</li>
<li>What is your destination?</li>
</ol>
</section>
</section>
<section>
<section>
<h2>Bonus tips</h2>
<p>Keep these in mind during the interview</p>
</section>
<section>
<ul>
<li>when you are giving some interview, do not waste time in figuring out the whole solution and
then tell your interviewer</li>
<li>keep simplifying the problem and keep telling your interviewer about how you are approaching
the problem</li>
</ul>
</section>
<section>
<ol>
<li>Tell the interviewer how you are trying to start</li>
<li>Tell what method is there in your mind right now</li>
<li>Try solving the simple sub-parts first</li>
<li>You can start with brute force, there's nothing wrong with that!</li>
<li>Most likely, your interviewer will keep giving you hints on how can you improve</li>
<li>Use those hints to come up with a better solution</li>
<li>Keep talking to the interviewer</li>
</ol>
</section>
</section>
<section>
<section>
<h2>5. Look Back and Learn More</h2>
<p>Don’t just give up when you are done, give up when you feel content with the possible solution(s)
and you’ve explored the problem completely!</p>
</section>
<section>
<h3>Ask yourself -</h3>
<ol>
<li>Does this code run for every possible input (including the edge cases)</li>
<li>Is there any other way to solve the problem?</li>
<li>Is the code efficient? Can it be more efficient?</li>
<li>Is the code readable?</li>
<li>If someone else showed you this code, would you be able to understand it?</li>
<li>Can the performance be improved?</li>
<li>Can some other algorithm be used which provides better results?</li>
</ol>
</section>
</section>
<section>
<h2>All the best!</h2>
</section>
<section>
<section>
<h1>2. Which language should you choose?</h1>
</section>
<section>
<h3>Correct answer is - It depends!</h3>
<p>We will come back to this after the roadmap!</p>
</section>
</section>
<section>
<section>
<h1>3. What kind of projects should you make?</h1>
</section>
<section>
<h3>Something, that's creative</h3>
<p>OR</p>
<h3>Something, that shows your skills</h3>
</section>
</section>
<section>
<h1>4. Things to remember</h1>
<p>And, mistakes to avoid!</p>
</section>
<section>
<section>
<h1>1. Never stop learning</h1>
</section>
<section>
<h3>Things in demand today might be outdated soon, stay updated</h3> <br>
<h3>Buying a course on Udemy is much better than Netflix subscription</h3>
</section>
</section>
<section>
<section>
<h1>2. BUT! Do not try to learn everything at once</h1>
</section>
<section>
<h3>Rome wasn't built in a day</h3> <br>
<h3>1 hour daily for 30 days > 20 hours in one day</h3>
</section>
</section>
<section>
<section>
<h1>3. Prepare a proper learning strategy</h1>
</section>
<section>
<h3>Try to make a roadmap for the concepts you are going to learn, and the courses you are going to do</h3> <br>
<h3>HTML - CSS (HTML and CSS by Jon Duckett) <br> JS (w3schools and freecodecamp) <br> ReactJS (TheLeanPRogrammer) - NodeJS
(Udemy)</h3>
</section>
<section>
<h3>20:10 (Learning:Implementation) ratio?</h3> <br>
<h3>Keep learning target?</h3>
</section>
</section>
<section>
<section>
<h1>4. Implement MORE, MORE, and MORE!</h1>
</section>
<section>
<h3>Online courses and certifications alone aren't going to get you anywhere</h3>
</section>
</section>
<section>
<section>
<h1>5. Don't make things complex</h1>
</section>
<section>
<h3>Stop using "trending words" or "trending libraries" just for the sake of it</h3><br>
<h3>Do things only if required</h3>
</section>
</section>
<section>
<section>
<h1>6. Production over perfection </h1>
</section>
<section>
<h3>Don't over-think</h3><br>
<h3>Don't over-engineer</h3>
</section>
</section>
<section>
<section>
<h1>7. REST</h1>
</section>
<section>
<h3>Don't forget to take breaks and sleep properly</h3>
</section>
</section>
<section>
<section>
<h1>8. TEACH</h1>
</section>
<section>
<h3>The more you teach, the more you learn</h3><br>
<h3>Mentor your juniors? Write tutorial blogs?</h3>
</section>
</section>
<section>
<section>
<h1>9. Replace "Perfection" by "Constant Learner"</h1>
</section>
<section>
<h3>No matter how much you know, you can never know everything</h3> <br>
<h3>Have a student mindset throughout your life</h3>
</section>
</section>
<section>
<section>
<h1>10. Replace "Comparison" by "Inspiration</h1>
</section>
<section>
<h3>Instead of feeling overwhelmed, or envious, take inspiration from their hard work</h3><br>
<h3>Set goals to be at the position they are.</h3>
</section>
</section>
<section>
<h1>11. Take part in 60 days of learning! 😉</h1>
</section>
<section>
<section>
<h1>The roadmap!</h1>
</section>
<section>
<img src="./roadmap.png" alt="roadmap">
</section>
</section>
<section>
<h2>Subscribe to #TheLeanProgrammer</h2>
<a href="https://www.youtube.com/TheLeanProgrammer?sub_confirmation=1"
target="_blank">https://www.youtube.com/TheLeanProgrammer</a>
</section>
<section>
<h1>QnA time!</h1>
</section>
</div>
</div>
<script src="./dist/reveal.js"></script>
<script src="./plugin/notes/notes.js"></script>
<script src="./plugin/markdown/markdown.js"></script>
<script src="./plugin/highlight/highlight.js"></script>
<script>
// More info about initialization & config:
// - https://revealjs.com/initialization/
// - https://revealjs.com/config/
Reveal.initialize({
hash: true,
// Learn about plugins: https://revealjs.com/plugins/
plugins: [RevealHighlight, RevealNotes]
});
</script>
</body>
</html>