[SCPY204] Computer Programming for Physicists

for 2nd Year Physics Student

See Course's Syllabus

Home > SCPY204: Computer programming for physicists Placeholder image


Class Schedule

Second semester of academic year 2017 - 2018:
Every Thursday during 12 Jan - 19 May 2018 [the following table]

Instructor: Dr. Puwis Amatyakul and Dr. Sutthipong Noisagool

Interactive Class

For today's quiz, practice and homework, please login.


Lecture #

Topics

Readings/Assignments

L01: 18 Jan 2018 Introduction to computer and programming, Setting up development environment for C, Python and Matlab, the first program [pdf] Reading: wikipedia's article [link]
L02: 25 Jan 2018 Data, Data type, program control, condition and loop, introduction to C programming [pdf]
L03: 1 Feb 2018 Function, recursion and array [pdf]
L04: 08 Feb 2018 Developing a program, review and exercises [pdf1] [pdf2]
L05: 15 Feb 2018 Introduction to Python, File I/O [pdf]
C and Python syntax summary [pdf]
L06: 22 Feb 2018 Introduction to MATLAB, more on File I/O, Time-series processing and visualization [pdf] [Dr. Chaiwoot's lecture] [Exercise 2]
[score data] [histogram example]

Publishing yourself: Build you own website!
(Due: 10 May 2018, before the final examination)

[uploading files to the server]


* TBA = To be annouced!


Course Materials

Recommend books

You could use any books that you are comfortable at reading them. Just to make you are able to program in C and also Python. There are also many great tutorials on how to program [link]. However, I would recommend these books.

  1. Programming in C [link]
  2. Programming in Python [link]
  3. Computer algorithms [link]

* You will need a paasword to download the files. Come to my office (P604) for the password.

Useful Stuffs

Program developing environment

There are many tools available for you to start programming. I would, for simplicity, recommend these two useful IDEs (integrated development environment) to use during the course.

  1. Code::Blocks - a recommended IDE for C program developing.
  2. Anaconda - a recommended bundle package for Python program developing. Spyder is the IDE that we will use.

Reading (for fun!)

  1. Timeline of computer history - contains nice summary and pictures.

Inspiring Stuffs