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.
- Running JavaScript 📺 watch
- Comment Your JavaScript Code 📺 watch💻 code
- Declare JavaScript Variables 📺 watch💻 code
- Storing Values with the Assignment Operator 📺 watch💻 code
- Initializing Variables with the Assignment Operator 📺 watch💻 code
- Understanding Uninitialized Variables 📺 watch💻 code
- Understanding Case Sensitivity in Variables 📺 watch💻 code
- Add Two Numbers with JavaScript 📺 watch💻 code
- Subtract One Number from Another with JavaScript 📺 watch💻 code
- Multiply Two Numbers with JavaScript 📺 watch💻 code
- Divide One Number by Another with JavaScript 📺 watch💻 code
- Increment a Number with JavaScript 📺 watch💻 code
- Decrement a Number with JavaScript 📺 watch💻 code
- Create Decimal Numbers with JavaScript 📺 watch💻 code
- Multiply Two Decimals with JavaScript 📺 watch💻 code
- Divide One Decimal by Another with JavaScript 📺 watch💻 code
- Finding a Remainder in JavaScript 📺 watch💻 code
- Compound Assignment With Augmented Addition 📺 watch💻 code
- Compound Assignment With Augmented Subtraction 📺 watch💻 code
- Compound Assignment With Augmented Multiplication 📺 watch💻 code
- Compound Assignment With Augmented Division 📺 watch💻 code
Extra Resources
- JavaScript: Novice to Ninja, 2nd Edition
- freecodecamp - youtube channel
- Fun Fun Function - youtube channel
- Dev Tips - youtube channel
- Mozilla's Javascript Basics
💬 04 Chat
Due: 03/18/19 9 AM
Instructions
The purpose of this chat is to continue developing your self-reflection skills.
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.
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
- Visit your freecodecamp settings by clicking your profile image in the upper right
- Click the "Show me my public portfolio" button at the top center of the page.
- Copy the URL of your profile.
- Paste the URL of your freecodecamp profile in a Slack
Direct Message
to Michael Greene (profmikegreene) - Aldo
Direct Message
(DM) Michael Greene (profmikegreene) with two lists.- One for the things you understand most confidently.
- 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
- Click
Channels
in the Slack sidebar to view all channels - Join the #sp19-04-project slack channel
- In that Slack channel, you will see a link that will take you to Github Classroom
- Click the
Accept this assignment
button and Github will create a version of the project for you. - 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.
- Create a new Glitch project using the
hello-webpage
option
Javascript
- Open the script.js file created in your Glitch project. It will contain some comments and a console.log statement
- At the end of the file, you'll write some new Javascript
- Create a new variable named
x
and set it equal to 4 - Create a new variable named
y
and set it equal to 6 - Create a new variable named
z
and use it to addx
andy
together - Create a new variable named
i
and use it to multiplyz
andx
together
Submission
Open the Glitch Tools menu in the bottom left, and select
Git, Import, and Export
Click
Export to Github
and type in your github username/sp19-04-usernameFor example, I would type
profmikegreene/sp19-04-profmikegreene
Click OK and your project should be exported to Github
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 |