2014S004
From CDS 130
This is Sheng's CDS 130 course page. All of the information that you will ever need for this course can be found here or on a page linked to from this page.
Final exam: May 12th, 7:30 AM, IN Room 222.
1. Sunday, May 11th
2. Thursday, May 8th
 Integration
 Assign Homework#8 (due May 10th before midnight. Homework solution will be posted on May 11th).
 Sample Exam: media: 2014_final_sample.pdf
 Final exam study guide
 A help session will be held on Friday (May 9th), 2:003:30 PM, Exploratory Hall, room 1004.
 makeup quiz 1
 makeup quiz 2
3. Monday, May 5th
 Integration
 Note: The next class is on May 8th (makeup day for March 3rd) 9:00 AM
4. Wednesday, April 30th
 continue to cover A basic computer
 if statements
5. Monday, April 28th
 Logic Gates
 A basic computer
 Assign Homework#7 due next Wednesday (May 7th)
6. Wednesday, April 23rd
 inclass quiz (30 minutes) to cover images, plots and iterations. media: 2014s004_quiz2.pdf
 Logic Gates
7. Monday, April 21st
 Continue to cover Iteration
 Logic Gates
8. Wednesday, April 16th
 Continue to cover Iteration
 While loops
9. Monday, April 14th
 Continue to cover Iteration
 Continue to cover 2D Plots and graphs
 Two examples:
x = linspace(0, 2*pi, 100); y = sin(x); plot(x, y, 'r*') axis ([0, 2*pi, 1.5, 1.5]) axis square xlabel ('xlabel') ylabel ('sin(x)') text(4.0, 1.0, 'sin(x)', 'FontSize', 20, 'Color', 'y') hold on theta = pi/2; y = sin(x + theta) plot (x, y, 'g^') shg print dpng mypic.png
clear all; clc; x = [0, 1, 1, 0]; y = [0, 0, 1, 1]; fill (x, y, 'r') axis off axis equal hold on fill (x+1, y, 'g') fill (x, y+1, 'g') fill (x+1, y+1, 'r') theta = linspace(0, 2*pi, 7) x = cos(theta) y = sin(theta) fill (x +1 , y +1, [0.8, 0.6, 0.5]) fill (x*0.75 +1 , y*0.75 +1, 'w')
10. Wednesday, April 9th
 Continue to cover 2D Plots and graphs
 Iterations
 Code to draw circles
theta = 0:2*pi/60:2*pi; r = 1.0; x = r* cos(theta); y = r* sin(theta); for i = 1:60 plot (x(i), y(i), 'or', 'MarkerSize',20) plot (0.8*x(i), 0.8*y(i), '*g') hold on axis square axis off axis ([1 1 1 1]) drawnow pause(1) end
 Assign Homeowork#6 Due on
April 16th (Wed) before class.April 21th before class.
11. Monday, April 7th
 Matrices as images
 Shapes, Text and 2D Plots
12. Wednesday, April 2nd
13. Monday, March 31st
14. Wednesday, March 26th
 Midterm exam review ( answer key).
 A makeup exam is to be administered next Monday.
 Matrices in Matlab
15. Monday, March 24th
 Midterm exam (inclass, closedbook).
16. Wednesday, March 19th
 Arrays in Matlab
 Answer keys to previous homework assignments.
 A review for the midterm exam. study guide
17. Monday, March 17th
Announcements:
 A new date for the midterm exam is set on March 26th (Wednesday). (note the date has been revised!)
 The deadline for homework#4 is still on Next monday (March 10th), before 9:00 am.
18. Wednesday, March 5th
 Matlab
 formatting numbers
 input and display information
 Arrays in Matlab
19. Monday, March 3rd
 Class is cancelled due to inclement weather.
 Announcement: The due date for homework #4 is postponed to next monday (March 10th) before class.
20. Wednesday, February 26 th
 Encoding and Computer Memory.
 Matlab
 formatting numbers
 input and display information
 Arrays in Matlab
 Assign Homework#4, due on March 5th before class.
21. Monday, February 24th
 Matlab: Assignment and built in functions
 Encoding and Computer Memory.
22. Wednesday, February 19th
 Inclass quiz#1 (25 minutes).
23. Monday, February 17th
 Matlab: Assignment and built in functions
 Binary representation of negative numbers
 Announcement A 25minute inclass quiz will be given on Feb. 19th to test Binary Number Conversion and binary arithmetic.
 Powerpoint slides of the lecture notes can be downloaded from Blackboard.
 Assign Homework # 3 Due on February 24th before class.
24. Wednesday, February 12th
 Binary Arithmetic
 Binary representation of negative numbers
 Introduction to Matlab. Demo: anidemo.m
 Matlab: variable assignment and builtin functions in Matlab
25. Monday, February 10th
 Binary representation of numbers
 Binary addition
 Introduction to Matlab. Demo: anidemo.m
 Assign Homework # 2 due on next Monday, Feb. 17th before class.
26. Wednesday, February 5th
 Class cancelled due to inclement weather.

