Lecture Notes (Fall)

Kocaeli University Computer Engineering Department – Fall-2016:

 


 

1 Dağıtık Sistemlere Giris (Introduction to Distributed Systems) ( BLM433  ) 

 Ders ile ilgili detayli bilgileri Course_syllabus linkinden bulabilirsiniz.

Announcements:

  1. Proje gruplarının son hali ve proje sunum-demo takvimi güncellenmiştir. 1.öğretim  ve 2.öğretim
  2. VİZE sınavı için hatırlatma kağıdı hazırlayabilirsiniz. Hatırlatma kağıdı, kendi el yazınızla A4 kağıdının tekyüzüne hazırlanacak. Hatırlatma kağıdına isim, soyisim ve öğrenci numaranız yazılacak. Hatırlatma kağıdı, sınav sonunda sınav kağıdı ile birlikte katlamadan teslim edilecek. Hatırlatma kağıdı getirmeyenler yoklama kağıdına “hatırlatma kağıdım yok” yazarak imzalayacaklar. Bu kurallara uymayanlar sınavdan 0 alacaklardır.
  3. Proje grupları oluşturulmuş ve konular dağıtılmıştır. Aşağıdaki linklerden kontrol edebilirsiniz.

 

Lectures:

  1. Course Info – Textbook, grading, attendance policy, etc.
  2. Introduction (Distributed Systems) – Review of general topics in distributed systems. This is also a course outline.
  3. Distributed Operating Systems : Network Operating Systems, Distributed Operating Systems, and Middleware Systems.
  4. Distributed Systems architectures : Software oriented and System oriented Designs.
  5. Processes and threads and their roles in distributed systems
  6. Virtualization, Code migration, process migration [Link]: Server design issues, code and process migration, strong mobility vs. weak mobility in process and code migration, virtualization techniques
  7. [Communication] in Distributed Systems: Transient/Persistent communications, Synchronous/Asynchronous communications, Connection-oriented/Connection-less communications. Communication in middleware protocols.
  8. Message Oriented Communications and Multicast Communications.
  9. Midterm Exam (9 Kasım Perşembe 15:00) sınava ilk 8 maddeki konular dahildir.
  10. Streaming and Real Time Messaging protocols.
  11. Naming – used to share resources, to uniquely identify entities, to refer to locations, and more. Name resolutions and concepts.

 

Projects:

Proje Grupları 1.öğretim  ve 2.öğretim

 


 

3. Dağıtık Sistemler (Distributed Systems) (Graduate Level Course) (BLM107)

Announcements:

  1. Vize notları ********
  2. Proje sunum-demo takvimi belirlenmiştir Link   *******
  3. VİZE sınavı için hatırlatma kağıdı hazırlayabilirsiniz. Hatırlatma kağıdı, kendi el yazınızla A4 kağıdının tekyüzüne hazırlanacak. Hatırlatma kağıdına isim, soyisim ve öğrenci numaranız yazılacak. Hatırlatma kağıdı, sınav sonunda sınav kağıdı ile birlikte katlamadan teslim edilecek. Hatırlatma kağıdı getirmeyenler yoklama kağıdına “hatırlatma kağıdım yok” yazarak imzalayacaklar. Bu kurallara uymayanlar sınavdan 0 alacaklardır.
  4. Dersler Salı günleri Amfi-A da 14-17 arasında yapılamaktadır.
  5. Derslere katılamayanlar lisans programından dersleri takip edebilir. Yoklamayı benden isteyin (Çarşamba 2-5, 5-8) 

Lectures:

  1. Course Info – Textbook, grading, attendance policy, etc.
  2. Introduction (Distributed Systems) – Review of general topics in distributed systems. This is also a course outline.
  3. Distributed Operating Systems: Network Operating Systems, Distributed Operating Systems, and Middleware Systems.
  4. Distributed Systems architectures: Software oriented and System oriented Designs.
  5. Processes and threads and their roles in distributed systems
  6. Virtualization, Code migration, process migration [Link]: Server design issues, coding and process migration, strong mobility vs. weak mobility in process and code migration, virtualization techniques
  7. [Communication] in Distributed Systems: Transient/Persistent communications, Synchronous/Asynchronous communications, Connection-oriented/Connection-less communications. Communication in middleware protocols.
  8. Message Oriented Communications and Multicast Communications.
  9. Streaming and Real Time Messaging protocols.
  10. Naming – used to share resources, to uniquely identify entities, to refer to locations, and more. Name resolutions and concepts.
  11. Midterm Exam (14 Kasım Salı 14:00) Sınava ilk 9 maddedeki konular dahildir.

 

