Welcome to CDS 130

Computing for Scientists (and Engineers)

Spring, 2015

Instructor: James Gentle

Lectures: Tuesdays and Thursdays 10:30am - 11:45am, Innovation Hall 222

If you send email to the instructor, please put "CDS 130" in the subject line.

You are responsible for checking your MasonLIVE email account regularly.

Learning Assistants:

Alayna Bigalbal
Office hours: Sunday 6:00pm-8:00pm, Planetary Hall 242.

Rebeca Orellana-Montano
Office hours: Wednesday 6:00pm-8:00pm, Planetary Hall 242.

Other help sessions open to all CDS 130 students will be held in Planetary Hall 242. See the general website for CDS 130.

Course Description

This course fulfills GMU's General Education "Information Technology with Ethics" requirement.

In this course students learn the fundamentals of the computational approach to scientific problem solving. No prior programming experience is required.

This course also counts for 3 credit hours of the 12 credits in CDS or CSI required for the Computational and Data Sciences minor.
Some other CDS courses are CDS 251: Introduction to Scientific Programming; CDS 301: Scientific Information and Data Visualization; CDS 302: Scientific Data and Databases; CDS 401: Scientific Data Mining; CDS 410: Numerical Analysis II; and CDS 411: Modeling and Simulation.



A grade of C or better in MATH 104, Trigonometry and Transcendental Functions, or MATH 105, Precalculus Mathematics, or passing score on the math placement test for MATH 110 or MATH 113.


None. On-line notes and web-based content will be used to supplement the lectures and in-class assignments.

Feedback on past student evaluations has indicated that these materials were sufficient for success in this course and for understanding the material.


Matlab will be used.

Matlab is a very widely-used scientific software package that has many built-in functions, but that also provides a rich programming language. In this course, you will learn the basics of Matlab. The way to learn any software package or any programming language is by using it. Some of you will learn much more about Matlab than we will cover in this course. You may use it in other more advanced courses, or if you go on in your studies, you may use it as a research tool. If you want to learn more about Matlab beyond what we will cover in this course, the publisher of the software, MathWorks, provides some helpful tutorials. Their getting started guide is particularly useful.

Matlab is available on most GMU classroom computers and computers in student labs. For homework, you will usually have to print your solutions. Some of the student computer labs have printers.
Here is the list of labs. There is a "printers" link in the upper-right.

Students may also access and use Matlab without charge either on campus or from any computer with an internet connection using the GMU Virtual Computing Lab.
See comments on using VCL,and step-by-step screen shots.
If you use an Apple Mac computer, the instructions are slightly different.

Students may also purchase Matlab and install it on their own personal computers. Patriot Computers in the Johnson Center sells a student version of Matlab for $109.

Format of Classes

This is a three-credit course that meets for 75 minutes twice per week.
Some of the class time will be "activities", especially on Thursdays.

For each class, I will usually have much more material than I will actually cover.
How much I cover will depend on the number of questions and the amount of class discussion.
Because of this, from time to time, I will have to make adjustments to assignments that I may have already posted on the website.

Mostly lecture and some in-class activities.
Homework may be assigned at the end of class. It is usually an extension of the in-class activities.

Lecture and in-class activities.
Often there will be a quiz near the start of class.
Homework is often assigned at the end of class. It is usually an extension of the in-class activities.

Attendance, Homework, Quizzes, Exams, Grading


Although many notes will be posted on the web, this is not an "online" or "distance learning" class.

You are expected to attend every class (I do!), but I do not penalize students for missing class and I do not take attendance.

I believe that the grading policy sufficiently penalizes students for missing class, but it's up to you.

If you are unable to attend classes or if you feel that you are getting behind in your work, you should do something about it early in the semester.

This is true no matter what the excuse is.

There is not much that I can do if you come to me near the end of the semester and ask about doing "extra work" so you can pass the course.
I hope you will always do extra work, but it's no substitute for the regular assigned work that all students are expected to do.


There will be several homework assignments.

In some cases, the homework will be due at the beginning of class.

Most homework will usually be hand-written, but it may involve computer output, especially later in the semester.

Late homework will not be accepted. I will drop the lowest homework grade.

It is OK to collaborate with other students on homework problems, however it is not OK to copy other students' work.

Homework questions will usually consist of calculations, short answers, and computer programs. The questions are designed to test a student's understanding of the course material.

