Open in CoCalc with one click!

Dosyanın son güncellenme tarih ve saati: Thu, 08 Jan 2015 19:58:58 +0000

Fizikte Bilgisayar Uygulamaları (FİZ225)

[2014 - 2015 Güz Dönemi]

http://fizik.fen.akdeniz.edu.tr/dersler bağlantısında verilen tanıma göre ders içeriğimiz aşağıdaki gibidir.


** 0305 225 FİZİKTE BİLGİSAYAR UYGULAMALARI (2-2) 5**
Giriş; Fonksiyonlar ve kökler; İnterpolasyon ve yaklaşıklık; Sayısal integraller;
Adi diferansiyel denklem çözümleri; Lineer sistemler ve matrisler; Fourier analizi;
Kısmi diferansiyel denklemler.


Fakat biz FBU dersinde öncelikle, Python programlama dilinin temellerini öğrenmeye çalışacağız.
Bu aşamayı geçtikten sonra yukarıda bahsi geçen konulardan bazılarının Python programlama dili
kullanılarak nasıl gerçekleştirilebileceği üzerine çalışacağız.

###Ders programı:

  • Çarşamba 08:30-10:20 / Fen Fakültesi A Blok - Derslik 6
  • Perşembe 15:30-17:20 / Fen Fakültesi A Blok - Derslik 6

###Not Sistemi (GÜNCELLENDİ!)

  1. 2011 ve sonrası girişli öğrenciler için: (y\geq2011; y \equiv üniversiteye giriş yılı)
    • %15 Ödev
    • %5 Kısa sınav (Kuiz)
    • %25 Ara sınav (Vize)
    • %55 Yarıyıl sonu sınavı (Final)
  2. 2011 öncesi girişli öğrenciler için: (y<<2011; y \equiv üniversiteye giriş yılı)
    • %5 Kısa sınav + %25 Ara sınav = %30 Arasınav
    • %15 Ödev + %55 Yarıyıl sonu sınavı = %70 Yarıyıl sonu sınavı

Sınav Tarihleri:

  1. Ara sınav: 4 Aralık 2014 / 15:30 - 17:20 / Derslik 6
  2. Yarıyıl sonu sınavı: (ilan edilecek)

Wikipedia'ya göre http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/200px-Python_logo_and_wordmark.svg.png (programlama dili)

Python, nesne yönelimli, yorumlanabilen, birimsel (modüler) ve etkileşimli bir programlama dilidir.

Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.

Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir.

Geçmiş

Geliştirilmeye 1990 yılında Guido van Rossum tarafından Amsterdam'da başlanmıştır. Adını sanılanın aksine bir yılandan değil Guido Van Rossum’un çok sevdiği, Monty Python adlı altı kişilik bir İngiliz komedi grubunun Monty Python’s Flying Circus adlı gösterisinden almıştır. Günümüzde Python Yazılım Vakfı çevresinde toplanan gönüllülerin çabalarıyla sürdürülmektedir. Python 1.0 sürümüne Ocak 1994'te ulaşmıştır. Son kararlı sürümü, 2.x serisinde Python 2.7 ve 3.x serisinde Python 3.2.2'dir. 3 Aralık tarihinden itibaren 3.x serisi yayınlanmaya başlamıştır; ancak 3.x serisi 2.x serisiyle uyumlu değildir.

Guido van Rossum

Guido van Rossum

FBU dersinde kullanacağımız kaynak kitabın yazarı:

Professor
Hans Petter Langtangen
Simula Fellow
Mobile: +47 995 32 021
Office: +47 67 82 82 83
E-mail: [email protected]
Affiliations: Simula Research Laboratory AS BioComp
Homepage: http://www.simula.no/~hpl/
Other links: http://folk.uio.no/hpl/scripting/index.html
\hskip 74pxhttps://www.simula.no/people/hpl

Kitapla iligili linkler
Kitap ve içindeki uygulamalarla ilgili site
Kitaba ait GitHub'taki uygulamalar
Kitap ve içindeki uygulamalarla ilgili başka bir site
Başka bir site daha

Contents

