Web Programlama
Çorlu Mühendislik FakültesiBilgisayar Mühendisliği
- Kodu
- BMB315
- Yarıyılı
- 2026-2027 Güz Yarıyılı
- Teorik
- 3
- Uyg.-Lab
- 1-0
- Kredi
- 3.5
- AKTS
- 6
- Dersin türü
- Zorunlu
- Düzeyi
- Lisans
- Dili
- Türkçe
- Kategorisi
- Temel mesleki dersler
- Ön koşul (tavsiye)
- -
- Dersi veren
- Prof. Dr. ERDİNÇ UZUN
Dersin amacı
Web Programlama dersi, web uygulamalarının geliştirilmesinde temel prensiplerden başlayarak modern web teknolojilere kadar birçok konuyu öğrencilere tanıtmamayı amaçlar. Bu ders, istemci ve sunucu taraf olarak iki ana bölüme ayrılmıştır. Her bölüm kendi içinde çok farklı web teknolojileri kapsar.
Öğrenme çıktıları
- ÖÇ-1Web uygulamaları geliştirme
- ÖÇ-2Yaşam boyu öğrenme için web temellerini anlama
- ÖÇ-3Farklı web programlama dillerinin temellerini öğrenme
- ÖÇ-4Web çatıları, WEB API, oturum yönetimi, kimlik doğrulama ve yetkilendirme gibi kavramları anlama
Dersin içeriği
HTTP, HTML, CSS, Javascript, Javascript frameworks, React, Angular, Vue.js, Web Sunucuları, PHP, C#, .Net Core, Web API, SignalIR, Node.js, Kimlik Doğrulama, Yetkilendirme, Oturum
Haftalık konular
| Hafta | Konu | Ön hazırlık / yöntem |
|---|---|---|
| 1 | Web Programlamaya Giriş | Anahtar Kelimeler: HTTP, HTTPS, FTP, SFTP, POP3, IMAP, SMTP, DNS, TCP / IP, UDP, NAT, MAC, ARP, DHCP, ICMP, PING, Router, RIP, OSPF, Socket, Port, Telnet, HTTP Request, HTTP Response, GET, POST, HTML, form, CSS, Web Server, Browser |
| 2 | İstemci tarafı: HTML, CSS, Javascript | https://www.w3schools.com/html/, https://www.w3schools.com/css/, https://www.w3schools.com/js/ |
| 3 | İstemci tarafı: AJAX, JSON, jQuery | https://www.w3schools.com/js/js_ajax_intro.asp, https://www.w3schools.com/jquery/ |
| 4 | İstemci tarafı: XML, XSL, XPATH, XLink, XPointer, DOM, XML Web Services, WSDL, SOAP, UDDI, RSS, SVG, Canvas ve CSS ile Duyarlı Web Tasarımı (BootStrap, W3.cs), HTML 5: Geolocation, Drag/Drop, Local Storage, App Cache, Web Workers, SSE | https://www.w3schools.com/, https://www.tutorialspoint.com/html/ |
| 5 | İstemci tarafı: Front-end Frameworks - AppML, AngularJS, Angular, React, Vue.js | https://www.w3schools.com/jquery/, https://www.w3schools.com/appml/, https://www.w3schools.com/react/, https://www.w3schools.com/angular/, https://www.tutorialspoint.com/vuejs/ |
| 6 | Sunucu tarafı: Web Sunucuları | Anahtar kelimeler: Web servers, Apache, IIS, Nginx |
| 7 | Sunucu tarafı: PHP ile Web Programlama I- Değişkenler, Döngüler, Denetim, global, static, Super Globals | https://www.w3schools.com/php/, https://www.tutorialspoint.com/php/index.htm |
| 8 | Ara sınav | |
| 9 | Sunucu tarafı: PHP ile Web Programlama II- OOP (Class, Object, Encapsulation, Inhetitance, Abstract), HTML Forms - Server side (GET, POST), Validation in Client and Serverside, include / require, File Opearations, File Upload, Cookies, Session, Error Exception | https://www.w3schools.com/php/, https://www.tutorialspoint.com/php/index.htm |
| 10 | Sunucu tarafı: PHP ile Web Programlama II- Database Operations: MySQLi / PDO, CRUD, Prepared statements, Paging, XML and JSON Processing, AJAX | https://www.w3schools.com/php/, https://www.tutorialspoint.com/php/index.htm |
| 11 | Sunucu tarafı: ASP.Net Core ve Razor Pages- Page-focused development framework: Razor Pages in ASP.NET Core, C#, Layout, Model, Entity Entity Framework Core (ORM), Scaffolded, Code generators, Model based validation | https://erdincuzun.com/asp-net-core/00-asp-net-core/, https://erdincuzun.com/asp-net-core/01-razor-pages/ |
| 12 | Sunucu tarafı: Web application frameworks- MVC, ASP.NET Core MVC, Model, View, Controller, Session state, Web API, SignalR | https://erdincuzun.com/asp-net-core/02-asp-net-core-mvc/, https://erdincuzun.com/asp-net-core/03-oturum-yonetimi/, https://erdincuzun.com/asp-net-core/04-web-api/, https://erdincuzun.com/asp-net-core/05-gercek-zamanli-uygulamalar-signalr/ |
| 13 | Sunucu tarafı: ASP.Net Web Forms ve Node.js | https://learn.microsoft.com/en-us/aspnet/web-forms/, https://erdincuzun.com/node-js/0-node-js-icindekiler/ |
| 14 | Sunucu tarafı: Web application frameworks- Node.js ve Express | https://erdincuzun.com/node-js/0-node-js-icindekiler/ |
| 15 | İleri konular: Web güvenliği, SSL, SEO, My Project- ADYS | Googling |
| 16 | Gelecekte web teknolojileri | Googling |
Kaynaklar ve materyaller
- Ders notu
- https://adys.nku.edu.tr/, Randy Connolly ve Ricardo Hoar (2021), \\\"Fundamentals of Web Development (3rd Edition)\\\", Pearson
- Diğer kaynaklar
- https://erdincuzun.com/, https://github.com/erdincuzun
- Dokümanlar
- https://www.youtube.com/watch?v=0bICs_Z9V7Q&list=PLq4n-UisAJbKCRmVx9Gak1n40Pu0CVwMA
- Ödevler
- 3/4 ödev
- Sınavlar
- Tüm ders notları, slaytlar ve derste yazılan kodlar verilen bağlantılardan paylaşılacaktır. Dersin değerlendirilmesinde bir ara sınav (%30) ve bir yarıyıl sonu sınavı (%70) ile yapılacaktır. Sınavların her birinde test olarak 5 şıktan oluşan 50 soru olacaktır. Ayrıca, sınavda soru ve şıklar karıştırılıp 4 kitapçık kullanılacaktır. Ara ve yarıyıl sonu sınavına dâhil olan konular izlence de belirtilmiştir. Finalde dönem içerisindeki bütün konulardan sorumlu olunacaktır. Dönem içinde günümüzün web teknolojilerini içeren 3 veya 4 ödev olacaktır. Ödev sorularından sınavlarda en az 10-15 soru sorulacaktır.
Değerlendirme
- Ödev 1 %10
- Arasınav 1 %30
- Dönem Sonu Sınavı %60
Program çıktıları ile ilişkisi
- PÇ-1A. Matematik, fen bilimleri ve Bilgisayar Mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, Bilgisayar mühendisliği alanına özgü karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
- PÇ-2B. Bilgisayar Mühendisliği alanında karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
- PÇ-3C. Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
- PÇ-4D. Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
- PÇ-5E. Bilgisayar Mühendisliği alanında karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
- PÇ-6F. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
- PÇ-7G. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
- PÇ-8H. Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
- PÇ-9I. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
- PÇ-10J. Bilgisayar Mühendisliği alanında proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
- PÇ-11K. Bilgisayar Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; Bilgisayar mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık.
| ÖÇ-1 | ÖÇ-2 | ÖÇ-3 | ÖÇ-4 | |
|---|---|---|---|---|
| PÇ-1 | 3 | 3 | 4 | 3 |
| PÇ-2 | 4 | 4 | 4 | 5 |
| PÇ-3 | 3 | 4 | 4 | 5 |
| PÇ-4 | 3 | 4 | 5 | 5 |
| PÇ-5 | 3 | 3 | 3 | 4 |
| PÇ-6 | 2 | 3 | 2 | 2 |
| PÇ-7 | 2 | 3 | 2 | 2 |
| PÇ-8 | 3 | 5 | 4 | 4 |
| PÇ-9 | 2 | 3 | 2 | 2 |
| PÇ-10 | 2 | 3 | 4 | 4 |
| PÇ-11 | 2 | 3 | 2 | 2 |
AKTS iş yükü
| Etkinlik | Sayı | Süre | Toplam |
|---|---|---|---|
| Sınıf dışı ders çalışma süresi(ön çalışma, pekiştirme) | 9 | 5 | 45 |
| Yarıyıl Sınavı | 1 | 30 | 30 |
| Ders süresi(sınav haftası dahildir: toplam ders saati) | 16 | 3 | 48 |
| Uygulama | 16 | 1 | 16 |
| Ödevler | 3 | 7 | 21 |
| Ara Sınav 1 | 1 | 20 | 20 |
| Toplam iş yükü | 180 | ||
| Toplam iş yükü / 30 | 6 | ||
| Dersin AKTS kredisi | 6 | ||