Lesson Weekend

Hi! Welcome to LearnHowToProgram.com. This site is a step-by-step guide to take you from zero experience to web programmer in a few short months. Learn How to Program contains both lessons and practice exercises. This content is the curriculum for Epicodus, a school for people who want to change careers into programming. You are also welcome to go through the site on your own.

Before we get started, I want to tell you about our general philosophy at Epicodus. Any experienced developer will tell you that the more you learn about programming, the more you realize just how little you know. Being a developer is not about learning a fixed set of skills that you can apply for the rest of your career. That understanding fundamentally shapes how we structure Epicodus. We believe that the languages, tools, and approaches you'll learn here are much less important than the general skills of solving problems. Successful programmers embrace the limitations of their knowledge and get good at figuring out what they don't know. They develop a mindset in which not knowing the answer isn't a source of anxiety, but rather an opportunity to learn and explore.

Now let's explore how this site works. Each course here lines up with the different courses Epicodus offers. Our "Intro To Programming" course is designed to take you from zero experience to being able to create the content of basic web pages, style those pages so that they look nice, and add basic interactivity. This course also covers how to use the common tools of the programming trade including the command line and source control.

Once you've completed the first section, you will be ready to dive into a programming language. Currently, we offer two tracks: C#/.NET and Ruby/Rails. Both of these tracks include an Intermediate JavaScript course and a course on React.

Regardless of whether you choose the C#/.NET track or the Ruby/Rails track, you will first take two classes on JavaScript, including Introduction to Programming. JavaScript is the only programming language web browsers understand (HTML and CSS are markup and styling languages, respectively, not programming languages), and with the importance of the web in modern application development, every programmer needs to know JavaScript. If you're more interested in front-end work, JavaScript will let you build out interactivity in your web pages, and if you're more interested in back-end work, JavaScript will let you wire up user interfaces to work with your backends and is even used to write backend code in some cases.

After JavaScript, Both C#/.NET and Ruby/Rails are good choices - you may want to do a little research on your own in order to make your final decision. Don't get too hung up on picking the "right" language and framework, though. Odds are, at your first job, you'll need to learn an entirely new set of skills and practices, and maybe even a new programming language. That's part of why we require all students to study at least two languages - with two under your belt, it's not too difficult to pick up a third.

No matter what languages and framework you learn, our best advice is not to think of Epicodus as a place to learn a specific language. Instead, think of Epicodus as a place to learn how to learn.

Okay, let's get going!