First Steps to Web Development

Ruby, MySQL, HTML, CSS and Ruby On Rails. From computer programming basics to your first Dynamic Web Application!
4.7 (12 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,238 students enrolled
$50
Take This Course
  • Lectures 66
  • Contents Video: 13.5 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 10/2014 English

Course Description

This course is about computer programming. The target audience includes people who know how to use computers, they are advanced users, but they want to go one step forward and learn how computer programs are being designed and developed. Pupils, teenagers, students, professionals of various disciplines, adults, elderly people. People who might want to start a career in computer programming.

The course is composed of a series of video lectures. About 14 hours of video casts. The course will take about 70 hours to complete, but this heavily depends on the personal pace of each student.

The course is divided mainly in the following sections:

1) Some theory behind programming.

2) Programming using Ruby.

3) MySQL - Relational database management systems

4) Web Development with HTML & CSS

5) Dynamic Web Applications with Ruby on Rails

Everybody should take this course. Understanding what computer programming is and having some experience with that will train and mature the brain. Will give people knowledge to understand that these machines, called computers, are not something that belongs to another strange difficult-to-understand world. People will understand that computers work with statements that they ask them to execute, with logic and blind obedience. Computers are powerful machines, but it is the people that instruct them what to do. In this course, students will start giving orders to computers and computers will be at students' service. After the course, students will decide to further enhance their computer programming knowledge with more advanced courses, and later on, even further pursue a career in software engineering.

What are the requirements?

  • If you have a Windows computer, you will need to install Oracle Virtual Box, but this is also covered in the lectures.
  • You will need to download and import the Oracle Virtual Box appliance that has been designed for this course. This is also covered in the lectures.

What am I going to get from this course?

  • You will be able to work with Linux and Mac OS operating systems
  • You will be able to develop programs using Ruby programming language
  • You will be able to design a database using MySQL
  • You will be able develop a Web application using Ruby on Rails

What is the target audience?

  • This course is for advanced computer users. Assumes that you have good command using your computer. Assumes also that you do not have any computer programming experience in the past.
  • This course is not for people that they only know how to use the mouse
  • This course is not for people that they are advanced computer programmers

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction and Setup of Development Environment
04:44

This is a presentation about the curriculum of this Course. After watching it, you will understand what are the areas that we will cover together.

10:12

This is a presentation that will give you the theory necessary to start programming. You will understand what a computer program is. The Random Access Memory. The static and the dynamic languages.

What is a Computer Program? - Comprehension Quiz
20 questions
09:04

This lecture will teach the most popular numbering systems. The decimal, hexadecimal, the binary and the octal numbering system. It will show you how you can count using any of these numbering systems and what is the numbering system that computers are using.

Numbering Systems - Comprehension Quiz
16 questions
12:38

This lecture will help you set up your development environment. This is going to be the operations system (Linux) and the Integrated Development Environment (IDE) that you will be using to execute the hands-on exercises.

Note. In order to setup your development environment you will need to have two files:

1) the Oracle Virtual Box Manager. See the external resource download link.

2) the Oracle Virtual Box Appliance that I have prepared for you and that you will have to import. See the external resource download link.

Important Note: When you start the "Introduction to Programming" virtual machine, you will be asked to log in as user "panayotis". The password is "panos".

Extra Important Helpful Notes

Some extra notes when importing the OVA (the Oracle Virtual Box Appliance file) file:

1. The course requires you to download an OVA file. This is, again, the link to the file:

https://s3.amazonaws.com/tech-career-booster-courses/01-full-stack-web-developer/IntroToProgramming32.ova

Note that the the file that you will download needs to have EXACTLY this number of bytes:

3,044,794,880 bytes

If it does not have this number of bytes, then the file is not downloaded correctly and you have to redownload.

2. The import of the OVA to the Oracle Virtual Box Manager might require you to reset some of the appliance settings. This is done on the Appliance Settings dialog when importing the appliance (see screenshot attached to resources of this lecture)

You may want to remove the "USB Controller", reset Network Adapter to one that matches your adapters and Check to Reinitialize the MAC address of all network cards.

10:12

During this lecture, which is the first part of two, you will learn basic Linux commands and browsing around the file system. You will see how friendly Linux OS system is and with the correct set of commands you can do many things. This is part 1 of 2 parts lecture.

Important Note: When you start the "Introduction to Programming" virtual machine, you will be asked to log in as user "panayotis". The password is "panos".

