9.00 - 9.30 |
Overview |
- An overview of the important role of computing within
the different statistics programs and curricula,
- high-level perspective on how computing should be addressed
in the syllabi and curricula,
- the need for teaching statistical computing in a general
and intellectually rich manner rather than a sequence of
"how to"'s,
- the changing nature of statistical computing,
- what we hope to achieve in this workshop.
|
9.30 - 11.30 |
Programming Fundamentals |
- How to teach programming.
- Fundamentals of R
- getting started,
- help,
- search path,
- managing objects in the workspace.
- Graphics
- high-level plotting
- annotating plots
- graphics devices and formats
- graphics parameters par()
- lattice & grid.
- Environment and Tools for programming.
- editors - Emacs & ESS, tinn-R, Eclipse
- Directories/Folders, paths, binary file formats.
- Remote login - ssh, remote graphics, ...
- VMWare -
- Unix shells on Windows (cygwin)
- Data types
- Vectorized computations
- Subsetting
- with(), subset(), local()
- Functions, control flow
- Debugging strategies & tools
- Efficiency - common idioms, profiling.
|
10.30 - 10.45 |
Coffee Break |
|
11.30 - 12.00 |
Discussion: New Courses |
Participants present what they are
doing to introduce computing into their programs.
|
12.00 - 13.00 |
Lunch - on your own |
|
11.30 - 12.00 |
Discussion: Course logistics |
How do you organize a computing class? For example, what style of assignments to
give, how to use electronic bulletin boards, chat rooms, what kinds of course materials
to use.
|
13.30 - 15.30 |
Data Input & Output |
- Fundamentals
- Reading tabular data
- Reading subsets of large data
- Filtering with shell tools
- grep, cut, head, tail.
- redirection.
- Text manipulation
- Regular expressions
- Complex I/O
- Connections
- Non-rectangular data
- Other languages - sed, awk, perl, python.
- Binary formats
|
15.30 - 16.00 |
Reception/Snacks |
|
16.00 - 17.00 |
Developing Assignments |
- Goals of assignments.
- Sources of data and existing assignments.
- Working in groups or individually.
- Grading.
- Our experiences creating assignments.
- Summer school projects.
|