ATSC 212
Earth & Atmospheric Science Intro Computing Lab
Syllabus
Week (Instructor): Topics
- no class (see CPSC 189 instead)
- no class (see CPSC 189 instead)
- no class (see CPSC 189 instead)
- no class (see CPSC 189 instead)
- no class (see CPSC 189 instead)
- (RS & GH):
Welcome & Unix,
computing lab environment, user access, security, ethics and
responsibilities of programmers, programming style and guidelines
(e.g., adding comments to code), good programming practices, language
diversity (imperative vs.
OO), reading assignments, syllabus, access to help. Day 1:
Load key software onto student laptops. Day 2:
Unix/linux intro.
- (GH):
Unix/Linux
– shell, command line, manual, passwords, file manipulation, displaying
files, file permissions, searching files (grep), running
programs, environments, editors
(VI, emacs), pipes, I/O, aliases, remote access to computers, file
transfer, etc.
(Unix/linux will be used as the operating system to access many of the remaining
labs.)
- (RS):
FORTRAN-1
– Emacs editor. Bits, bytes, words, types, floating point, variables, arrays, conditionals, loops, I/O to screen,
libraries, logic. Program design, top-down programming, version control. Create and run program to plot soundings.
- (RS):
FORTRAN-2–
functions, subroutines, file handling, editing code, logic errors,
finding bugs, typical errors, pitfalls. Enhance the sounding
plotting program.
- (GH):
C-1
– more VI editor. Compilation, execution, structure,
syntax, types, variables, arrays, operators, conditionals, loops, functions, I/O. Write and run simple C programs.
- (GH):
C-2
-
pointers, dynamic memory allocation, comparison of C &
FORTRAN, calling C algorithms from FORTRAN programs. Test
with sample programs.
- (RS & GH):
Web authoring,
html, and php. Creating web pages with and without authoring
tools. Cascading style sheets. Modifying pages, methods to
find and
fix bugs. Coding in html.
- (RS, GH): php, and Pitfalls in Sci. Programming – Coding web pages using php. Pitfalls in scientific programming. Summary of good programming practices. Review.
NOT covered this term (because of CPSC 189 Python instead) are:
- (GH):
PERL-1 –
Scripting methods. Interpreters vs. compilers. Variables,
operators, conditionals, loops, I/O, calling system commands from
within PERL.
- (GH):
PERL-2 –
Scripting methods. Interpreters vs. compilers. Variables,
operators, conditionals, loops, I/O, calling system commands from
within PERL.
- (TN):
MySQL-1
– data bases types, relational data bases, storing and
retrieving data, organizing data efficiently.
- (TN):
MySQL-2
– writing FORTRAN or C programs to access the data base,
and/or writing a web interface to the data base.
Learning Goals. By the end of this course, you should be able to:
- use unix/linux,
web-page
creation, programming languages for numerical calculation.
- take numerical
problems, write them as a computer code, learn debugging methods, run
the code, and check the output.
- use good programming practices.
The aim is give you a skill set crucial for
success as a science undergrad student, grad student, and
working professional.
Course structure
Hands-on
lab in a computer
classroom.
During the two 75 minute face-to-face lab meetings
each
week, the instructor:
- teaches computing concepts, tools, and
programming methods;
- demonstrates those methods (using computer
projector) with the students following along on their
terminals;
- demonstrates good programming practices, typical programming
mistakes and how to debug the
code;
- assigns focused exercises to be completed during the lab
period;
- assigns homework computing assignments that they do on
their own as drop-in lab users or from their home computers; and
- assigns readings before each new topic.
Normally, the
instruction will be completed during the first hour each lab day, with
the remaining time each day available for the student to start on the
assigments while the instructors and TAs are still in the lab room to
answer questions.
.
Copyright © 2012 by Roland Stull and George Hicks II
UBC
.