EOSC 211 - Earth and Ocean Sciences, Department of
EOSC 211 - Earth and Ocean Sciences, Department of
EOSC 211 - Earth and Ocean Sciences, Department of
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>EOSC</strong> <strong>211</strong>-2012 Syllabus SYLL-1<br />
<strong>EOSC</strong> <strong>211</strong> - Computer Methods in <strong>Earth</strong>, <strong>Ocean</strong>, <strong>and</strong> Atmospheric <strong>Sciences</strong><br />
Mathematical computer-based problem solving in the physical, chemical,<br />
<strong>and</strong> biological sciences. Problems drawn from studies <strong>of</strong> the earth, the<br />
oceans <strong>and</strong> the atmosphere.<br />
Schedule<br />
Lectures: <strong>Earth</strong> <strong>Sciences</strong> Building room 2012, Tuesday/Thursday, 11:00-12:30,<br />
Labs: EOS-Main Room 203 <strong>and</strong> 210. Either Tuesday 14:00-16:00, OR Wednesday 12:00-14:00.<br />
Instructors<br />
Lead instructor, administration: Pr<strong>of</strong>. Rich Pawlowicz (<strong>of</strong>fice:Copp 3207, tel: 822-1356, email:<br />
rich@eos.ubc.ca)<br />
Co-instructor: James Ferguson (<strong>of</strong>fice: EOS-South 354, email: jferguso@eos.ubc.ca)<br />
TA: Camilo Rada ( email: camilo@rada.cl)<br />
TA: Andrew Snauffer ( email: asnauffer@eos.ubc.ca)<br />
TA: Aaron Jordan ( email: Jordan Aaron49@hotmail.com )<br />
Web Page<br />
http://www.eos.ubc.ca/courses/eosc<strong>211</strong>/eosc<strong>211</strong>.htm<br />
To access syllabus, labs, <strong>and</strong> solutions: Username “eosc<strong>211</strong>”, password “12”. Note that material<br />
is continually added through the term, so get used to going here a lot.<br />
Note - Connect is used for h<strong>and</strong>ing in stuff, but not for giving out stuff!<br />
Purpose<br />
Modern earth sciences increasingly rely on computers. They are used to automate the gathering<br />
<strong>of</strong> data, <strong>and</strong> can h<strong>and</strong>le much <strong>of</strong> the drudgery involved in its processing. In addition, they can<br />
be used to easily <strong>and</strong> quickly create sophisticated visual presentations (graphs <strong>and</strong> figures) that<br />
can be used to explore <strong>and</strong> display relationships. However, as with all tools, getting best results<br />
requires an underst<strong>and</strong>ing <strong>of</strong> the tool’s strengths <strong>and</strong> limitations, <strong>and</strong> the techniques for using it.<br />
Practise (lots <strong>of</strong> it) also helps! The course-level learning goals are:<br />
1. Students will write computer programs to model <strong>and</strong> analyze data in the solid earth, atmospheric,<br />
<strong>and</strong> oceanographic sciences. Examples include:<br />
subsampling global gridded datasets
<strong>EOSC</strong> <strong>211</strong>-2012 Syllabus SYLL-2<br />
This requires:<br />
calculating mathematical functions like the atmospheric equation <strong>of</strong> state<br />
parameter estimation using visual curve fits<br />
creating running window operations for time series<br />
automatically creating statistical summary reports for datasets<br />
performing numerical integrations in one dimension<br />
2. Breaking problems into logical steps using flowcharts <strong>and</strong> pseudocode to specify algorithms.<br />
Concepts include:<br />
Operation, repetition, decision <strong>and</strong> input/output steps<br />
Basic elements <strong>of</strong> computer mathematics<br />
3. Writing <strong>and</strong> debugging MATLAB computer programs to correctly implement algorithms.<br />
Basic MATLAB syntax <strong>and</strong> data structures.<br />
Debugging strategies<br />
4. Modifying existing MATLAB computer programs, using the elements <strong>of</strong> good programming<br />
style, to make it more efficient, readable, <strong>and</strong> documented for future reuse. Concepts:<br />
naming conventions<br />
appropriate forms <strong>of</strong> syntax for different kinds <strong>of</strong> loops <strong>and</strong> decision<br />
structures<br />
modularization using functions<br />
use <strong>of</strong> built-in functions<br />
code reuse<br />
commenting <strong>and</strong> st<strong>and</strong>ard documentation practices<br />
vectorization <strong>of</strong> loop operations<br />
5. creating scientifically informative <strong>and</strong> visually appealing plots (scatterplots, time series,<br />
contours, multiple subplots, legends). Applications:<br />
data exploration during analysis<br />
student presentations <strong>and</strong> assignments in upper-level <strong>EOSC</strong> courses.<br />
Pre-requisites<br />
Basically, a computer is a tool for for performing mathematical operations. This course will<br />
require a knowledge <strong>of</strong> math at the level <strong>of</strong> integral <strong>and</strong>/or differential calculus. Linear algebra<br />
would be helpful.<br />
Costs<br />
This course will require access to MATLAB, which can be purchased from the UBC bookstore<br />
(or online from www.mathworks.com) by students for their personal laptops, or is available<br />
in the <strong>EOSC</strong> computer lab on payment <strong>of</strong> the annual lab account fee ($25).
<strong>EOSC</strong> <strong>211</strong>-2012 Syllabus SYLL-3<br />
To get an account: go to Carol Leven (<strong>Earth</strong> <strong>and</strong> <strong>Ocean</strong> <strong>Sciences</strong>/<strong>Ocean</strong>ography Office, Room<br />
2604 on the main floor <strong>of</strong> the COPP building, 2146 Health <strong>Sciences</strong> Mall). Pay her $25 (exact<br />
cash only) <strong>and</strong> she will give you an account. You must do this Monday or Tuesday BEFORE the<br />
first lab. Come between the hours <strong>of</strong> 10-11:45am, or 2-3:30pm.<br />
Textbooks<br />
Required reading: “Problem Solving Using MATLAB - <strong>EOSC</strong><strong>211</strong>” (Custom text, ISBN<br />
9780558883409, available UBC bookstore). We shall be following this text fairly closely. Note<br />
that this text has been used in previous years, BUT for unfortunate reasons the PAGE NUMBERS<br />
<strong>of</strong> the current version are different than those printed under a previous ISBN.<br />
Additional material: The most useful additional sources <strong>of</strong> material are the MATLAB help<br />
pages <strong>and</strong> you should become familiar with these.<br />
Suggested reading: ”Mastering MATLAB” by Duane C. Hanselman <strong>and</strong> Bruce L. Littlefield<br />
Prentice Hall, (2012 or earlier editions). This text is a very good reference for MATLAB (with<br />
far more detail <strong>and</strong> a wider range than the required text), but it assumes some existing knowledge<br />
<strong>of</strong> computer programming <strong>and</strong> linear algebra.<br />
Logistics <strong>and</strong> Evaluation<br />
The Tuesday lecture will be used to introduce concepts relevant to the lab. The Thursday lecture<br />
will be used partly as a “lab wrap-up”, <strong>and</strong> partly to introduce new material (varies from week to<br />
week).<br />
The course is roughly divided into two parts. The first 8 full weeks are mostly based around labs.<br />
However, at the end <strong>of</strong> the course you will be given larger, more complex “assignments”. In<br />
the middle part <strong>of</strong> the term there are a few weeks that have both labs <strong>and</strong> assignments (THESE<br />
OVERLAP WEEKS HAVE HIGHER WORKLOAD).<br />
There are 8 labs (none in week 1). Generally the result <strong>of</strong> the labs will be a piece <strong>of</strong> code which<br />
will be submitted electronically <strong>and</strong> “run” by the instructor. Marking for labs will be on the basis<br />
<strong>of</strong><br />
“Satisfactory” (100%)<br />
“Some problems” (80%)<br />
“Major problems” (50%) - non-running code is in this category<br />
“Not submitted” (0%) - not seriously submitted also in this category.<br />
Labs are due (electronically) at 12:00 (noon) on Friday. You should anticipate spending more<br />
than the scheduled 2 hours to complete them, but during the two hour lab time slots both a TA <strong>and</strong><br />
a pr<strong>of</strong>essor will be there to provide advice <strong>and</strong> assistance. Labs build on each other so DON’T<br />
SKIP THEM.<br />
WARNING: the period for electronic submission ends EXACTLY at noon!!
<strong>EOSC</strong> <strong>211</strong>-2012 Syllabus SYLL-4<br />
In addition to labs, there are also 3 two-week assignments. Assignments are due 16:00 on<br />
Wednesday afternoons <strong>and</strong> will be submitted to the instructors mailbox (in the <strong>EOSC</strong>-Main<br />
<strong>of</strong>fice) in HARD COPY. Emailed documents will not be acceptable. Assignments will be assigned<br />
a letter grade on the UBC scale:<br />
A+ : all done correctly, no errors, nice pictures.<br />
A : one small error, pictures OK.<br />
B : One large or several small errors, sometimes with + or - added to give an idea <strong>of</strong><br />
severity <strong>of</strong> errors, figures reasonable but probably not as nice as they could be.<br />
C : Several large errors, parts <strong>of</strong> assignment not done, figures misleading or incorrect.<br />
D : Many errors, parts <strong>of</strong> assignment not done<br />
F : Not h<strong>and</strong>ed in, not seriously attempted, other failings.<br />
Finally, there is a midterm (1.5 hour) <strong>and</strong> a final exam (3 hours). Both are OPEN BOOK, but NO<br />
ELECTRONIC AIDS are allowed. The best way to study for these is to do the worksheets, labs<br />
<strong>and</strong> the assignments.<br />
Both mid-terms <strong>and</strong> final exam are run in a TWO-PART format.<br />
PART 1 : Written as an individual, <strong>and</strong> h<strong>and</strong>ed in<br />
PART 2 : Mostly the same questions, but now worked on in a GROUP <strong>and</strong> h<strong>and</strong>ed in<br />
as a GROUP exam.<br />
If you pass the individual part (Part 1), then the final mark for the mid-term or the final exam is<br />
the sum <strong>of</strong> 80% Part 1 <strong>and</strong> 20% Part 2. If you fail the individual part, then your final mark is<br />
your Part 1 mark.<br />
Total marks for the course are divided as follows:<br />
Labs - 7 (2.86% each) - 20%<br />
Assignments - 3 (13% each) - 39%<br />
Midterm (Thursday week 7 - Oct 20, 2011)- 15%<br />
Final - 25%<br />
Pre/Post test - 1%<br />
However, this breakdown applies ONLY if you pass the final exam.<br />
If you fail the final exam, then the final exam mark is your final mark (that is, you will fail the<br />
course). This is to ensure that individuals are assigned a fair mark based on their learning.<br />
In addition, I may give additional bonus marks if you decide to h<strong>and</strong> in some other s<strong>of</strong>tware<br />
project.
<strong>EOSC</strong> <strong>211</strong>-2012 Syllabus SYLL-5<br />
Collaboration, Copying <strong>and</strong> Plagiarism Policy<br />
The purpose <strong>of</strong> the class is to learn a skill, <strong>and</strong> for many people it is beneficial to collaborate<br />
with others in order to do so. Past experience shows that working with others a) gets the work<br />
done slightly faster, b) tends to prevent getting “stuck”, c) makes the experience more enjoyable,<br />
<strong>and</strong> d) does not degrade learning outcomes, as long as all parties are contributing. However, it is<br />
possible to complete the course on your own.<br />
In class, we will assign you to small groups (4/5 people each) with which you will complete<br />
WORKSHEETS <strong>and</strong> class exercises. These groups will also be used for completing Part 2 <strong>of</strong><br />
the mid-term <strong>and</strong> final exam. Note - if you decide not to attend lectures, you will be placed in a<br />
’group <strong>of</strong> 1’ for the mid-term <strong>and</strong> final exam.<br />
During the labs, we will enforce a degree <strong>of</strong> collaboration using “pair programming” ideas, <strong>and</strong><br />
we will ask you to report the name <strong>of</strong> your partner. During the lab period you will work with this<br />
partner. Completion <strong>of</strong> labs tends to take extra time outside <strong>of</strong> the lab period; you can choose<br />
whether or not to work with your partner during those times. You are expected to TRUTHFULLY<br />
REPORT: a) the name <strong>of</strong> your partner(s), <strong>and</strong> b) the level <strong>of</strong> collaboration.<br />
Collaboration on assignments is allowed, but you are expected to TRUTHFULLY REPORT: a)<br />
the name <strong>of</strong> your partner(s), <strong>and</strong> b) the level <strong>of</strong> collaboration.<br />
Workload<br />
You are expected to read the text before class in order to be ready for worksheets. It is not<br />
necessary to read the labs before lab times, but you are welcome to do so (they tend to get posted<br />
the preceding evening). You are expected to work outside <strong>of</strong> scheduled lab <strong>and</strong> class hours. This<br />
class is considered by many to have a higher workload than many other classes, although there<br />
is a wide variation in times reported by students.<br />
Although some people may complete the labs in the time provided (2 hours), typically 3 or 4<br />
hours is required. If you need more than 6 please come <strong>and</strong> see an instructor or TA.<br />
In the 2nd half <strong>of</strong> the term you are given assignments that typically take about 14 hours to<br />
complete over two weeks, although there is significant variation in times reported (factor <strong>of</strong> 2).<br />
You can work on assignments during the scheduled lab period if you wish (TA’s are available at<br />
that time, as well as during TA-hour time slots).<br />
Finally, note this is a 2nd year class, <strong>and</strong> most students are in their 2nd year, with little background<br />
in programming. However, a small fraction are also registered in other years, <strong>and</strong> a small<br />
fraction has previous programming experience. Upper year students have no general advantage<br />
in their background, although they tend to be more efficient as they have usually attained more<br />
mastery <strong>of</strong> study skills. Obviously knowing how to program will let you go through ‘how to<br />
learn programming’ assignments much more quickly.