Projects:

Proje Grupları [Link]

 


 

2. Nesneye Yönelik Programlama (Object Oriented Programming) ( MUH 201)

 Ders JAVA ile işlenecektir. Lablarda uygulamalı olarak JAVA kodları yazılacaktır.

Announcements:

  1. Bu Perşembe günü (12/10/2017) elimde olmayan sebeplerden il dışında olacağım için dersi Süleyman Eken ve Seda Kul işleyecektir. Lablar aynı şeklde asistan hocalarınız eşliğinde gerçeklenecektir.
  2. Lablarda hiçbir mazeret rapor vs kabul edilmemektedir. Lablarda kullanabileceğiniz 2 gelmeme hakkınız vardır. Yani toplamda 12 labdan 10 laba girseniz dahi 100 alabilirsiniz.

Lectures:

 Lecture-1– Course information

 Lecture-2  – Java as an object oriented programming language

– Lecture-3 – sample classes, inputs from command lines, inputs from keyboards.

– Lecture-4 – Types, variables, operators, operators’ precedence and type casting.

 Lecture-5  – Strings and String API

– Lecture-6 – Arrays, making copy of arrays, sorting, multi-dim arrays

– Lecture-7 – Control flow, while, do-while, for loops, if-else and switch statements, break and continue.

– Lecture-8 – Java classes, objects, and methods. Constructors, variables in blocks such as for and if. Encapsulation, accessors and mutators, scopes.

– Lecture-9 – Inheritance, overriding, final classes, final methods, and final variables. Sınf içi çalışması – dizilerle stack (yığın) uygulaması.

– Lecture-10 – Sınıf içi çalışmalar. Sınava hazırlık.

– Lecture-11– Midterm Exam (6 Kasım Pazartesi (11:00 1.öğr) – (18:00 2.öğr))

– Lecture-12 – Soyut (Abstract) ve Arayüz (Interface) Sınıfları.

– Lecture-13 – Polymorphism (Cok biçimlilik)

– Lecture-14 – Sinava hazırlık, sınavda sorulabilecek konular ve örnek sorular

 

Labs:

 Lab1– (bağımsız çalışma – lab kontrolloeri yapılmadı) IDE kullanmadan java sinifi olusturma ve calistirma. Komut konsolundan ve text dosyalari ile java yazma ve calistirma.

 Lab2 (I ve II öğretimler ortak) Ekrandan deger okuma-alma ve temel hesaplama

 Lab3 (I ve II öğretimler ortak) String API ile ilgili kodlar yazma.

 Lab4 (I)    Lab4 (II)  Temel programlama, döngüler, method çağırımı.

 Lab5 (I ve II öğretimler ortak)    Temel programlama, method ve class lara giriş.

 Lab6 (I ve II öğretimler ortak)    Java’da paketleme (JAR) ve dokümantasyon (javadoc) – oluşturma ve kullanma.

 Lab7 (I ve II öğretimler ortak)    Java’da sınıf ve metodlar ile ilgili kümeler üzerinde bir uygulama çalışması.

 Lab8 (I ve II öğretimler ortak)    Java’da kalıtım (inheritance) ve şekil sınıfları üzerinde uygulaması.

 

Text Book : Walter Savitch, Java: An Introduction to Problem Solving & Programming, 4th. Ed., Pearson Education, International Edition, 2005

Text Book’s Slides (.ppt) and Source codes (.jar)

Slides-1 : SourceCodes-1 Slides-2 : SourceCodes-2

Slides-3 : SourceCodes-3 Slides-4 : SourceCodes-4

Slides-5 : SourceCodes-5 Slides-6 : SourceCodes-6

Slides-7 : SourceCodes-7 Slides-8 : SourceCodes-8

Slides-9 : SourceCodes-9 Slides-10 SourceCodes-10

Slides-11 SourceCodes-11

 

Useful Links:

  • Useful shortcuts and highlights of Netbeans [Link]
  • Youtube’da Turkce Java Dersleri [Link]
  • Oracle Java Tutorial [Link]

 

theme by teslathemes