[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 2023 - 2024:
Every Monday during 8 Jan - 6 March 2024 (fisrt part) [the following table]

|

Instructor: Dr. Puwis Amatyakul and Dr. Suraphong Yuma


Lecture #

Topics

Readings/Assignments

L01: 8 Jan 2024 Introduction to computer and programming, Setting up development environment for C, Python and Matlab, the first program [pdf] Reading: wikipedia's article [link]
L02: 15 Jan 2024 Data, Data type, program control, condition and loop, introduction to C programming [pdf]
> Examples appeared in the lecture: [zip]
L03: 23 Jan 2023 Function, recursion and array [pdf]
> C and Python syntax summary [pdf]
> Examples appeared in the lecture: [zip]
L04: 30 Jan 2023 Developing a program, review and exercises [pdf1] [Exercise 1]
> Examples appeared in the lecture: [zip]
L05: 6 Feb 2023 Developing a program, with Python and Matlab: with examples [pdf]
> Anaconda (Linux) [file] [installation guide]
L06: 13 Feb 2023 More on Python and MATLAB, more on File I/O, Time-series processing and visualization [pdf] [Dr. Chaiwoot's lecture] [Exercise 2]
[score data] [histogram example]
[matplotlib] [numpy]
L07-L08: 20-27 Feb 2023 Review, practices and examples | Web programming

Publishing yourself: Build you own website!
(Due: 22 April 2023, after 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