Lesson 2

Algorithms & Intro to JavaScript

Warm up activity (30 minutes)

A picture tells a story: Let's start our introductions with an image

  1. Find an image online of an object that represents you or why are are on the course.

  2. Add the image to our Slack thread and an explanation of why you chose that particular object.

  3. Once you have completed your post, look at what other people have posted.

  4. When you find any interesting images and ask that person a follow up question about it.

  5. If someone asks a question about your picture. Make sure you reply to their question with an answer

What's your name?

Let's make sure we know each other! Make sure your name is visible on Zoom. You can change your name by clicking the three dots on the right hand corner and clicking 'rename' .

If you are a CYF volunteer please add 'Vol or Volunteer' after your name.

Shout out your questions (10 minutes)

Instructors see here for instructions

Let's make a list of all of the programming questions we'd like to get answered today, and put them on our virtual whiteboard.

We like to use Miro.

  1. Log into Miro (your instructor will give you the link for your Miro Board)

  2. Find the sticky notes on the board.

  3. Find the note you wrote your name on for your coursework assignment.

  4. Write your question on your note (you must ask a question)

  5. If you have more than 1 question, write each on a separate stiky note. To add a new note, use the toolbar on the left hand side to select a new note.

Solving problems (90 minutes)

Problem solving is a critical skill for programmers, including for experts. Often programmers spend most of their day solving problems in their code. Learning how to solve problems efficiently is an extremely useful skill.

To help develop your problem solving skills, we'll play a fun game in small groups.

Then later on we, will practice working as a group to help each other solve problems using Miro, Slack and Google Meet.

"Algorithm Recipe" Review (30 Minutes)

Last week you should have written a "algorithm recipe". The instructor will pick out a few of the best to read with the rest of the class. We'll see if there are any missing steps!

Effective Communication (1 Hour)

Working remotely (online) is different from working together face to face. We will look at how communication works online and get some tips on how to be more effective on this course.

Presentations (30 minutes)

For last week's coursework, you will have made a presentation about something you learned in the last week. Now is your chance to present it! We'll break into groups of 3 - 4 and take turns to present to the rest of your group for 5 minutes.

Remember that communicating information to others is a really important skill for programmers. Here are some tips for your presentation:

  • Look at your camera. Not the squares of faces on your screen. It will look like you are talking directly to your audience

  • Make sure you are not on mute

  • Speak clearly - check if everyone can hear you

  • Try to make it fun!

  • Stick to the time. The volunteer will cut you off at 5 minutes!

Coursework In Perspective (20 minutes)

Instructors see here for instructions

Although the block-based coding you practised at home solved only simple problems with a simple language, we'll look briefly at four concepts you used which are also at the heart of professional coding.

Coursework Time (120 minutes)

Help with Coursework Exercises

This is your opportunity to ask questions about last week's assignments. If you would like some assistance on any of the exercises, the teaching assistants will be available to help.

1-to-1 programming problem with an instructor

Whilst you are getting help with your Coursework exercises, each student will have a work with one of the instructors to solve a programming problem using the Code.org block-programming environment.

Feedback

To make our course better we love to hear your feedback. Please spend two minutes completing this form.

Class Feedback Form

Coursework Assignments

1. Khan Academy: Intro to JS

We will be studying the Khan Academy Intro to JS course. This will give you an introduction to the JavaScript programming language which we will be using for the rest of the syllabus. To get set up follow these instructions:

  1. Follow the instructions for registering a Khan Academy account provided by the instructors

  2. Click on Courses under My Stuff

  3. Choose Adult learner and go to the next step

  4. Choose Computer Programming and continue

  5. To the right of Intro to JS: Drawing and Animation, press Start

  6. Click the "Start" button for the "What is Programming?" lesson

  7. Read the instructions carefully and try to complete the exercises

  8. Complete as many lessons as you can AT LEAST UP TO the "Text and Strings" section. You can SKIP the "Becoming a community coder" section.

  9. As soon as you complete any "project", make sure you submit it for evaluation immediately, to get feedback.

There will be some time in class to start the first exercises. Let the instructors know if you get stuck.

No headphones? Read the subtitles or video transcript

If you do not have headphones to watch the videos you can click on "CC" (subtitles/closed captions) in the video window, or underneath the video on "Transcript".

2. Learning How to Learn course

Continue to Week 2 of the Learning How to Learn course. It should take around 3 hours to complete.

What kind of communicator are you?

2a. Learning Online: Communicating and Collaborating (do this if you have already completed the Learning How to Learn course)

Learning Online: Communicating and Collaborating is an online course on Future Learn site that teaches you how to become an effective online learner and develop your online communication skills when working with others.

  1. Click the "Join course for Free" button and sign up for an account.

  2. You can do this with your Google account if you want

  3. Work through Week 1 of the course. It should take around 2 hours to complete.

  4. You need to submit your comments in threads on Slack not in the comments section on Future Learn.

3. How to improve your workplace communication

As we work together online it can be even more tricky to communicate effectively. Learn three ways you can improve how you send and receive messages here at CodeYourFuture and in your other workplaces.

  1. Watch the embedded video Karina's Communication and Work Style

  2. After reading and watching the video, go back to Step two: Determine how you communicate.

  3. Think about the scenarios they present in this section

  4. Write down how you would approach each scenario

  5. Think about your preferred ways of communicating, the communication tools you rely on, and the things that annoy you about other's communication.

  6. Using your answers for the above, try to write your own guide to your Communication style ( just this section, not your whole user manual! ). You can also have a go at recording a Loom video if you choose.

4. Organise a study session

Working together is the best way for you to learn. Teaching someone else helps to strengthen your knowledge. And getting help from your fellow students saves you time and keeps you from becoming a passive learner.

Organise a study session to work on one piece of coursework.

Make an announcement in Slack with:

  1. The topic of the call

  2. The time of call (give people a few hours to get ready. Remember Slack is asynchronous communication!)

  3. The link to Google Meet where you will have the call.

  4. Ask people to react if they want to attend.

  5. Open the call in Google Meet.

  6. Keep to just one topic in the call. Max 5 -6 people in a call.

If there are too many people - what should you do?