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:

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 :

    1. The student should be in his/her 3rd semester OR

    2. 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.