This course covers the fundamentals of all the basic components of the Internet. The course will be covered under two parts: Theory and Practice. The theory section covers the following topics: Two-tier client server architecture; Three-tier architects with Model-Presentation-Control (MVC) architecture; PHP Laravel server applications; Service-oriented architecture and components, web services, semantic web; Internet protocols (HTTP, HTTPS, SOAP); Cloud computing.
In the practice section, the student will implement client-side web technologies such as HTML, CSS, JavaScript and will become familiar with how to design and implement efficient, scalable and secure database-powered websites.
Prerequisite(s)
Basic knowledge of HTML, CSS and Javascript structure is recommended.
* Courses will be taught face to face and hands-on.
Principle Sources
Laravel: Up and Running: A Framework for Building Modern PHP Apps 2nd Edition
Other Sources
Learning PHP, MySQL, JavaScript, and CSS: A Step-by-Step Guide to Creating Dynamic Websites by Robin Nixon (Sep 3, 2012)
Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics by Jennifer Niederst Robbins (Aug 24, 2012)
Course Schedules
Week
Contents
Learning Methods
1. Week
Internet Programming structure, Web Technologies overview, HTML, CSS, and Framework concept
Oral presentation, practice
2. Week
During the course, the PHP working environment will be established, variable structures will be mentioned, and conditional expressions and loops will be discussed.
Oral presentation, practice
3. Week
Ready-made functions and user-defined functions used in PHP will be discussed.
Oral presentation, practice
4. Week
Data exchange between pages through HTML Forms request types (GET, POST), session variables (SESSION), and cookie variables (COOKIE) will be explained.
Oral presentation, practice
5. Week
MYSQL Database, SQL statements, relations between tables, PHP - MYSQL Relationship, and PHP data security issues will be explained.
Oral presentation, practice
6. Week
Laravel library working environment will be installed, the application folder structure will be introduced and the .env file will be examined in detail.
Oral presentation, practice
7. Week
MVC design patterns will be discussed in detail in the course. Laravel MVC structure will be explained.
Oral presentation, practice
8. Week
Routers used in the Laravel library will be examined in detail. Applications will be developed in order to consolidate the subjects in the course.
Oral presentation, practice
9. Week
The controller classes used in the Laravel library will be examined in detail. Applications will be developed in order to consolidate the subjects in the course.
Oral presentation, practice
10. Week
HTML Blade engine will be explained in detail. Applications will be developed in order to consolidate the subjects in the course.
Oral presentation, practice
11. Week
Model classes will be explained in detail and relationship structures between tables will be defined. Applications will be developed in order to consolidate the subjects in the course.
Oral presentation, practice
12. Week
Database operations and Eloquent structures in Laravel will be explained in detail. Applications will be developed in order to consolidate the subjects in the course.
Oral presentation, practice
13. Week
Restful API will be detailed and API development with Laravel will be discussed.
Oral presentation, practice
14. Week
Practice
Practice
15. Week
Final Exam
16. Week
Final Exam
17. Week
Final Exam
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
30
Homework / Term Projects / Presentations
5
20
Final Exam
1
50
Program Outcomes
PO-1
Effectively identifying collecting and evaluating the data required for the Computer Programming field and using theoretical knowledge for creating applications.
PO-2
Being equipped with basics of computer science.
PO-3
Possessing the knowledge of all necessary software and equipment in the profession.
PO-4
Emphasizing team work, contributing to the group and operating with team chemistry.
PO-5
Effectively expressing and sharing the completed work with project group and teammates.
PO-6
Objectively evaluating the performance of employees under his/her supervision and providing objective information to the management.
PO-7
Demonstrating problem solving skills and the education he/she obtained at the program.
PO-8
Possessing the computer programming knowledge built on skills, information and competencies provided by secondary education and supperted by higher education course materials, and demonstrating the understanding of concepts in the field of computer programming.
PO-9
Acquiring the analytical thinking skills required in the field of computer programming, and creating and running programs in accordance with this analytical perspective.
PO-10
Complying with ethical values of the field of Computer Programming and carrying social responsibility.
PO-11
Developing sufficent foreign language skills to conduct the work and follow the global developments at the best level.
PO-12
Empasizing communication and using Turkish accurately in this communication.
PO-13
Ensuring the security, environment and health awareness at personal level and among his/her employees.
PO-14
Following technological innovations in software and hardware after graduation and sustaining continuous personal development.
PO-15
Claiming responsibility at his/her workplace, organizing work flow with employees and operating according to high quality work standards.
Learning Outcomes
LO-1
Web Programming Logic / client-Server relationship
LO-2
Installing and testing software required for PHP Laravel code-based programming
LO-3
Preparing a WEB page with the basic commands of the PHP Laravel coded programming language
LO-4
Preparing a WEB page using functions and objects with PHP Laravel coded programming language
LO-5
Making form applications with PHP Laravel coded programming language
LO-6
Web services use open source code-based program in