Basics of Scientific Computation
The Course
First Meeting (Week 1)
All students are required to attend the first meeting. Please follow posts in the department for date and time. There will be NO LAB in this week.
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
Mert Arık (Z39) marik@metu.edu.tr - Teaching Assistant
Goal
Gain the ability to convert problems into algorithms and solving them using a computer language.
Course Material
There will be no formal textbook. Lecture Presentations will be made available online.
Registration
Visit calendar of events in FAQ.
At the beginning of each semester, three sections (Section 11, 12 & 13) of the course will be opened with ZERO CAPACITY. Following the add-drop period, the students will be registered by the instructors according to their semester schedule.
for Fall semesters, only regular students are accepted :
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 accepted :
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 64. 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) – Both 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.
Your Lab section is determined according to your schedule. Lab sections will be assigned by the instructors and will be announced at the beginning of the second week of the semester.
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 2 (Lab Week 1).
Quiz, Exercises and Assignment are time limited:
The Quiz is given at the beginning of each lab session (20 minutes).
The first Exercise have to be submitted before the lab session ends.
The second Exercise's due time is the same day until midnight.Assignment is due until +2 days, midnight.
You have to choose 4 projects equivalent to "8 project points" (see section Projects).
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 two tabs: (1) odtuclass, (2) Google Colab. Login to both pages with your credentials.
You will submit each solution as a Python file (extension .py).
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
Guru Mode
Since we do not offer any kind of exemption from this course, the "GURU MODE" is a special treatment that we apply to students who have EXTENSIVE background in coding and wish to challenge themselves further than the typical student taking this course. Students applying to take this course in the GURU mode are expected to work harder, with more challenging projects.
Applying for guru mode doesn't guarantee the guru mode. We will look at your claim and make a case-by-case decision.
Who can apply for guru mode?
Double major/minor C.Eng students.
People who can demonstrate extensive coding experience (software or game developer etc.).
What is expected from a guru?
Only two projects, to be determined with two instructors.
Lab is not mandatory starting from 9th week however the GURU has to submit project progress every week.
Disadvantages
Everything is harder; sparse guidance is given by the instructors.
We expect all codes to work.
Less partial credit.
How to apply
Students wishing to apply for GURU mode should fill the application form before the add-drop period starts.
Application does NOT guarantee acceptance. We will let you know by the start of the add-drop period.
Even if you have extensive background in coding, you are not required to apply for the GURU mode. You can just follow the regular track if you so wish. However, we recommend that you do since it will allow you to get a taste of real research problems.