When applicable, the student must write out both the solution and the step-by-step solution logic in their homework responses, so that instructors may assess the student's overall approach to and understanding of the assigned problems. Credit will be assigned on student homework based upon whether or not the student's solution is correct (approximately 50% of the score), and also whether the student's solution logic is correct (approximately 50% of the score).


There will be several short quizzes, usually near the beginning of the class.

Quizzes cannot be ``made-up''. (I post the solutions). I will drop the lowest quiz grade.

The quizzes will focus on the material covered on the previous Tuesday. They are not intended to be "cumulative", but they may involve concepts covered in earlier weeks.


A midterm and a final exam will be given in the class to test comprehension of the topics covered in the lecture, discussions, and homework.

Both exams are cumulative.

The exams will include short answers, multiple choice, and simple discussion questions. The questions will be based on concepts covered on the homeworks and in the in-class questions.

Sample midterm and final exams will be provided before the date of the actual exam.

I rarely give make-up exams. However, special consideration will be given if the student (1) has completed all of their home works on time and (2) provides compelling evidence that the exam was missed for reasons that were beyond the student's control.

Grading and Weighting

Partial credit may be given provided work is shown. When we grade, we look for a correct answer. If the answer is not correct, we look for evidence that you understood something about the problem. The more evidence that is provided, the more likely that partial credit will be given.

I drop the lowest quiz and the lowest homework grade.

Quizzes 15% (lowest quiz grade dropped)
Homework 30% (lowest HW grade dropped)
Midterm 25%
Final exam 30%

"Extra Work"

There are always some students who ask about doing "extra work", usually near the end of the semester. Students sometimes even say "do extra work for you". First of all, I do not expect students to work for me; I do my own work. I expect students to work for themselves.

I do want students to work hard, and I even hope that they will do "extra work" above and beyond the assigned homework, but I cannot really assign grades on "how much work" a student does or "how hard" a student works. To do so would involve a level of subjectivity completely inconsistent with my goal of objectivity and total fairness in how I deal with students in this class.

So, if you take this course, please keep up with the work, and if you find yourself falling behind, do something about it immediately. This may mean doing "extra work", but please don't ask for an adjustment in your grades based on "extra work".


Students with disabilities who need academic accommodations, please see the instructor and contact the Office of Disability Services (ODS) at 993-2474. All academic accommodations must be arranged through the ODS: http://ods.gmu.edu/.

George Mason provides Counseling and Psychological Services (CAPS) for students. Contact them at (703) 993-2380 or http://caps.gmu.edu/.

Academic Honor

Each student enrolled in this course must assume the responsibilities of an active participant in GMU's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. The GMU policy on academic conduct will be followed in this course.

Collaborative Work

In this class, students are free to discuss homework problems or other topics with each other or anyone else, and are free to use any reference sources. Group work and discussion outside of class are encouraged, but of course explicit copying of homework solutions should not be done.

Note that other classes at GMU may have different restrictions on discussions among students relating to homework and course content.



The details of the schedule will evolve as the semester progresses.

January 20

January 22

January 27

More on binary representation of numbers:

January 29

February 3

February 5

February 10

February 12

February 17

Class cancelled due to weather.

February 19

February 24

February 26

Class cancelled due to weather.
  • Quiz on matrices in Matlab.
  • Matlab: syntax, operators, help

    March 3

    March 5

    Class cancelled due to weather.
  • Midterm Exam. Closed book/notes/computer.

    March 10 and March 12

    No class; spring break.

    March 17

    Midterm Exam. Closed book/notes/computer. Grades:
    90 - 100 : 18
    80 - 89 : 11
    70 - 79 : 5
    60 - 69 : 8
    below 60 : 2

    March 19

    March 24

    March 26

    March 31

    April 2

    April 7

  • Random number generation in Matlab and Monte Carlo applications.
  • Homework 11. (Due April 14)

    April 9

  • Discuss functions (HW10)
  • Simple graphics in Matlab
  • More on random number generation in Matlab and Monte Carlo applications.

    April 14

  • Quiz (mostly on functions)
  • Scaling and translating geometric regions.
  • Homework 12. (Due April 16)

    April 16

  • Mathematical and computational models in science and engineering.
  • Homework 13. (Due April 21)

    April 21

    April 23

    April 28

    April 30

    May 5

    May 7

    May 12 (Tuesday) 10:30am-1:15pm

    Final Exam. Closed book/notes/computer.