Binary representation of numbers 
Binary addition 
Introduction to Matlab. Demo: anidemo.m 
Assign Homework # 2 due on Wednesday, Feb. 12th before class.
27. Monday, February 3rd
 Binary representation of numbers
 Access the virtual computing lab at mason
 Introduction to Matlab
28. Wednesday, January 29th
 Overview of Computational Science (Introduction).
 cover Binary representation of numbers
29. Monday, January 27th
 I will go over the Syllabus.
 Give a broad overview of Computational Science (Introduction).
 Introduce MediaWiki.
 Assign Homework#1. Due on Feb. 3rd (next Monday) before class.
30. Syllabus
My syllabus is everything stated at Syllabus along with the following additions and notes.
30.1. Format
This is a threecredit course. Active learning techniques will be used during my lectures. After presenting a major concept I will pose a question which you will think about, discuss with your neighbor, and then possibly present your answers.
30.2. Evaluation
Each student will be responsible to cover the material taught in class, do the assigned homework exercises. There will be midterm and final exams. Class attendance will also be counted into their final grades (see below).
30.2.1. Composition of Final Grades
10% attendance and inclass quizzes
35% homeworks
25% midterm exam
30% final exam
Two of the exams are 2 ~ 2.5 hour quizzes given during lecture sessions, the last exam will fall during finals' week.
30.2.2. Final Letter Grades
Final letter grades will be determined by total weighted scores from the composition o the final grades. The approximate score breakdown will be:
90 and above  A 
8089.999  B 
7079.999  C 
5569.999  D 
Less than 55  Failing 
Note that these are the approximate score assignments: if your score falls at the border (e.g., between an A and B), your effort will decide the final grade: improvement over the course of the term; attitude in doing the problem sets; interactions with the lecturer during class etc.
30.3. Homeworks
 Are 35% of your grade!
 Weekly Homeworks. Assigned on Wedensday, due on next Wednesday before class
 Will partially work many difficult problems in class
 Most homeworks will be turned in electronically
 Late penalty = 20% if late by less than 7 days; 40% if more than 7 days late
31. Important Dates
 http://registrar.gmu.edu/calendars/2014spring/
 Midterm Exam: Monday, March 19th.
 Final Exam: Monday, May 12th
 No class: March 11th and 13th (Spring Break)
 Last class: Thursday, May 1st.
32. FAQ
32.1. Exactly what kind of problems will I be able to solve?
To get a taste of it, here are two examples students worked on later in the last semester Tumor  Antialias.
32.2. Am I qualified for this course?
If you are concerned with math, most likely you are qualified for this course, provided that you understand
 Trigonometry and Transcendental Functions
 Some mathematical concepts to simplify science problems
32.3. How much programming is needed?
There is no requirement on programming languages.
In this course, a highlevel computing language Matlab will be taught. Matlab is a powerful mathematical tool that offers a computing environment for numerical computation, graphics and visualization.
Students may access and use MATLAB without charge either on campus or from any computer with an internet connection. There are three ways to use Matlab at Mason:
 Via access to the virtual computing lab at Mason
 Matlab is installed on all computers in various computer labs on campus. Simply log on, and there is Matlab.
 Install Matlab on your personal computer. A $109dollar student version of MATLAB may be purchased atPatriot Computers.
Tutorials on accessing and using Matlab will be given to students as class progresses.
32.4. What if I have a question about homeworks and am having difficulty understanding the course content?
 My office hours will be held following each class or by appointment (hsheng@gmu.edu). My office is located in Research I, Room 225. Usually I will be available after class and would like to interact with students. I will grade your homeworks, exams, and quizzes. In general, I will be available to answer your questions by email. Over the semester, several tutoring sections will be held to work on difficult problems.
 Special announcements will be made through Blackboard, such as assignments, due dates, upcoming exams, tutorials, etc.
 A group page has been set up on Facebook. If you have a Facebook page, welcome to join the group.
32.5. Do we have a textbook for this course?
None. The course "Computing for Scientists" was newly approved as a general education course at GMU. It has been codeveloped by several faculty members at the CDS department. A wiki page ([1]) was created. There are five sections in Spring 2014. All course materials covered in the current section can be obtained from http://cds130.org/2014S004.
The wiki page was designed to facilitate student interaction and to fulfill the IT requirements.
32.6. Draft Schedule
(Red links are for pages that are not complete)
 Week 1: Course Introduction, Syllabus and course logistics,Entry survey,Introduction to MediaWiki, Screenshots
 Week 2: Binary representation of numbers,
 Week 3: Binary addition, Computing_Limits
 Week 4: Binary_Arithmatic, Binary_representation_of_negative_numbers
 Week 5: Assignment, Matrices,
 Week 6: Transistors, Logic_Gates,A basic computer.
 Week 7: Midterm review, midterm exam
 Week 8: Break*
 Week 9: Images_as_matrices
 Week 10: Plots_and_graphs Iteration
 Week 11: Nested_For_Loops, If_Statement* Week 12:
 Week 13: Numerical_Integration
 Week 14: Polulation growth
 Week 15: Final exam review
 Week 16: Final Exam (date TBD).