Subjects
PRICING
COURSES
SIGN IN
Start Free Trial
Ryan K.
Full Stack Web Developer
Tutor Satisfaction Guarantee
Web Development
TutorMe
Question:

How are modern websites built?

Ryan K.
Answer:

Modern websites are built through a variety of technologies interacting together to create a cohesive experience. Technologies and tasks are generally divided into two groups: Frontend and Backend. This is because websites use a software architectural model called Client-Server. Frontend technologies handle the presentation and client/consumer facing side of a website, like the one you are currently reading this one. :) Core frontend technologies are CSS, HTML, and Javascript. Of course, don't forget the web browser you are using to view this! These technologies run on the client side (your computer, tablet, or phone). Backend technologies run on the server and include your Web Server (like Apache or Nginx), the hosting environment (usually Linux or Windows), Databases (MySQL, PostgreSQL, MongoDB, Redis), and some type of execution environment for running code, like PHP, Python, Node.JS, or Ruby. These technologies combine to allow websites like this one to exist. If all of that sounds complicated, don't worry, it is! But you can easily get started without having to understand how all of it works.

Javascript Programming
TutorMe
Question:

What is hoisting?

Ryan K.
Answer:

Hoisting in Javascript is the process of taking declared variables and functions and raising those declarations to the top of the current scope. This means that a variable foo declared at the bottom of a scope is still accessible before it is declared in the code. However, the trick is that the variable is only declared, but not initialized, therefore it will be undefined until it is initialized at the point in the code where it is originally declared. Functions, on the other hand, will be declared and initialized at the top of the current scope, and are usable before they are declared in the code. See the following code example: // Value of a is undefined, but a is still accessible console.log(a); // Prints undefined var a = 10; // Value of a has now been initialized to 10 console.log(a); // Prints 10 // Functions are accessible and initialized before they are declared in the code printNumber(10); // Prints 10 function printNumber(number) { console.log(number); }

Computer Science (General)
TutorMe
Question:

Do I need to know math to program a computer?

Ryan K.
Answer:

Yes and no. I think of math as a toolbox. While many programs can be created using very little math, math is inherent in software development and programming. Many hard problems in software will be much easier to solve with math. An example of this is Google Search: The Page Rank algorithm relies heavily on linear algebra concepts to represent relationships between websites. Another note to consider is that traditional mathematical education teaches Algebra, Geometry, Trigonometry, and Calculus. While, these mathematics are used in various software applications, there are many other topics in mathematics applicable to software development (such as graph theory and set theory) that break away from this line of thought and may be more appealing.

Send a message explaining your
needs and Ryan will reply soon.
Contact Ryan
Ready now? Request a lesson.
Start Session
FAQs
What is a lesson?
A lesson is virtual lesson space on our platform where you and a tutor can communicate. You'll have the option to communicate using video/audio as well as text chat. You can also upload documents, edit papers in real time and use our cutting-edge virtual whiteboard.
How do I begin a lesson?
If the tutor is currently online, you can click the "Start Session" button above. If they are offline, you can always send them a message to schedule a lesson.
Who are TutorMe tutors?
Many of our tutors are current college students or recent graduates of top-tier universities like MIT, Harvard and USC. TutorMe has thousands of top-quality tutors available to work with you.