Code Monkey home page Code Monkey logo

js-beginners-1's People

Contributors

arky avatar autarc avatar balpha avatar escapedcat avatar fwg avatar jdennes avatar mrflix avatar p0wl avatar sjockers avatar theophani avatar timaschew avatar xmartin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

js-beginners-1's Issues

Remove "day 1" / "part 1" to make this stand on its own

Historically this has been part 1 of a two-day workshop with the second part being a slide show with DOM. The "second" part is quite outdated (e.g. JS animations) and this should just stand on it's own so some text needs to be changed.

Exercise to think about a data representation of a chess game confusing

In the data chapter it says: "Exercise: Figure out a JavaScript representation for a chess game board. There are multiple good solutions." This is confusing as it is a hard task, no correct solution, no feedback possible. I guess the idea is to inspire people to think of all the possibilities of data structures.

Should we remove it, move it to the end of the chapter or just rephrase to something like "optional brain exercise"?

Firefox Devtools Instructions

Would love to use this to introduce JavaScript programming. However the tutorial only mentions Chrome but not Firefox Devtools.

Thanks @xMartin for pointing me to this resource.

What are the parameters in the smiley squadron exercise for?

The task with the smileySquadron asks learners to use x and y as parameters. I think this is confusing, at least I don't get why. As I understand it the function will contain the loop and change internal variables only. Maybe it's about defining a starting point but that could be just left out for simplicity.

explain the drawing function

maybe we should insert an explanation of the drawing function somewhere on page 2
cause often people wondering why their code isn't doing anything, or they get errors because of the fact that they've deleted the drawing function from the sandbox

Better implementation of setInterval

The introduction to the function setInterval says: setInterval(func, n) is a way to run a function every n milliseconds yet during implementation n has to be computed like so:

// Draw twenty frames per second (20 * 50 = 1000 milliseconds)
setInterval(frame, 50);

This is confusing. For consistency we could have the function take in millisecond units or have an explanation for the conversion.

Use less programmer speak

This issue is especially evident on page 3. There shouldn't be sentences like "Evaluate myObject.name and myObject.score." โ€“ at least not without further explanation.

It's probably a good idea to have a look at @maxogden's jsforcats.com (see also issue #3).

Grid at the Sandbox

A grid to show the coordinates and visualize the distances between elements could be helpful, as people explore functions and create their own. It could be a simple background pattern displayed on the screen.

Give more background on the development environment

A question from the feedback form:

the functions we used to draw are built in ? Is there a built in library ? Do every javascript enviroinment offer the same set of basic functions ?

We should explain a little bit.

consider not introducing the for loop

https://github.com/OpenTechSchool/js-beginners-4h-workshop-1/blob/gh-pages/page3.html#L98-104

function rainbow(x, y) {
  var colors = ["red", "orange", "yellow", "green", "cyan", "purple", "white"];
  for (var count = 0; count < colors.length; count = count + 1) {
    color(colors[count]);
    circle(x, y, 150 - 5 * count);
  }
}

can be rewritten as

function rainbow(x, y) {
  var colors = ["red", "orange", "yellow", "green", "cyan", "purple",
  colors.forEach(function(color) {
    color(color)
    circle(x, y, 150 - 5 * colors.indexOf(color))
  })
}

since for loops are rather confusing for absolute beginners

Deleting/Merging old repos

Hey everyone,

so I thought after the last workshop in Berlin, we would remove those two repos: day1 and day2 (or mark them as outdated or something).

Can someone do that and maybe rename this repo to just js-beginners-workshop?

Best,
Finn

PS: Okay renaming would maybe be a bad idea, since it would break links to the materials for GitHub pages. I am also still not sure where all the materials are located. But you know what I mean...

include table of contents

Here is a list of the current blue headlines:

- Open the console
- Enter your first code
- Understand expressions
- Variables
- A web page
- Open the picture playground
- The loop
- Conditional execution
- Functions
- Free-form
- Collections
- Named properties
- We've got data
- Play a game!
- Extend it

Add link to Github repo

Having a link to the Github page would give people the chance to create issues and contribute. Could even use the badge.

Promote Exercises

The exercises should receive an image/link to the visual results - which will prevent confusion and helps to understand the challenges.

In addition - the description of the smileySquadron on Page 2 task could be simplified.

Add explanation for shortcuts

On the second day are some snippets which uses the short version i++ for incremental, as well as for ! for negotiation. As these are quite common - they should be added to the initial explanation on the first day.

Add symbols or signs below accompinying words

For example: on this page there is the word "Semikolon". To support the understanding of the word, for german-language-starter it would be helpful to add the simbol of a semicolon after the german word.

Maybe it is also helpful elsewhere.

use content from jsforcats.com

I wrote a very similar introduction to JS that has been very well received, it would be worth a read!

http://jsforcats.com

the outline is:

  • What is a programming language/JS?
  • Don't be a scaredy cat
  • Install chrome, open chrome console
  • Create a string
  • Variables
  • Using functions
  • How to learn more (MDN)
  • Using js you found elsewhere
  • Writing new functions
  • Loops
  • Arrays
  • Recommended reading

what I have yet to implement:

  • More looping examples
  • Objects and JSON
  • Grabbing stuff from other pages on the internet and displaying it
  • How to use Github to find and share code

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.