Get familiar with Linux - Basic Commands on Terminal - Comprehension Quiz
14 questions
10:48

This is the 2nd part of the 2 parts lecture that familiarizes you with Linux and Debian operating system.

Important Note: When you start the "Introduction to Programming" virtual machine, you will be asked to log in as user "panayotis". The password is "panos".

Get familiar with Linux - Advanced Commands and GUI - Comprehension Quiz
9 questions
Section 2: Programming with Ruby
04:33

During this lecture you will create and run your first Ruby program. It will be a program that prints the phrase "Hello World!"

Important Note: When you start the "Introduction to Programming" virtual machine, you will be asked to log in as user "panayotis". The password is "panos".

Hello World Program - Comprehension Quiz
5 questions
14:19

During this lecture you will learn about the tool which is called Interactive Ruby Console (irb). You will also learn about variables, assignment operator and the basic mathematics operators.

Ruby - Get Started - Comprehension Quiz
18 questions
08:49

During this lecture, you are going to learn about

  • Assignment operator and how it can be combined with mathematics operator
  • Integers and decimals
  • Constants. We are going to have a first encounter about them
Assignment Operators, Integers, Decimal and Constants - Comprehension Quiz
17 questions
13:19

During this lecture you are going to learn about text processing and in particular about strings, which is a variable type that allows you to store text in RAM.

Text and Strings - Comprehension Quiz
22 questions
07:13

During this lecture you are going to learn how you can get input from the user of the computer and send output to the monitor, to the display.

Getting Input and Sending Output - Comprehension Quiz
5 questions
13:18

During this lecture you are going to learn about Boolean Logic

  • TRUE and FALSE Boolean values
  • Boolean operators AND, OR, XOR, NOT
Boolean Logic And Boolean Operators - Comprehension Quiz
25 questions
10:01

During this lecture you are going to learn about Comparison or Logical operators and Boolean logic. Also, you will start learning how to control the flow of your program. (This is Part 1 of 2 parts lecture)

Conditional and Logical Operators and Control Program Flow - Comprehension Quiz
18 questions
13:30

During this lecture you are going to learn about Comparison or Logical operators and Boolean logic. Also, you will start learning how to control the flow of your program. (This is Part 2 of 2 parts lecture)

More Exercises on Control Program Flow - Comprehension Quiz
10 questions
19:19

During this lecture you are going to learn about Ruby constructs that can help you do things repeatedly. Loops, with while, for, each and other statements.

Loops and Repetitions - Comprehension Quiz
17 questions
10:01

During this lecture you are going to learn about Arrays. Arrays are long series of data, usually, but not necessarily, of the same type, e.g. integers, that can be referenced as a whole using one name. This is Part 1 of 2 parts lecture.

Arrays - Comprehension Quiz
10 questions
10:36

During this lecture you are going to learn about Arrays. Arrays are long series of data, usually, but not necessarily, of the same type, e.g. integers, that can be referenced as a whole using one name. This is Part 2 of 2 parts lecture.

More Exercises and Advanced Statements on Arrays - Comprehension Quiz
7 questions
16:34

During this lecture you are going to learn about Hashes. Hashes are collections of data that are indexed using a key. So, they are, basically, collections of key value pairs.

Hashes - Comprehension Quiz
4 questions
10:12

During this lecture, you are going to learn about Symbols. Symbols are alternatives to strings and they are much more efficient. You will also elaborate more on Hashes. This is part 1 from a 2 parts lecture.

Symbols - Comprehension Quiz
7 questions
11:12

During this lecture, you are going to learn about Symbols. Symbols are alternatives to strings and they are much more efficient. You will also elaborate more on Hashes. This is part 1 from a 2 parts lecture.

Advanced Techniques with Symbols and Hashes - Comprehension Quiz
7 questions
16:37

During this lecture, you will start learning about functions. In particular, function definition, function arguments and optional arguments.

Function Definitions and Arguments - Comprehension Quiz
12 questions
12:12

During this lecture, you are going to learn about the return value of a function. You will also get acquainted with the recursive functions.

Function Return Value and Recursive Functions - Comprehension Questions
8 questions
10:12

During this lecture, you will start Object-Oriented programming. You will learn about Classes & Objects. What is a Class? What is an Object? You will learn about the constructors, the getters, setters and the attr_accessor helper. This is part 1 of a 2 parts lecture.

