-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
318 additions
and
259 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
--- | ||
title: 'What The Course Is About' | ||
slug: 'what-the-course-is-about' | ||
contentType: 'TextContent' | ||
--- | ||
|
||
# What The Course Is About | ||
|
||
 | ||
|
||
This course will cover the basics of HTML, CSS, and JavaScript. You'll learn some of the rules the | ||
browser follows, and you'll practice using what you learn to make websites. | ||
|
||
**HTML** is the syntax for the structure and content of web pages. It's what a page is made of. | ||
|
||
**CSS** styles the page. Using CSS, you can customize everything about how the content is displayed, | ||
from color and font to animations and hover effects. | ||
|
||
**JavaScript** lets you write instructions for the browser to follow. We're going to focus on using | ||
JavaScript to make pages interactive. We'll write the steps that the browser should follow when the | ||
user clicks a button or fills out a form. | ||
|
||
HTML, CSS, and JavaScript are big and complicated. There's more than 100 HTML tags to learn, with | ||
hundreds more attributes. There's a few hundred CSS properties and their possible values. JavaScript | ||
is relatively smaller, keyword-wise - there's only 64 reserved words. But, as you'll find when we | ||
start the JavaScript section, the language takes a lot more practice to learn to use well. | ||
|
||
In this course, we won't cover everything about these languages. We're going to focus on what you | ||
need to know to start building creative projects. We'll also focus on concepts that give you | ||
_leverage_ - the skills and ideas that show up time and time again, and which make learning other | ||
ideas easier. | ||
|
||
## Which concepts will we focus on? | ||
|
||
- HTML and CSS Syntax | ||
- CSS Selectors | ||
- JavaScript fundamentals | ||
- Developer tools, skills, habits, and mindset | ||
|
||
Why these? | ||
|
||
**Syntax** means the rules of a language. In programming, those rules determine what code is valid. | ||
Learning the syntax for HTML and CSS is the key for building websites, both in this course and in | ||
the future. It will let you read code to understand how it works, write code of your own, and | ||
recognize and fix errors. Many beginner errors are syntax errors. The syntax also gives you a | ||
framework for learning and understanding more. Once you've learned how HTML tags work in general, | ||
learning any individual tag will be easier. | ||
|
||
This will also help with 'learning a syntax' in general. As you grow as a developer, you'll end up | ||
learning lots of different syntaxes. | ||
|
||
**CSS Selectors**, while somewhat arcane, give you a ton of power. They help you think about the | ||
structure of your HTML. They let you target specific sets of elements with particular styles. | ||
JavaScript also lets programmers use CSS selectors to find elements on the page for manipulation. | ||
|
||
**JavaScript fundamentals** includes core programming concepts like variables, data types, | ||
conditional statements, loops, and functions, as well as topics that are particular to web | ||
development: selecting & modifying elements, responding to events, and sending requests to the | ||
server. We're leaving a lot out - there's a lot more JavaScript to learn once you are comfortable | ||
with these concepts. We're focused on these because they're common programming patterns that set you | ||
up to learn other programming languages, and because with these skills in hand, you can build any | ||
website (that doesn't do server stuff). | ||
|
||
**Developer tools** power up your learning process, and they speed up your development workflow. | ||
Professional developers use tools to understand, debug, and improve websites - or to see how another | ||
developer built something. | ||
|
||
## What this course doesn't cover | ||
|
||
- Backend programming | ||
- JavaScript frameworks | ||
- Design | ||
|
||
This course about the client side of how the web works, not the server side. | ||
|
||
 | ||
|
||
We're not going to talk (much) about what happens on the server or in the network. We'll make sure | ||
to cover enough so that you can publish your sites so other people can see. However, there's some | ||
features that you won't be able to build until you've learned more about backend programming - | ||
programming for the server. | ||
|
||
In this course, we're also not going to cover everything about JavaScript - not even all of the core | ||
language! JavaScript more than a language - it's also a huge ecosystem of libraries, tools, and | ||
other people's code. We're not going to learn React, Vue, JQuery, or Angular, or any of the hundreds | ||
of other JavaScript tools you might or might not have heard of. As a frontend developer, you may end | ||
up learning these tools down the road. Using any of them effectively requires a foundation of the | ||
basics, which is what we're practicing here. | ||
|
||
Making great websites takes knowledge, skill, and practice. It also takes _taste_. What color to | ||
use? How big should the button be? What should the title say? Where should the link go? These are | ||
hard questions, and we're not going to focus on them in this course. We want you to explore your | ||
creativity and build sites that are beautiful, funny, effective, fun, important, and useful - and | ||
that lots of people use! But, we won't cover design in this course. We'll learn enough of the tools | ||
underneath that you should be able to build what you (or someone else) can think of and draw out. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
title: 'Who Is This Course For' | ||
slug: 'who-is-it-for' | ||
contentType: 'TextContent' | ||
--- | ||
|
||
# Who Is This Course For | ||
|
||
This course is for the full picture: | ||
|
||
- theoretical underpinning: what's happening under the hood | ||
- practical application: exercises, hands-on projects | ||
- problem solving: debugging, recognizing and solving errors | ||
- creative projects: building projects of your own design (while having guidelines and guardrails to | ||
keep you on track) | ||
|
||
- context: where does this knowledge fit into the bigger picture of CS, and your journey? | ||
- community: sharing journey with others, making friends, having mentors | ||
- credit and recognition: college credit, social and professional recognition of your skill | ||
|
||
## Background Knowledge | ||
|
||
This course doesn't have any formal prerequisites, so you don't need any other courses before you | ||
start this one. | ||
|
||
- **Reading English** The course materials are in English. To complete the course, you'll need to be | ||
able to read English. | ||
- **Internet Access** You don't need to have a super fast internet connection to complete the | ||
course, but the materials and assignments are online, so the course will depend internet | ||
connection. | ||
- **Typing** You don't need to be a super-fast typer, but you should be able to touch-type, so that | ||
typing doesn't slow you down when you're working on the assignments. | ||
|
||
The course also assumes a familiarity with computers and the Internet. You don't need to know how | ||
computers or the web works in detail, but when you build websites for the course projects, the | ||
course assumes you've spent some time browsing the web and using computers. | ||
|
||
## Who this course isn't for | ||
|
||
You might not need this course if... | ||
|
||
- You only want to know _about_ HTML, CSS, and JS, but you don't want to know how to use them to | ||
build websites | ||
- You want to build a specific website right now. (Instead, use a site builder like Squarespace, | ||
Wix, or Webflow.) | ||
- You want to build a blog, or write content online. (Use a tool like Wordpress, Ghost, or Medium | ||
instead.) | ||
- You already know HTML, JavaScript, and CSS. If you've already built projects like the ones in this | ||
course, you might want a more advanced course. (Though, feel free to use this material as a | ||
reference or a refresher). | ||
|
||
## How long will the course take? |
Oops, something went wrong.