-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCoding.html
149 lines (149 loc) · 12.5 KB
/
Coding.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Coding Guide for Beginners</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
background-color: #f8f8f8;
}
header {
background-color: #364740;
color: #fff;
font-family: 'Times New Roman', Times, serif;
padding: 15px;
text-align: center;
}
.container {
max-width: 800px;
margin: 20px auto;
padding: 20px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
h2 {
color: #364740;
}
ul {
list-style-type: none;
padding: 0;
}
li {
margin-bottom: 10px;
}
a {
color: #4680be;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<header>
<h1>The Ultimate Coding Guide for Beginners</h1>
<p>The multitude of choices available can overwhelm and discourage new coders from taking the first step. Use this guide to help plan your learning journey. Create short term and long term goals and most importantly, STAY CONSISTENT!</p>
</header>
<div class="container">
<h2 id="toc">Table of Contents</h2>
<ul>
<li><a href="#what-is-coding">What is coding?</a></li>
<li><a href="#how-to-start-coding">How to Start Coding</a></li>
<li><a href="#coding-vs-programming">Coding vs. Programming</a></li>
<li><a href="#tips-for-beginners">Tips for Coding for Beginners</a></li>
<li><a href="#coding-resources">Our Favorite Coding Resources</a></li>
</ul>
<hr>
<section id="what-is-coding">
<h2>What is coding?</h2>
<p>In simple terms, it's writing instructions for computers and other hardware. The computer is then able to read the instructions (called “programs”) and do what you have asked it to do. Coding opens doors to numerous opportunities, not just in tech but in various industries. It's a skill that empowers you to create, innovate, and solve problems in new ways.</p>
</section>
<hr>
<section id="how-to-start-coding">
<h2>How to Start Coding</h2>
<ol>
<li><strong>Figure out why you want to learn to code.</strong></li>
<p>It’s tempting to jump right in when you start coding. But if you don’t have an end goal, you may become frustrated and stop learning before you get to the fun.</p>
<li><strong>Choose which coding language you want to learn.</strong></li>
<p>Choosing a programming language depends on several factors, including your goals, interests, and the specific projects or applications you want to work on. Here are some steps to help you choose a programming language:</p>
<ul>
<li>Define your goals: Are you interested in web development, mobile app development, data analysis, game development, or something else? Your goals will guide your choice of programming language.</li>
<li>Research Popular Languages: Look into the most widely used programming languages in the area you're interested in. For example, Javascript or Python for web development, R or SQL for data science, etc.</li>
<li>Ultimately, there is no one-size-fits-all answer, and the best programming language for you will depend on your specific goals, interests, and the context in which you plan to use it. It's also common for programmers to learn multiple languages over time as they gain experience and encounter new challenges.</li>
</ul>
<li><strong>Take online courses.</strong></li>
<p>Popular free course providers include:</p>
<ul>
<li><a href="https://www.freecodecamp.org/">freeCodeCamp</a></li>
<li><a href="https://www.w3schools.com/">W3Schools</a></li>
<li><a href="https://www.scaler.com/topics">Scaler Topics</a></li>
<li><a href="https://www.edx.org/course/cs50s-introduction-to-computer-science">Harvard’s acclaimed Intro to Computer Science course on edX</a></li>
<li><a href="https://www.youtube.com/channel/UCcabW7890RKJzL968QWEykA">CS50 Youtube Channel</a></li>
</ul>
<li><strong>Read books and ebooks.</strong></li>
<p>Definitely an old-school approach, but books will introduce you to fundamental concepts and build your theoretical knowledge.</p>
<p>Here are some established texts for each beginner language.</p>
<ul>
<li><a href="https://offers.hubspot.com/html-and-css-for-marketers?hubs_signup-url=blog.hubspot.com%2Fwebsite%2Fhow-to-start-coding&hubs_signup-cta=%20The%20Beginner%27s%20Guide%20to%20HTML%20and%20CSS%20for%20Marketers&hubs_post=blog.hubspot.com%2Fwebsite%2Fhow-to-start-coding&hubs_post-cta=%20The%20Beginner%27s%20Guide%20to%20HTML%20and%20CSS%20for%20Marketers&_ga=2.162112700.1861874370.1711256391-430489353.1711256391&_gl=1*f92n2v*_ga*NDMwNDg5MzUzLjE3MTEyNTYzOTE.*_ga_LXTM6CQ0XK*MTcxMTI1ODkzMC4yLjAuMTcxMTI1OTAyMi42MC4wLjA.">HTML/CSS</a></li>
<li><a href="https://www.amazon.com/Eloquent-JavaScript-Modern-Introduction-Programming/dp/1593272820">Javascript</a></li>
<li><a href="https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036">Python Crash Course</a></li>
<li><a href="https://www.amazon.com/dp/0789751984/">C Programming Absolute Beginner's Guide</a></li>
</ul>
<li><strong>Check out how other people code.</strong></li>
<p>GitHub and searchcode are great starting points for peer-reviewed code or open-source projects if you can.</p>
<li><strong>Complete coding projects.</strong></li>
<p>You learn programming by doing — there’s no way around it. A project is any program, be it a website or an app, built with your language of choice. When starting, keep projects short-term. Projects help solidify the “why” behind your coding and set clear, tangible benchmarks for your progress. Each completed project means one more skill under your belt.</p>
<li><strong>Enroll in coding boot camp.</strong></li>
<p>A coding bootcamp is a concentrated course that teaches essential skills and provides real-world training.</p>
</ol>
</section>
<hr>
<section id="coding-vs-programming">
<h2>Coding vs. Programming</h2>
<p>Coding is a part of programming that deals with writing codes that a machine can understand.</p>
<img src="codingvs.png" alt="Coding vs. Programming Image" width="350" height="350">
</section>
<hr>
<section id="tips-for-beginners">
<h2>Steve Klabnik’s 9 Tips for Programming Beginners</h2>
<ol>
<li><strong>Always Stick to One Task at a Time</strong></li>
<p>Often times in programming, you’ll hold a lot of context in your head depending on what you’re working on, so it’s best to focus on one thing and try to get it done. There are a lot of ways you can tackle a single problem, so a lot of things will depend on what solution you end up choosing. For example, if you’re trying to build a CMS website that build websites where it will deploy things to each user, you could organize a site where it’s a big giant app where everyone has a specific subdomain, or you can make it so that each individual subdomain is a separate instance of your app with configuration changes. There are pros and cons to each approach, so this is where the judgment comes in and why some people say programming is an art, since you constantly have to weigh different tradeoffs.</p>
<li><strong>Different People Find Different Things Easy</strong></li>
<p>The beauty of coding lies in its diversity. People from various backgrounds, professions, and cultures come together to contribute their unique perspectives and skills to the coding community. This diversity fosters creativity, innovation, and collaboration.</p>
<li><strong>Your Work Can Be Only 80% Complete</strong></li>
<p>One of the things about engineering is that building a commuter vehicle and a race car are two very different things, so you can get away with things in a commuter car that you wouldn’t put in a race car, and vice versa. It’s important to decide which edge cases you want to handle, but a lot of times it’s perfectly fine to just do 80% of the work, in which the other 20% is stuff people don’t really use so it’s not that important to get those things 100% right. You can track down the last 1% of bugs in your project, but you will spend a lot of time doing that.</p>
<li><strong>Learn How to Google</strong></li>
<p>A lot of beginners under-appreciate the degree which googling things is a part of a programmer’s job. Sometimes my job is more about knowing how to search for something than it is actually programming.</p>
<li><strong>Don’t Be Afraid to Ask for Help or to Help People Back</strong></li>
<p>Programming is actually a really social activity. I would not be as good of a programmer as I am now if I didn’t have their help—each of my friends are good at certain areas so whenever I have a problem, I know which friend to ask. I also help them out in return when they have a problem. This is really the only way to get things done.</p>
<li><strong>Technology Always Changes</strong></li>
<p>For individuals in the tech world, staying ahead of the curve means staying informed about the latest trends, updates, and innovations. It involves honing skills, exploring new technologies, and being open to lifelong learning and professional development. Embracing the concept of change in technology means understanding the importance of adaptation and continuous learning.</p>
<li><strong>It’s Okay Not to Contribute to Open Source</strong></li>
<p>But if you do want to contribute, the way I’ve found how to do so is work on something you’ve actually used. In order to motivate yourself, you need a stronger and more precise goal than a broad desire to contribute.</p>
<li><strong>Programmers Fail All the Time</strong></li>
<p>AND THAT'S HOW THEY LEARN. If all of our programs were feature complete and we didn’t have any bugs, programming wouldn’t even be a thing. Just the fact that we are programming means we either don’t have many features yet, or our software has problems. So, in some ways, you’re always failing as a programmer. This is a weird mindset to get into, but you just have to be okay with things not being perfect and not working; it’s literally our job.</p>
<li><strong>Don’t Give Up</strong></li>
<p>As beginners to programming, you often have no connection to what is difficult and what is easy, so you may ask me what I think of something while thinking the task to be very trivial, and I will tell you it is very difficult instead. In contrast, you may think something is very difficult and ask me what I think, and I will tell you that it’s really easy.</p>
</ol>
</section>
<hr>
<section id="coding-resources">
<h2>More Resources!</h2>
<ul>
<li><a href="https://leetcode.com/">Leetcode</a></li>
<li><a href="https://developer.mozilla.org/en-US/">MDN WebDocs</a></li>
<li><a href="https://www.codecademy.com/">Code Academy</a></li>
<li><a href="https://stackoverflow.com/">Stack Overflow</a></li>
</ul>
</section>
</div>
</body>
</html>