Introduction to Object Oriented Programming - Comprehension Quiz
6 questions
12:20

During this lecture, you will start Object-Oriented programming. You will learn about Classes & Objects. What is a Class? What is an Object? You will learn about the constructors, the getters, setters and the attr_accessor helper. This is part 2 of a 2 parts lecture.

Classes & Objects and Advanced OO Programming - Comprehension Quiz
8 questions
15:11

During this lecture, you continue to learn new things about Classes & Objects. You are going to work on a more complex example. You will also learn about Inheritance. This is part 1 of 2 parts lecture.

Classes, Objects and Inheritance - Comprehension Quiz
3 questions
19:35

During this lecture, you continue to learn new things about Classes & Objects. You are going to work on a more complex example. You will also learn about Inheritance. This is part 2 of 2 parts lecture.

OO Programming Exercises - Comprehension Quiz
4 questions
15:12

During this lecture, you will continue to work exercises that have to do with Classes & Objects. This is part 1 of 2 parts lecture.

Hands-on Experience on OO - Comprehension Quiz
1 question
13:41

During this lecture, you will continue to work exercises that have to do with Classes & Objects. This is part 2 of 2 parts lecture.

More Exercises on OO Programming - Comprehension Quiz
1 question
10:21

During this lecture, you continue to further learn object oriented programming. You are going to learn about the method visibility. Public, protected and private methods.

Method Visibility - Comprehension Quiz
9 questions
Section 3: Relational Database Management Systems - MySQL
12:18

This is a presentation about Relational Database Management Systems. It will work as an introduction to help you start doing MySQL programming.

Introduction to RDBMSes - Comprehension Quiz
19 questions
06:41

During this lecture, you will learn to start and stop MySQL server. Check whether the server is running or not. And you will start using the "mysql" client to connect to MySQL server.

Manage MySQL Server - Comprehension Quiz
6 questions
15:11

During this lecture you will start implementing the database for a primitive customer relationship management system. You will create the database, and the customers table. You will start learning the commands 'insert', 'update', 'delete' and 'select'. This is part 1 of a 2 parts lecture.

Create Database and Tables - Comprehension Quiz
7 questions
13:49

During this lecture you will start implementing the database for a primitive customer relationship management system. You will create the database, and the customers table. You will start learning the commands 'insert', 'update', 'delete' and 'select'. This is part 2 of a 2 parts lecture.

SQL - Insert, Update, Delete, Select - Comprehension Quiz
11 questions
17:45

During this lecture, you start doing more complicated things with MySQL.

  • You will learn how to add an identity column
  • You will add an index in order to be able to search quickly
  • You will learn how to drop index
  • You will add a unique index to search quickly and be able to have unique customers based on their identity
Identity Columns and Indexes - Comprehension Quiz
7 questions
13:46

During this lecture, you will continue the design and implementation of the database of the customer relationship management system. You will create the table products. You will also learn new things like counting records, sorting records and limiting the number of rows returned in a result set.

Counting and Sorting Records, Limiting Results - Quiz
7 questions
18:12

During this lecture, you will continue with the design and implementation of the database of the customer relationship management system. You will create a table to hold the orders and another one to hold their order items. You will also learn about foreign key constraints. This is part 1 of 2 parts lecture.

Create orders and order items - Comprehension Quiz
13 questions
14:53

During this lecture, you will continue with the design and implementation of the database of the customer relationship management system. You will create a table to hold the orders and another one to hold their order items. You will also learn about foreign key constraints. This is part 2 of 2 parts lecture.

Foreign Key Constraints - Comprehension Quiz
4 questions
15:11

During this lecture, you are going to practice by executing various SQL queries to retrieve data. You will learn about joins and left joins. You will also learn about sub-queries, which are queries inside other queries. This is part 1 of 3 parts lecture.

15:19

During this lecture, you are going to practice by executing various SQL queries to retrieve data. You will learn about joins and left joins. You will also learn about sub-queries, which are queries inside other queries. This is part 2 of 3 parts lecture.

Joins and Left Joins - Queries and Sub-Queries - Comprehension Quiz
9 questions
13:05

During this lecture, you are going to practice by executing various SQL queries to retrieve data. You will learn about joins and left joins. You will also learn about sub-queries, which are queries inside other queries. This is part 3 of 3 parts lecture.

