Programming Concepts

📚 Watch and Read

In this module, we'll introduce the some fundamental concepts found in most modern languages including JavaScript which we'll be spending our time in for the rest of the course. Read each of the links below. They contain many links to other pages which you aren't required to read, but are welcome to if the topic peaks your interest.

Computing Timeline useful for seeing the waves of programming languages and how they evolved from one another.

Programming background covers the purpose of programming, programming languages, and some differences between programming languages.

Organizing programs in a logical way helps both the computer and the programmers understand how the program works.

Algorithms are the way you solve a problem in a program.

Pseudocode is a way to plan your program using semi-natural language. It isn't a programming language, but a way for you to express what you want your code to do before you start writing it.

Commenting code allows you to tell other programmers (or remind yourself) what a particular section of code does. Each language has its own syntax for comments and different projects will often declare standards for how to comment their code. Here's an example from the popular blogging platform Wordpress.

Complete the first 21 lessons freeCodeCamp JavaScript course. The first 21 minutes of the youtube video walk you through the lessons. You can access each lesson individually below using the Watch or Code links.

  1. Running JavaScript 📺 watch
  2. Comment Your JavaScript Code 📺 watch💻 code
  3. Declare JavaScript Variables 📺 watch💻 code
  4. Storing Values with the Assignment Operator 📺 watch💻 code
  5. Initializing Variables with the Assignment Operator 📺 watch💻 code
  6. Understanding Uninitialized Variables 📺 watch💻 code
  7. Understanding Case Sensitivity in Variables 📺 watch💻 code
  8. Add Two Numbers with JavaScript 📺 watch💻 code
  9. Subtract One Number from Another with JavaScript 📺 watch💻 code
  10. Multiply Two Numbers with JavaScript 📺 watch💻 code
  11. Divide One Number by Another with JavaScript 📺 watch💻 code
  12. Increment a Number with JavaScript 📺 watch💻 code
  13. Decrement a Number with JavaScript 📺 watch💻 code
  14. Create Decimal Numbers with JavaScript 📺 watch💻 code
  15. Multiply Two Decimals with JavaScript 📺 watch💻 code
  16. Divide One Decimal by Another with JavaScript 📺 watch💻 code
  17. Finding a Remainder in JavaScript 📺 watch💻 code
  18. Compound Assignment With Augmented Addition 📺 watch💻 code
  19. Compound Assignment With Augmented Subtraction 📺 watch💻 code
  20. Compound Assignment With Augmented Multiplication 📺 watch💻 code
  21. Compound Assignment With Augmented Division 📺 watch💻 code

Extra Resources

💬 04 Chat

Due: 03/18/19 9 AM

Instructions

The purpose of this chat is to continue developing your self-reflection skills.

  1. After going through the content above, write out at least two questions you have related to any of the concepts presented.

    Use this opportunity to ask questions about concepts you don't fully understand. If you are confident in your understand of all the concepts, develop questions around how a concept might be applied or why it might be useful to you in your career.

  2. Join the the #sp19-04-chat Slack channel and ask your questions.

Grading Rubric

% Explanation
100% Two questions asked in #sp19-04-chat related to this module's content.
+10% Bonus points for asking more than 2 questions.
+10% Bonus points for helping other students find answers to their questions.

📝 04 Journal

Due: 03/18/19 9 AM

Instructions

  1. Visit your freecodecamp settings by clicking your profile image in the upper right
  2. Click the "Show me my public portfolio" button at the top center of the page.
  3. Copy the URL of your profile.
  4. Paste the URL of your freecodecamp profile in a Slack Direct Message to Michael Greene (profmikegreene)
  5. Aldo Direct Message (DM) Michael Greene (profmikegreene) with two lists.
    1. One for the things you understand most confidently.
    2. One for the things you are struggling with.

The items in these lists can be vocabulary, assignment tasks, concepts, whatever sticks out in your mind. Try to find at least two items per list and feel free to make them as long as you like.

Grading Rubric

% Explanation
40% Having the first 21 Javascript lessons complete in your freecodecamp profile
30% Direct message to profmikegreene containing a list of things you are confident you understand
30% Direct message to profmikegreene containing a list of things you are struggling with

⚛️ 04 Project

Due: 03/18/19 9 AM

The purpose of this project is to prove your understanding of the concepts in this lesson.

Instructions

Setup

  1. Click Channels in the Slack sidebar to view all channels
  2. Join the #sp19-04-project slack channel
  3. In that Slack channel, you will see a link that will take you to Github Classroom
  4. Click the Accept this assignment button and Github will create a version of the project for you.
  5. Once this step is complete, the page should say "Your assignment has been created here: https://github.com/RCC-ITP-175/sp19-04-". Click this link and visit your repository.
  6. Create a new Glitch project using the hello-webpage option

Javascript

  1. Open the script.js file created in your Glitch project. It will contain some comments and a console.log statement
  2. At the end of the file, you'll write some new Javascript
  3. Create a new variable named x and set it equal to 4
  4. Create a new variable named y and set it equal to 6
  5. Create a new variable named z and use it to add x and y together
  6. Create a new variable named i and use it to multiply z and x together

Submission

  1. Open the Glitch Tools menu in the bottom left, and select Git, Import, and Export

  2. Click Export to Github and type in your github username/sp19-04-username

    For example, I would type profmikegreene/sp19-04-profmikegreene

  3. Click OK and your project should be exported to Github

  4. Visit your repo on github.com and click the branches dropdown and you should see a Glitch branch containing your code

All done!

Grading Rubric

pts Explanation
10 Create a github repo for this project
10 script.js contains x
10 script.js contains y
10 script.js contains z
10 script.js contains i
Last Updated: 4/7/2019, 4:25:22 PM