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
Ability to define, collect, and evaluate necessary data in the field of computer programming and effectively apply theoretical knowledge in practical applications..
PO-2
Possession of fundamental knowledge of computer systems, software, and hardware, and the ability to effectively utilize the required technologies for the profession.
PO-3
Possession of up-to-date, fundamental, and applied knowledge related to computer programming.
PO-4
Awareness of occupational health and safety, environmental consciousness, and quality processes, and the ability to apply them in the workplace.
PO-5
Ability to follow developments in information technologies and integrate innovations into the profession.
PO-6
Effectively using information technologies related to the profession (software, programs, animations, etc.).
PO-7
Acquiring the analytical thinking skills required by computer programming, developing and executing programs with an appropriate perspective.
PO-8
Independently evaluating professional problems and issues with an analytical and critical approach and presenting solutions.
PO-9
Effectively expressing the work conducted in the field to project teams and institutions.
PO-10
Taking responsibility in the workplace, organizing employees and workflow, and providing services in accordance with quality and standards.
PO-11
Effectively presenting thoughts at the level of knowledge and skills through written and verbal communication in a clear and understandable manner.
PO-12
Valuing teamwork, contributing to the group, and collaborating effectively with colleagues.
PO-13
Ability to adapt to next-generation technologies such as artificial intelligence, big data analytics, cybersecurity, and cloud computing, and to acquire fundamental knowledge and skills in these areas.
PO-14
Being aware of career management and lifelong learning, following technological advancements, and continuously improving oneself.
PO-15
Possessing social, scientific, cultural, and ethical values in the collection, implementation, and dissemination of field-related data.
PO-16
Possession of foreign language skills sufficient to follow developments in the field and communicate at an international level.
PO-17
Emphasizing effective communication in the field and using the Turkish language accurately.
PO-18
Ability to adopt and promote workplace safety, health, and environmental awareness.
PO-19
Ability to objectively evaluate the performance of team members and provide accurate information to management.
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