Advanced SQL Queries - Comprehension Quiz
6 questions
Section 4: Web Development - HTML and CSS
06:33

This lecture, is an introductory presentation about Web Development. You need to be introduced before you start hands on stuff.

Introduction to Web Development - Comprehension Quiz
14 questions
17:37

During this lecture, you will start creating your first HTML pages. It includes:

1. Creation of an HTML hello world page

2. You are going to learn about HTML elements. How to start and how to end them.

3. You are going to learn about the HTML document basic structure

<head>

<title>

<body>

4. You are going to learn about headings <h1, h2, e.t.c.>

5. And about HTML line breaks

HTML Hello World and HTML Basic Structure - Comprehension Quiz
10 questions
10:55

During this lecture, you will learn about

  • Paragraphs
  • Horizontal lines
  • HTML Comments
  • HTML lists (ordered, un-ordered)
Paragraphs, Horizontal Lines, Comments & Lists - Comprehension Quiz
9 questions
16:42

During this lecture, you are going to learn about HTML tables. You are going to design the table that will display the order lines of an order.

HTML Tables - Comprehension Quiz
12 questions
15:27

During this lecture, you are going to learn about divs and how you can divide your HTML page to sections.

Dividing HTML page with divs - Comprehension Quiz
5 questions
13:18

During this lecture, you are going to learn about Interactive HTML. In particular, you will learn about

  • form elements
  • fieldsets & legends
  • input text elements
  • labels
  • input password elements
  • radio buttons
  • check boxes
Interactive HTML - Comprehension Quiz
10 questions
15:16

During this lecture, you are going to learn to use some more HTML elements. In particular:

  • textarea
  • select single
  • select multi-select
  • options and optgroups
  • submit button
Advanced Interactive HTML - Comprehension Quiz
4 questions
17:48

During this lecture, you are going to learn about CSS. CSS is a tool that can help you style your document, the color of the font, the size, the weight, the background color and more.

Styling HTML page with CSS - Comprehension Quiz
7 questions
Section 5: Web Development - Ruby on Rails
06:22

During this lecture, you are going to learn about gems. A gem is a software construct that is used by Ruby developers to package their code and distributed it in the community. It is a way to make Ruby code reusable via libraries.

Ruby Gems - Comprehension Quiz
10 questions

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Panayotis Matsinopoulos, Senior Software Engineer

I love software engineering. I am passionate about my job. I find it the most creative job that one could have.

After a long software engineering life that started with C/C++, then went to Java and then to .NET Visual Basic/C#, the last 4 years, I have been developing web applications using Ruby on Rails.

I believe that Ruby on Rails dramatically increased my web application development skills. REST, HTTP, testing and the whole family of tools around it tremendously improved the quality of code I deliver.

I am always willing to take new challenges on big projects. My biggest reward is not the money that I get, but the software that I create when it makes their users happy to use it.

“Test is my friend” and “Customer has always something useful to say when making a comment about my software.” It is my task to turn it into something valuable that will render my final work even better. “The enemy of good is the better one.”

Nevertheless, I never go without planning and I like working on specific non-moving targets. Focus, Focus and Focus. Agile estimating and planning (by Mike Cohn) is one of my best books on that and I come back to read it again and again. And nothing is finished if not tested and if not customers says done.

The technologies that I usually use on my projects are:

  • Ruby
  • Ruby on Rails
  • MySQL
  • Javascript
  • jQuery
  • HTTP
  • DEBIAN
  • Neo4J
  • Riak
  • Solr
  • TDD
  • BDD
  • Cucumber
  • Capybara
  • Selenium
  • HAML
  • Continues Integration
  • TeamCity
  • Jenkins
  • Factory Girl
  • Twitter Bootstrap
  • Amazon Web Services
  • Facebook API
  • Twitter API

My current programming work includes the following:

  1. Chief Technology Officer at Book&Table. I am designing and developing a Ruby on Rails application using PostgreSQL as a database backend.
  2. Senior Software Engineer at Fraudpointer. This is another Web application using the Ruby on Rails Web framework, with MySQL as a backend database
  3. Senior Software Engineer at Wyngle. This is also a Web application that is using Ruby on Rails. Here, I am implementing the backend database using Riak, which is a distributed NoSQL database.

While I am working on real projects, I like to teach computer programming. I have taught to many kids and adults, either on-line or in classrooms.

Ready to start learning?
Take This Course