Bu dersin amacı Objective-C ve Swift programlama dilleri,
modern teknikler, uygulama mimarileri ve açık kaynak yazılım
kullanımı ile iOS uygulama geliştirme tekniklerinin anlatılmasıdır.
Course Content
Bu ders; iOS 10, Xcode 8, Objective-C, Swift 3, macOS tanıtımları ve diğer
araçlar hakkında genel bilgiler.,Swift temelleri, closures, extensions, protocols, etc.,MVC ve diğer uygulama geliştirme yapıları hakkında bilgi ve Swift ile
ilk uygulama.,View controller and app life cycles.,iOS patterns, delegation, notifications, KVO.,Storyboard ve auto-layout.,Table view ve Collection view ile listeler.,Networking.,Debugging.,Universal apps.,Core Location, haritalar ve konum servisleri.,Core Data ve veri saklama.,Multi-threading.,Animasyonlar ve view controller geçişleri.; konularını içermektedir.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
Swift temellerini anlar
10, 6, 9
A, E, F
Apple tarafından sunulan en son yazılım geliştirme araçları ve servislerini kullanır.
11, 13, 14, 2, 3, 6, 8
A, E, F
Uygulama yaşam döngüsünü tanımlar
6, 8, 9
A, E, F
Animasyonlar ve view controller geçişlerini sağlar
2, 6, 9
A, E, F
Modern uygulama geliştirir
2, 6, 8, 9
A, E, F
Teaching Methods:
10: Tartışma Yöntemi, 11: Gösterip Yapma Yöntemi, 13: Örnek Olay Yöntemi, 14: Bireysel Çalışma Yöntemi, 2: Proje Temelli Öğrenme Modeli, 3: Probleme Dayalı Öğrenme Modeli, 6: Deneyimle Öğrenme Modeli, 8: Ters-yüz Edilmiş Sınıf Modeli, 9: Anlatım Yöntemi
Assessment Methods:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Course Outline
Order
Subjects
Preliminary Work
1
iOS 10, Xcode 8, Objective-C, Swift 3, macOS tanıtımları ve diğer
araçlar hakkında genel bilgiler.
2
Swift temelleri, closures, extensions, protocols, etc.
3
MVC ve diğer uygulama geliştirme yapıları hakkında bilgi ve Swift ile
ilk uygulama.
4
View controller and app life cycles.
5
iOS patterns, delegation, notifications, KVO.
6
Storyboard ve auto-layout.
7
Table view ve Collection view ile listeler.
8
Networking.
9
Debugging.
10
Universal apps.
11
Core Location, haritalar ve konum servisleri.
12
Core Data ve veri saklama.
13
Multi-threading.
14
Animasyonlar ve view controller geçişleri.
Resources
Ders Notları
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
Algoritma programlama, bilgisayar uygulaması geliştirme ve yazılım projelerinde kod geliştirme konularında yeterli altyapıya ve bunları iş hayatlarında kullanma yeteneğine sahiptir.
2
Programlama problemleri için bilinen çözüm yöntemlerini ve özel teknikleri kullanır ve uygular.
3
Yazılım uygulamaları için gerekli olan modern teknik ve araçları kullanır.
4
Bireysel olarak ve çok disiplinli takımlarda etkin olarak çalışır.
5
Geliştirilmiş uygulama veya yazılımın test aşamalarını gerçekler ve takip eder.
6
İşyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği, mesleki ve etik sorumluluk, programlama uygulamalarının hukuksal sonuçları konularında farkındalığa sahiptir.
7
Bilgiye erişir ve bu amaçla kaynak araştırması yapar.
8
Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler.
9
Sözlü ve yazılı, gerektiğinde teknik resimler ve modern araçlar kullanarak etkin iletişim kurar.
10
Yazılım çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkilerinin bilincinde olur; çağın sorunları çözmede ve toplumsal ilerlemede yeni yazılımlar geliştirir.
11
Geliştirdiği yazılımın temiz ve anlaşılır olmasına özen ve dikkat gösterir.
12
Kullanıcı odaklı tasarım ilkelerine riayet eder.
Assessment Methods
Contribution Level
Absolute Evaluation
Rate of Midterm Exam to Success
40
Rate of Final Exam to Success
60
Total
100
ECTS / Workload Table
Activities
Number of
Duration(Hour)
Total Workload(Hour)
Ders Saati
0
0
0
Rehberli Problem Çözme
0
0
0
Problem Çözümü / Ödev / Proje / Rapor Tanzimi
0
0
0
Okul Dışı Diğer Faaliyetler
0
0
0
Proje Sunumu / Seminer
0
0
0
Kısa Sınav (QUİZ) ve Hazırlığı
0
0
0
Ara Sınav ve Hazırlığı
0
0
0
Genel Sınav ve Hazırlığı
0
0
0
Performans Görevi, Bakım Planı
0
0
0
Total Workload(Hour)
0
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(0/30)
0
ECTS of the course: 30 hours of work is counted as 1 ECTS credit.
Detail Informations of the Course
Course Description
Course
Code
Semester
T+P (Hour)
Credit
ECTS
İOS PROGRAMLAMA
BPR2260410
Bahar Dönemi
1+2
2
5
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of Course
Türkçe
Course Level
Ön Lisans
Course Type
Programa Bağlı Seçmeli
Course Coordinator
Öğr.Gör. Beyza KOYULMUŞ
Name of Lecturer(s)
Öğr.Gör. Beyza KOYULMUŞ
Assistant(s)
Aim
Bu dersin amacı Objective-C ve Swift programlama dilleri,
modern teknikler, uygulama mimarileri ve açık kaynak yazılım
kullanımı ile iOS uygulama geliştirme tekniklerinin anlatılmasıdır.
Course Content
Bu ders; iOS 10, Xcode 8, Objective-C, Swift 3, macOS tanıtımları ve diğer
araçlar hakkında genel bilgiler.,Swift temelleri, closures, extensions, protocols, etc.,MVC ve diğer uygulama geliştirme yapıları hakkında bilgi ve Swift ile
ilk uygulama.,View controller and app life cycles.,iOS patterns, delegation, notifications, KVO.,Storyboard ve auto-layout.,Table view ve Collection view ile listeler.,Networking.,Debugging.,Universal apps.,Core Location, haritalar ve konum servisleri.,Core Data ve veri saklama.,Multi-threading.,Animasyonlar ve view controller geçişleri.; konularını içermektedir.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
Swift temellerini anlar
10, 6, 9
A, E, F
Apple tarafından sunulan en son yazılım geliştirme araçları ve servislerini kullanır.
11, 13, 14, 2, 3, 6, 8
A, E, F
Uygulama yaşam döngüsünü tanımlar
6, 8, 9
A, E, F
Animasyonlar ve view controller geçişlerini sağlar
2, 6, 9
A, E, F
Modern uygulama geliştirir
2, 6, 8, 9
A, E, F
Teaching Methods:
10: Tartışma Yöntemi, 11: Gösterip Yapma Yöntemi, 13: Örnek Olay Yöntemi, 14: Bireysel Çalışma Yöntemi, 2: Proje Temelli Öğrenme Modeli, 3: Probleme Dayalı Öğrenme Modeli, 6: Deneyimle Öğrenme Modeli, 8: Ters-yüz Edilmiş Sınıf Modeli, 9: Anlatım Yöntemi
Assessment Methods:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Course Outline
Order
Subjects
Preliminary Work
1
iOS 10, Xcode 8, Objective-C, Swift 3, macOS tanıtımları ve diğer
araçlar hakkında genel bilgiler.
2
Swift temelleri, closures, extensions, protocols, etc.
3
MVC ve diğer uygulama geliştirme yapıları hakkında bilgi ve Swift ile
ilk uygulama.
4
View controller and app life cycles.
5
iOS patterns, delegation, notifications, KVO.
6
Storyboard ve auto-layout.
7
Table view ve Collection view ile listeler.
8
Networking.
9
Debugging.
10
Universal apps.
11
Core Location, haritalar ve konum servisleri.
12
Core Data ve veri saklama.
13
Multi-threading.
14
Animasyonlar ve view controller geçişleri.
Resources
Ders Notları
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
Algoritma programlama, bilgisayar uygulaması geliştirme ve yazılım projelerinde kod geliştirme konularında yeterli altyapıya ve bunları iş hayatlarında kullanma yeteneğine sahiptir.
2
Programlama problemleri için bilinen çözüm yöntemlerini ve özel teknikleri kullanır ve uygular.
3
Yazılım uygulamaları için gerekli olan modern teknik ve araçları kullanır.
4
Bireysel olarak ve çok disiplinli takımlarda etkin olarak çalışır.
5
Geliştirilmiş uygulama veya yazılımın test aşamalarını gerçekler ve takip eder.
6
İşyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği, mesleki ve etik sorumluluk, programlama uygulamalarının hukuksal sonuçları konularında farkındalığa sahiptir.
7
Bilgiye erişir ve bu amaçla kaynak araştırması yapar.
8
Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler.
9
Sözlü ve yazılı, gerektiğinde teknik resimler ve modern araçlar kullanarak etkin iletişim kurar.
10
Yazılım çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkilerinin bilincinde olur; çağın sorunları çözmede ve toplumsal ilerlemede yeni yazılımlar geliştirir.
11
Geliştirdiği yazılımın temiz ve anlaşılır olmasına özen ve dikkat gösterir.