1 Computing with Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 LoopsandLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3 Functions and Branching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4 Input Data and Error Handling . . . . . . . . . . . . . . . . . . . . . 137
5 Array Computing and Curve Plotting . . . . . . . . . . . . . . . 187
6 Files, Strings, and Dictionaries . . . . . . . . . . . . . . . . . . . . . . 257
7 Introduction to Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
8 Random Numbers and Simple Games . . . . . . . . . . . . . . . 413
9 Object-Oriented Programming . . . . . . . . . . . . . . . . . . . . . . 483
A Sequences and Difference Equations. . . . . . . . . . . . . . . . . 557
B Introduction to Discrete Calculus . . . . . . . . . . . . . . . . . . . 593
C Introduction to Differential Equations . . . . . . . . . . . . . . 625
D A Complete Differential Equation Project . . . . . . . . . . 641
E Programming of Differential Equations. . . . . . . . . . . . . . 667
F Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
G Migrating Python to Compiled Code . . . . . . . . . . . . . . . 753
H Technical Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787

Yukarıdaki kitaplara ilaveten iki kaynak kitapla ilgili linkler:

Sayisal Fizik


Fortran ve Python ile
Sayısal Fizik
46 çözümlü örnek, 68 problem.
Prof. Dr. Bekir Karaoğlu
Temmuz 2013 / 2. Baskı / 205 Syf.
Fiyatı: 14.50 TL
Stokta var (24 saatte kargoya verilir).
Toplu Alımlar İçin Tıklayınız...
Fortran kodları
Python Kodları

Computational Physics, 2nd Edition

FBU benzeri İngilizce bir ders ile ilgili linkler ve bilgiler:

Computational Physics 2014, Course 509 - Physics Applications of Computers

Literature for Pythons:

  • Software carpentry
  • How to Think Like a Computer Scientist: Learning with Python
  • Python for beginners
  • Dive Into Python
  • Python documentation
  • Python regular expressions

Marmara Üniversitesinde verilen FBU dersinin web sayfası:

FZK719 FİZİKTE BİLGİSAYAR UYGULAMALARI (3+0+3) ECTS 8 2012-2013 BAHAR YARIYILI

Ders Amacı: Bilgisayarda paket programlardan birini kullanarak Fizik ve Matematikte karşılaşılan problemleri sayısal yöntemler kullanarak çözmeyi ve programlamasını yapmayı öğrenmektir.

Ders Kitabı:

Stephen Wolfram, Mathematica, 2nd Ed., Addison-Wesley Publishing, Inc., California (1991) (5nci baskısının Türkçesi mevcuttur). M. Çınar ve M. Çınar, Mathematica 3.0 ve 4.0, Seçkin Yayıncılık, Ankara (2000) Aslan Gülcü, Mathematica 5 Bilgisayar Destekli Matematik, Nobel Yayın Dağıtım, Ankara Uğur Yahşi, Mathematica Ders Notları, Marmara Üniversitesi, İstanbul (2008).

PYTHON ve çeşitli diğer programlama dillerini çalışmaya imkan veren web sitelerinin linkleri:


SageMathCloudTM^{\text{TM}}


Code Anywhere

codeanywhere web
android app


