11.01.2015 Views

EOSC 211 - Earth and Ocean Sciences, Department of

EOSC 211 - Earth and Ocean Sciences, Department of

EOSC 211 - Earth and Ocean Sciences, Department of

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!