ILE Assessment

I show my slideshow as well as explain how my ILE went HERE. We got to present in front of the administration staff. It went very well. They were eager to hear from us and gave us their opinion on the subject. Parking was not a new subject for them. They liked our ideas and are considering putting them into effect.

Coding Apps and Websites

Over the past two weeks, I have been researching apps and websites that are great for learning to code. I was interested in this because I am planning to major in computer science. I am currently taking two coding classes this year and another two next year. One of them happens to be an AP class. I have found some apps and websites that are for children and first time coders as well as intermediate to advanced coders. First I will cover the beginner websites/apps.

 

Beginner

Code Monkey

The first website I found was Code Monkey. It is a free to use website that encompasses the basics of coding. It made coding into a game. It has preset functions which it can do. These can either be typed out or clicked on to get them into the source code. The objective is to collect all of the bananas in a level while staying efficient in writing code. I went far enough to see that they teach loops to develop efficiency. After each level, they give encouraging messages and rank the efficiency of the code between 1 and 3 using stars.

Codecombat

Another website I found was Codecombat. They take coding and turn it into a combat, puzzle and adventure game. It teaches the basics of python, javascript, coffeescript and lua. From what I played, it is early basics, however it is taught in a way appealing to children. You collect gems from playing levels which you use to buy gear. They can be armor, shields and weapons. To pass levels, you must fight ogres. For other levels, you have to avoid spikes and collect gems. This is similar to Code Monkey, but they added more obstacles. Another similarity between these games is that it will only let you move up, down, left and right. They do not allow you to move diagonally. You are allowed to change your angle, but you can only do that between movements. The game gives armor so if you mess up, you will not have to restart.

Scratch

The third website I found was Scratch. It is a website, a downloadable program, and an app. However, I could only find ScratchJr and Scratch Maze on the app store. Scratch is a sprite based program in which pre-programmed blocks are used to move the sprites around. There are interactable blocks that let you change values within them and combine others. On the website, there are many games and creations made by students. This program is more for learning the logic behind coding rather than any language by itself. It is a good starting point for younger children.

 

Intermediate to Advanced

The next few websites and apps are based on building knowledge on coding languages. They give a wider range of languages to choose from as well as go more in depth in each language.

Lrn

First up is the app Lrn. It teaches HTML, CSS, Javascript, Python and Ruby. It is free to download and easy to use. It splits each language into different units. These differ across the languages. For example, the HTML course has 6 units. They are HTML Intro, Lists, Tables, Media, Forms, and Layout. Each unit has around 15 mini tutorials within it. However, some have up to 20. It teaches basics such as loops, arrays, classes, functions and variables.

Pythoni

Another app, Pythoni is a coding app based around Python. It has a place within the app where you can type up and run codes. It also has tutorials. However, these are non interactable and are pages upon pages of reading. There are 5 different screens within the app. They are Learn, Python, Console, NetWork and Setting. Learn is where the written tutorials are. Python is where you type up your own code. Console is where the code is run. Network gives you the ability to go online. It looks and acts similar to safari. When you open a new tab, it give you the option to download any of his 34 other apps. Many include coding languages, but not all of them. It is a great app for people who already understand the basics of python and want to become more advanced.

Codecademy

Next is a website called Codecademy. It supports entry level and beyond. However it does move much faster than the beginner websites I talked about earlier. It teaches HTML, CSS, Javascript, Ruby and Python. It goes through introducing everything step by step. It is great for people who want to accelerate their learning of certain languages.

Coursera

An alternative is Coursera. It is both an app and a website. It has many tutorials on computer science in general, but also has more specific tutorials. It is lecture based and also has student notes to look over after listening to the lectures. It has many chapters on Python, Java and Ruby. This website teaches web development and iOS app development. On top of all this, it teaches game design which is a growing major.

 

For those who are interested in coding, I would highly recommend looking through some of these apps and websites. Below is a simple code I made earlier in the year with the basics of the coding language C++. 

#include <iostream>
#include <cstdlib>
#include <time.h>

using namespace std;

char Instructions(char p1)
{
	cout << "\n\n\tWelcome to Rock, Paper, Scissors";
	cout << "\nTo play, type R, P, or S" << endl;
	cin >> p1;
	p1=toupper(p1);
	return (p1);
}

char CPUchoice(char CPU, char rock, char paper, char scissors)
{
	srand(time(0)); 
	CPU=rand()%3;
	
	if (CPU==0)
	CPU=rock;
	
	else if (CPU==1)
	CPU=paper;
	
	else 
	CPU=scissors;
	
	return (CPU);
}
int main()
{
	char p1=' ', CPU=' ', R='R', P='P', S='S';
	int p1wins=0, p1losses=0, CPUwins=0, CPUlosses=0, ties=0, x=0;
	
	do
	{
	
	p1=Instructions(p1);
	
	CPU=CPUchoice(CPU, R, P, S);
	
	if (p1==R && CPU==R)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nTie" << endl;
		ties++;
		x++;
	}
	
	else if (p1==P && CPU==P)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nTie" << endl;
		ties++;
		x++;
	}
	
	else if (p1==S && CPU==S)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nTie" << endl;
		ties++;
		x++;
	}
	
	else if (p1==R && CPU==P)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nCPU wins" << endl;
		CPUwins++;
		p1losses++;
		x++;
	}
	
	else if (p1==R && CPU==S)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nP1 wins" << endl;
		CPUlosses++;
		p1wins++;
		x++;
	}
	
	else if (p1==P && CPU==R)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nP1 wins" << endl;
		CPUlosses++;
		p1wins++;
		x++;
	}
	
	else if (p1==P && CPU==S)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nCPU wins" << endl;
		CPUwins++;
		p1losses++;
		x++;
	}
	
	else if (p1==S && CPU==R)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nCPU wins" << endl;
		CPUwins++;
		p1losses++;
		x++;
	}
	
	else if (p1==S && CPU==P)
	{
		cout << "\nCPU played " << CPU;
		cout << "\nP1 wins" << endl;
		CPUlosses++;
		p1wins++;
		x++;
	}
	

}
while (x<=4);

cout << "\nPlayer 1 has " << p1wins << " wins and " << p1losses << " losses";
cout << "\nCPU has " << CPUwins << " wins and " << CPUlosses << " losses";
cout << "\nThere were " << ties << " ties";



}