Basics of Scientific Computation
The Course
First Meeting (Week 1)
All students are required to attend the first meeting.
Code and Credits:
PHYS 200 - 2300200 - 3 credits
Instructors:
Dr. Sinan Kaan Yerli (Z15) yerli@metu.edu.tr
Dr. Hande Toffoli (439) ustunel@metu.edu.tr
Hande Çetin (Z39) handec@metu.edu.tr - Teaching Assistant
Emre Aşkan (426) easkan@metu.edu.tr - Teaching Assistant
Goal
Gain the ability to convert (mostly science based) problems into algorithms and solving them using a computer language.
Course Material
There will be no formal textbook. For the course content Colab Notebooks will be made available online.
Registration
At the beginning of each semester, three sections (Section 11, 12 & 13) of the course will be pre-filled according to student' status with the following elligibility criterion:
for Fall semesters, only regular students are selected:
The student should be in his/her 3rd semester OR
The student shouldn't have taken any 2nd year must courses in his/her 5th semester.
for Spring semesters, only irregular students are selected :
1. The student doesn't satisfy any of the regular conditions listed above.
2. The student is a double major student (originating either from Physics or another department)
The number of students for each semester is limited to 96. After applying above rules if there are still empty seats left then they will be filled by the student's entrance semester to the department: the oldest will get the first empty seat (for both FALL or SPRING semester).
Structure & Schedule
The course will consist of
In-class lectures (1 hour) – ALL sections have to attend the lecture at the same time.
FALL semester: Tuesday @10:40 - 11:30 in U1
SPRING semester: Monday @12:40 - 13:30 in P3
Laboratory (2 hours) – in LAB1 (Department’s Computer Lab on the ground floor)
You will get a chance to practice what you have learnt during the lecture. The following lab days are fixed for both semesters:
FALL semester: Thursdays
SPRING semester: Fridays
You will attend the lab hours in one of three sections:
Section 11: Morning – 09:40-11:30
Section 12: Noon – 11:40-13:30
Section 13: Afternoon – 13:40-15:30
The lab is in the basement: take the first right past the foyer, go through the swinging doors, turn right and walk straight ahead. There are 32 PC’s set up for your use in the lab.
Lab sections will be assigned according to your surname and will be announced at the beginning of the semester.
Weekly Schedule
Grading
Notes:
Attendance to class and lab is an important part of this course. At each lecture or lab session, we will take attendance and mark it directly in ODTUCLASS.
If you are absent in the lab then you will loose Quiz and Exercise points.
Mid-term and final exams will be computer-based and held in LAB1 (see section Exams below)
There will be NO QUIZ in Week 1.
Quiz and Exercisess are time limited:
The Quiz is given at the beginning of each lab session (30 minutes).
First Exercise has to be submit before the lab session and Second Exercise have to be submitted within the lab session. Third Exercise is due until +2 days, midnight.
You have to choose 4 projects equivalent to "8 project points" (see section Projects).
A compulsory AI-related project has to be completed with the project load.
Exams
INTEGRITY is very important for us.
We definitely DO NOT tolerate CHEATING.
Please DO NOT attempt it!
Rules for mid-term and final exams
The exams will be held in the PC lab on computers.
Section 11: 09:45 - 11:15 (90 minutes)
Section 12: 11:45 - 13:15 (90 minutes)
Section 13: 13:45 - 15:15 (90 minutes)
You will use PC's in the PC LAB.
On the day of the exam, come to the lab as early as possible and make sure everything works!
You have to login to ODTUCLASS before exam starts (logging times will be checked).
Leave all your belongings including cell phones (turned off) at the instructor's desk.
You are only allowed to use the keyboard and the mouse.
On the desktop:
Only a single window running a browser (firefox or chrome).
The browser should only contain ODTUCLASS tab.
A common cheat-sheet will be avilable in ODTUCLASS and can be opened as a tab.
Your last saved version will be graded.
No talking, no question; Otherwise you will be dismissed from the exam.
Warnings - Technical
You are not allowed to use your personal computer.
Nothing allowed on or around the PC or the chair.
You are not allowed to have USB keys attached to your PC.
You are not allowed to use the editor spyder.
If you have other applications running you will be dismissed from the exam.
Warnings - Others
You cannot leave the exam before 1/2 of the allowed time has passed (i.e. 45 minutes).
You cannot submit your codes after you leave the lab.
All external submissions (being not physically in the lab) will be treated as incidences of cheating.
Mid-term
Content of the exam:
1 quiz question (Q8): The last quiz and the midterm are combined due to time constraints.
3 midterm questions
Your answers will contain only coding: No explanation, no comments, no extra information (they will all be discarded).
Since you are allowed to run your code it should not contain syntax errors.
Each answer has to be submitted as a separate file to the related assignment on ODTUClass. However, all of them have the same starting and ending times. It is your responsibility to SUBMIT ON TIME. THERE WILL BE NO TIME WARNING.
Question types:
(4 pts) Basic Coding: Write a simple code that solves the given problem.
(8 pts) Coding 1: Write a Python code for a problem (including file manipulations, conditionals, plotting and other coding elements).
(8 pts) Coding 2: Write a Python code for a problem (including functions, conditionals, plotting and other coding elements).
Final
Content of the exam:
2 questions
Your answers will contain only coding: No explanation, no comments, no extra information (they will all be discarded).
Since you are allowed to run your code it should not contain syntax errors.
Each answer has to be submitted as a separate file to the related assignment on ODTUClass. However, all of them have the same starting and ending times. It is your responsibility to SUBMIT ON TIME. THERE WILL BE NO TIME WARNING.
Question types:
Basic Coding
IF-THEN-ELSE block
Number theory-type question
Reading/Writing to/from files
Advanced Coding