Python Politecnico di Torino
Bu dersimiz Politecnico di Torino Üniversitesi Computer Science ya da Informatica derslerini alan mühendislik öğrencilerine yönelik olarak hazırlanmıştır. Ders içeriği ve soruları Politecnico di Torino müfredatıyla birebir uyumlu olup, sınava yönelik bol soru çözümü içermektedir.
Python Politecnico di Torino
Politecnico Di Torino Üniversitesi mühendislik bölümlerinde Python dili aşağıdaki dersler altında verilmektedir:
- Bilgisayar mühendisliği(Computer Engineering): Computer Sciences - 07JCJLM
- Elektronik mühendisliği (Electronics Engineering): Computer Sciences - 07JCJLM
- Elektrik mühendisliği (Electrical Engineering): Informatica - 14BHDLX
- Automative Engineering (Otomativ Mühendisliği): Informatica - 14BHDLX
- Makine Mühendisliği (Mechanical Engineering): Computer Sciences - 07JCJLM
- Endüstri mühendisliği (Industrial Engineering): Informatica - 14BHDNL
- Enerji Mühendisliği (Energy Engineering): Informatica - 14BHDMK
Dersin Genel Amacı
Bu dersimizin genel amacı, İtalya Politecnico Di Torino Üniversitesi mühendislik bölümlerinde okuyan öğrencilere Python programlama dilini temel/orta seviyede öğretmektir. Polito'nun Computer Sceiences, Informatica derslerinin kendine has bir Python müfredatı bulunmaktadır. Herhangi bir Python eğitimi bu müfredata tam olarak uyum sağlamayabilir. Gereğinden fazla bilgi içermesi durumunda öğrencinin enerjisi ve zamanı boşa gidecektir. Gereğinden az bilgi içermesi durumunda ise öğrencinin dersi geçmesine yardımcı olamayacaktır. Bu yüzden Politecnico Di Torino'nun Computer Sceiences ve Informatica derslerini ciddi anlamda analiz ettik. Öğrencinin dersi geçmesi için gereken bilgiyi ve beceriyi içeren bir ders müfredatı hazırladık. Öğrencinin daha fazla pratik yapmasına olanak sağlayacak kod alıştırmaları ve projeler ekledik. Bu dersimiz sadece Polito'nun Computer Sceiences ve Informatica dersine uygundur. Yazılım paradigmalarının kullanımı, fonksiyon kullanım tercihleri, basit yazılım geliştirme mimarisi gibi ince detaylara kadar Polito'nun yazılım geliştirme tercihleri dikkate alınarak bu ders hazırlanmıştır.
Bu Ders Kimler İçin Uygun?
Bu dersimizin hedef kitlesi, spesifik olarak İtalya Politecnico Di Torino Üniversitesi mühendislik bölümlerinde okuyan öğrencilerdir. Bunları sıralayacak olursak:
- Bilgisayar Mühendisliği bölümünde okuyan birinci sınıf öğrenciler.
- Elektronik Mühendisliği bölümünde okuyan birinci sınıf öğrenciler.
- Elektrik Mühendisliği bölümünde okuyan birinci sınıf öğrenciler.
- Otomotiv Mühendisliği bölümünde okuyan birinci sınıf öğrenciler.
- Makine Mühendisliği bölümünde okuyan birinci sınıf öğrenciler.
- Endüstri Mühendisliği bölümünde okuyan birinci sınıf öğrenciler.
- Enerji Mühendisliği bölümünde okuyan birinci sınıf öğrenciler.
Dersin Müfredatında Neler Var?
Bu ders, Python programlama dilinin ileri seviye konularını ve Python programlama dilinde sıkça kullanılan kütüphane ve framework'leri içermektedir. Dersin genel kapsamı aşağıdaki gibidir:
- Computer Architecture (Bilgisayar Mimarisi)
- Software Architecture (Yazılım Mimarisi)
- Flow charts, pseudo-code to solve real problems ( Akış şemaları, gerçek problemleri çözmek için pseudo-kod)
- Solution of complex problem by iterative refinements (İteratif iyileştirmelerle karmaşık problemlerin çözümü)
- Choice of the most suitable data structure in the solution of complex problems (Karmaşık problemlerin çözümünde en uygun veri yapısının seçimi)
- Numeric constants and variables ( Sayısal sabitler ve değişkenler)
- Strings and their manipulation (Dizgeler ve manipülasyonları)
- Input/Output of numbers and and strings (Veri Giriş/Çıkış işlemleri, sayılar ve dizgeler)
- Arithmetic operators, powers, and mathematical functions (Aritmetik operatörler, üsler ve matematiksel fonksiyonlar)
- Boolean variables and operators (Boolean değişkenler ve operatörler)
- Logical operators (Mantıksal operatörler)
- Conditional statements (Koşullu ifadeler)
- Iterations and Loop Control Structures (Döngüler ve Döngü Kontrol Yapıları)
- Functions and calls (Fonksiyonlar ve fonksiyon çağırma)
- Lists, Sets, and Dictionaries (Listeler, Kümeler ve Sözlükler)
- Complex data structures (Dictionaries of sets and dictionaries of lists) (Karmaşık veri yapıları)
- Text Files (Metin Dosyaları)
- Exceptions handling (Hata ve istisna yönetimi)
THEORY:
PROBLEM SOLVING AND ALGORITHMS:
PYTHON LANGUAGE:
Dersin genel kapsamındaki konular bunlar olmakla birlikte, ders içeriği ve müfredatı, öğrencilerimizin ihtiyaçlarına göre özelleştirililebilmektedir.
Dersi Nasıl İşliyoruz?
Bu dersi işlerken takip ettiğimiz bir takım prensiplerimiz var. Bunları aşağıda sıralayacak olursak:
- Python dersimizi, özel ders şeklinde ya da tercih edilmesi halinde grup dersi olarak işleyebiliyoruz.
- Derslerimizin zamanı, süresi ve sıklığı öğrencilerimizin ihtiyaçlarına ve taleplerine göre belirleniyor. Öğrencilerimiz ders saatlerini ve günlerini genelde kendileri belirliyor. Derslerimizi hafta içi ya da hafta sonu, gündüz ya da gece farketmeksiniz İtalya'nın saat dilimine uygun olarak yapıyoruz. Derslerimiz genelde 2 x 40dk'lık seanslar şeklinde oluyor. Haftalık ders miktarımızda ortalama 2 ya da 3 tane oluyor.
- Dersleri online olarak yapıyoruz ve genelde Zoom, Google Meet, Microsoft Teams ya da Skype gibi online platformları kullanıyoruz.
- Öğrencilerimize derste bolca kod yazabilme imkanı sunuyoruz ve onu supervise ediyoruz. Bçylelikle daha hızlı ve etkili bir şekilde Python öğrenmelerini sağlıyoruz.
- Öğrencilerimizle birlikte aynı anda, aynı proje üstünde kodlama yapabiliyoruz. Bu sayede öğrencilerimizin yazdığı kodları anlık olarak görebiliyor ve hatalarını düzeltebiliyoruz. Buna yazılım literatüründe "pair programming" adı verilmektedir.
- Öğrencilerimize ders dışında bireysel olarak çalışabilmeleri için sorular veriyoruz. Bu sayede öğrencilerimizin derslerde öğrendikleri konuları pekiştirmesini sağlıyoruz. Soruların konularını özellikle öğrencilerimizin ilgi alanlarından seçiyoruz.
- İnteraktif bir ders işleme yöntemi benimsiyoruz. Öğrencilerimizin ders içeriğini daha iyi anlamalarını sağlamak için sık sık sorular soruyoruz ve öğrencimizin ilgisini diri tutacak etkinlikler yapıyoruz.
- Dosya paylaşımında git ve github gibi üst düzey versiyon kontrol ve dosya paylaşım sistemlerini kullanıyoruz. Böylelikle öğrencilerimizin yazdığı kodları saklamalarını ve gerektiğinde kolaylıkla ulaşabilmelerini sağlıyoruz.
Bu Dersten En İyi Verimi Nasıl Alabilirsiniz?
Bu dersten üst düzey bir verim alabilmeniz için aşağıdaki önerilerimizi dikkate almanız önemlidir:
- Ders planımıza riayet etmenizi tavsiye ederiz. Böylelikle sınava kadar konuları ve pratikleri bitirebiliriz. Bazı öğrencilermizde kronik olarak ders öteleme problemi olabiliyor. Biz bu durumu tolare ediyoruz ancak unutmayın ki bu durum sizin zamanınızı daraltmaktadır.
- Sınava hazırlanmayı son birkaç haftaya bırakmamalısınız. Python ve genel anlamda yazılım geliştirmeyi öğrenmek zaman alan bir süreçtir. Bu süreci çok kısaltmak sınavda başarısız olmanıza neden olabilir.Ancak sadece review ihtiyacınız varsa bu durumda son birkaç haftaya bırakabilirsiniz.
- Ders kapsamında size birçok ders materyali sağlıyor olacağız. Bunları tekrar etmeniz önemli. Bunun haricinde, kendi başınıza çözmeniz için size birçok soru vereceğiz. Bu soruları çözmeniz ve takıldığınız yerde bize sormanız sizin gelişmenizi anlayabilmemiz açısından önemli.
- Derslerde aktif olarak katılım göstermeniz çok önemli. Böylelikle nereyi anlayıp nereyi anlamadığınızı görüyoruz.
- Kodlama kesinlikle sadece dinleyerek ve okuyarak öğrenilecek bir disiplin değildir. Muhakkak yazmanız gerekmektedir. Yazılımda bir tabir vardır: "Enough talking! Lets make our hands dirty". Yani, "Bu kadar konuşma yeter! Haydi ellerimizi kirletelim". Sözün özü, eller kirlenmeden yazılım öğrenilmiyor.
Özel Ders mi Grup Dersi mi Almalıyım?
Bu dersi bireysel olarak aldığınız takdirde daha hızlı ve etkili bir şekilde Python öğrenebilirsiniz. Ders kaçırma, ders saaatini uyduramama, herhangi bir konsepti anlayamama, hocaya soru soramama gibi sorunlarla karşılaşmazsınız. Ayrıca dersi kendi hızınıza göre ilerletebilir ve dersin içeriğini ve süresini kendi ihtiyaçlarınıza ve taleplerinize göre özelleştirebilirsiniz. Sorular da sizin ilgi alanlarınıza göre olacaktır.
Bu dersi grup olarak aldığınızda ise daha uygun bir fiyata ders alabilirsiniz, ancak beraberinde bazı dezavantajlar da olacaktır. Grup derslerinde dersin içeriğini ve süresini kendi ihtiyaçlarınıza ve taleplerinize göre özelleştiremezsiniz. Ayrıca, dersi anlamak için daha fazla bireysel çaba sarf etmeniz gerekecektir. Ders kaçırma durumları ise işinizi daha da zorlaştıracaktır. Bu durumları iyi tartıp karar vermelisiniz. Bizler grup derslerinin daha çok review ve pratik yapma amacıyla kullanılmasını tavsiye ediyoruz. Bireysel derslerin ise daha çok yeni konular öğrenme ve konuları derinlemesine anlama amacıyla kullanılmasını tavsiye ediyoruz.
Bu Dersi Almanın Ne Gibi Avantajları Var?
Öncelikli olarak, Polito bazı bölümlerinde bu dersi İngilizce, bazı bölümlerinde ise İtalyanca olarak veriyor. Yazılım geliştirme gibi oldukça kompleks olan bir dersi anadilinizin dışında almak dersi anlamanızı oldukça zorlaştırabilir. Bu durumda, dersi anlamak için daha fazla çaba sarf etmeniz gerekecektir. Bizler birinci olarak bu yükü ortadan kaldırıyoruz. Tabi ki dersin tüm materyellerini İngilizce olarak sağlıyoruz. Ancak, dersi anlatırken ve yazdığınız kodları kontrol ederken anadilinizde size rehberlik ediyoruz. Bu sayede dersi daha iyi anlamanızı sağlıyoruz.
İkinci olarak, dersi bireysel olarak aldığınız takdirde dersin içeriğini ve süresini tamamen sizin belirlemenize olanak sağlıyoruz. Bu sayede dersin içeriğini ve süresini kendi ihtiyaçlarınıza ve taleplerinize göre özelleştirebilirsiniz. Sadece anlamadığınız ya da zorlandığınız konuları işleyebilirsiniz. Bu sayede zamanınızı ve enerjinizi gereksiz konulara harcamamış olursunuz.
Üçüncü olarak, size seviyenizi tespit edebilme, sınava ne kadar hazır olduğunuzu anlayabilme imkanı sunuyoruz. Bu sayede sınava daha etkin bir biçimde hazırlanabilme imkanınız oluyor.
Bu Dersi Alırsam Okuldaki Dersimi Geçebilecek miyim?
Bu sorunuza -evet tabiki- de yanıtını verip sizi mutlu etmek isterdik. Ancak başarının birden fazla faktöre bağlı olduğunu unutmamak gerekir. Bu dersi almanız, elbette dersinizi geçmeniz için size büyük bir avantaj sağlayacaktır, ancak yine de kod yazmadaki bireysel çabanız ve yazılımın sizin mantığınıza uygun bir disiplin olup olmaması faktörleri de başarı üzerinde oldukça etkilidir. Bizim en öenmli vasfımız sizin Python öğrenme sürecinizi en az 3x hızlandırmak ve sınava yönelik nokta atışı yerlere odaklanmanızı sağlamaktır.
Polito'nun Computer Sceiences ve Informatica(Python) Dersleri Neden Zor?
Bu dersleri temelde zor kılan bazı faktörler var. Bunları sıralayacak olursak:
- Dersin dönem sonunda sadece bir tane sınavı bulunuyor. Dönem içinde not toplayabileceğiniz bir ara sınav, proje veya quiz yok. Dönem sonu sınavında iyi yaptınız yaptınız yoksa dersi tekrarlamanız gerekiyor. Tabi dönem sonu sınavına dönemine göre 2 kere girebilme imkanınız var.
- Ders teorik ve pratik olmak üzere iki kısımdan oluşuyor. Teori kısmında yeterli puanı toplayamazsanız kodlama kısmına giremiyorsunuz. Teori kısmında konu miktarı fazla ama sorulan soru sayısı az oluyor. Teori kısmının puanı da kodlama kısmına göre oldukça düşük.
- Sınavda ufak çapta bir uygulama geliştirmeniz gerekiyor desek yeridir. Birçok bilgiyi bir arada ölçen bir soru soruyorlar. Bütüncül düşünmeniz gerekiyor.
- Sınavda size verilen süre, sorulan soruların zorluğuna ve kapsamına bakıldığında biraz kısıtlı. Sınavı rahat rahat bitirmek öyle kolay değil. Çok pratik yapıp hızlanmanız icap ediyor.
- Sınavda gerçekten oldukça orjinal sorular soruluyor. Sınav öncesinde farklı tipte birçok sorunun incelenmesi gerekiyor.
Python'un iyi seviyede öğrenilmesini şiddetle tavsiye ediyoruz. Mümkün olduğunca Python programlama dilini ileri seviyede öğrenmeye çalışın. Özellikle mühendislik ve temel bilimler alanlarında çalışıyorsanız, Python programlama dilini ileri seviyede öğrenmek sizin mesleki derinliğinizi ciddi anlamda arttıracaktır. İlerleyen yıllarda, yazılım bilmenin bir gereklilik olacağı bir dünyada, Python programlama dilini ileri seviyede öğrenmek, sizin için oldukça büyük bir avantaj olacaktır. Eğer bu dersimizi ilginizi çektiyse bizimle hemen iletişime geçebilir ve dersimize kayıt yaptırabilirsiniz.