[Python in codecademy](http://www.codecademy.com/en/tracks/python) [Stories about codecademy](http://www.codecademy.com/stories)

Koding


tmpnb.org


cloud 9

MERAKLISINA:

PYTHON kullanılarak yapılmış güzel bir bilimsel çalışma:

A single-atom laser model.


İlginç IPython çalışmalarının listesi

https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks

This page is a curated collection of IPython notebooks that are notable for some reason. Feel free to add new content here, but please try to only include links to notebooks that include interesting visual or technical content; this should not simply be a dump of a Google search on every ipynb file out there.

Important contribution instructions: If you add new content, please ensure that for any notebook you link to, the link is to the rendered version using nbviewer, rather than the raw file. Simply paste the notebook URL in the nbviewer box and copy the resulting URL of the rendered version. This will make it much easier for visitors to be able to immediately access the new content.

Note that Matt Davis has conveniently written a set of bookmarklets and extensions to make it a one-click affair to load a Notebook URL into your browser of choice, directly opening into nbviewer.

ÇEŞİTLİ DİĞER LİNKLER:


Türkçe Python kaynakları:

http://belgeler.istihza.com/py2/
https://twitter.com/pybilim
http://pybilim.wordpress.com/page/5/
http://pythontr.blogspot.com.tr/
http://www.bilgisayardershanesi.com/arama-sonucu.html
http://tr.wikipedia.org/wiki/Python_değişkenleri


Oyun şeklinde programlama öğretmeyi amaçlayan siteler:

Python Tutor
PySchools
https://blockly-games.appspot.com/
http://code.org/learn
http://light-bot.com/hocflash.html
http://www.tynker.com/hour-of-code
https://www.robomindacademy.com/go/navigator/storylines?course=HourOfCode
http://en.wikipedia.org/wiki/99_Bottles_of_Beer


SageMathCloud ile verilen örnek dersler:

http://www.davidketcheson.info/2014/05/31/teaching_with_SMC.html
https://github.com/ketch/HyperPython
https://github.com/ketch/AMCS252
SAGEMATH ile ilgili güzel bir kitap http://www.gregorybard.com/SAGE.html


Python için bilimsel kütüphaneler:

http://www.scipy.org/


Diğerleri:

demo Python kodları
http://www.brython.info/
http://interactivepython.org/courselib/static/thinkcspy/index.html
http://teaching.proftalbert.com/mth225f14/class-work/assignment-1
http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/
http://www.programmingbasics.org/tr/downloads/links.html
http://www-personal.umich.edu/~mejn/computational-physics/
http://phys.csuchico.edu/ayars/312/Handouts/comp-phys-python.pdf
http://phys.csuchico.edu/ayars/XBee/Welcome.html
http://ww2.odu.edu/~agodunov/computing/information.html
http://libgen.org/search.php?req=computational+nuclear&open=0&view=simple&phrase=1&column=def
https://github.com/karakaplanm
Facebook apps using Python
IPython in Android


Computatinaol Physics

Computational Physics I with C++
Computational Physics III
http://faculty1.coloradocollege.edu/~sburns/Courses/14-15/PC253/

##IPython ile ilgili YouTube() videoları

%auto def YouTubeSimple(link, hide=0): YouTubeLink = "https://www.youtube.com/embed/%s"%link md("<iframe src=%s></iframe>"%YouTubeLink, hide=hide) def YouTube(link, hide=0, width=388, height=240, video=True): from time import time YouTubeVideo = "https://www.youtube.com/embed/%s"%link YouTubeImage = "https://img.youtube.com/vi/%s/0.jpg"%link timeStamp = str(time()).replace(".","_") """ Each YouTube video has 4 generated images. The first one in the list is a full size image and others are thumbnail images. They are predictably formatted as follows: http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg or /1.jpg /2.jpg /3.jpg The default thumbnail image (ie. one of 1.jpg, 2.jpg, 3.jpg) is: http://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg For the high quality version of the thumbnail use a url similar to this: http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg There is also a medium quality version of the thumbnail, using a url similar to the HQ: http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg Reference: http://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api """ # http://stackoverflow.com/questions/11995529/youtube-overlay-image-div-autoplay-underneath htmlText = """ <div onclick="thevid=document.getElementById('{videoID:s}'); thevid.style.display='block'; this.style.display='none'; document.getElementById('iframe').src = document.getElementById('{iframeID:s}').src.replace('autoplay=0','autoplay=1');"> <img style="cursor: pointer;" src={imageLink:s} width={width:s} height={height:s}> </div> <div id="{videoID:s}" style="display: none;"> <iframe id="{iframeID:s}" src={videoLink:s} width={width:s} height={height:s} frameborder="0" allowscriptaccess="always" allowfullscreen="true"></iframe> </div> <div style="float:left"></div> """.format(imageLink=YouTubeImage, videoLink=YouTubeVideo, width=str(width), height=str(height), iframeID="iframe"+link+timeStamp, videoID="video"+link+timeStamp) if video: return html(htmlText, hide=hide) else: return htmlText def htmlTable(List): """ HTML Tablosu oluşturur. """ tableHtml = "<table>\n %s</table>" rowHtml = "<tr>\n %s</tr>\n" columnHtml = "<td>%s</td>\n " # tek satirli tablo if type(List[0]) is not list: nColumn = len(List) tableHtml = tableHtml%(columnHtml*nColumn) else: # birden cok satir ve sutunlu tablo nColumn = len(List[0]) nRow = len(List) tableHtml = tableHtml%((rowHtml%(columnHtml*nColumn))*nRow) flatList = [item for sublist in List for item in sublist] List = flatList return tableHtml%tuple(List)

Python and Julia. Why do we need another language? - Dwight J. Browne

Brian Granger and Jonathan Frederic - IPython Interactive Widgets

IPython Parallel Computing

Install Python 3 with IPython Notebook on Cloud 9 with Miniconda

Lynn Root - How To Spy with Python

IPython Widget GUI for Spectroscopy

Jason Grout - Advanced IPython Notebook Widgets

Python Bootcamp - 2013 Mon. Aug 26, Part I

%%fortran magic in IPython

http://nbviewer.ipython.org/github/mgaitan/fortran_magic/blob/master/documentation.ipynb