Computer Literacy Assignments

CSI 801


Lecture 1: Introductions and Basics

Learn these Unix Commands

cd ls mkdir rmdir pwd
cp mv rm
more cat head tail
man chmod

Use these Packages

vi mail/elm/pine Netscape

Assignment 1

Due September 5, 1996

Reading

Landau and Fink, pp. 1-35

Lecture 2: Algorithms and Data Structures

Learn these Unix Commands

cc f77 cpp
gcc g++
alias path source .cshrc
redirecting io piping echo env

Use these Packages

Emacs

Assignment 2

Due September 12, 1996

Reading

Landau and Fink, pp. 36-59, 179-224

Lecture 3: Simulations

Learn these Unix Commands

date echo stty
df du ps kill
tr split grep cut diff cmp wc

Assignment 3

Due September 19, 1996

Reading Assignment

Landau and Fink, pp. 60-64, 225-230

Lecture 4: Testing and Validation

Learn these Unix Commands

nslookup ping netstat
ftp telnet
kermit sx sz rx rz
tar

Assignment 4

Due September 26, 1996

Reading Assignment

Landau and Fink, pp. 65-97

Lecture 5: Numerical Methods

Learn these Unix Commands

sed awk if case sort

Use these Packages

Programming Unix Scripts

Assignment 5

Due October 3 , 1996

Reading

Landau and Fink, pp. 225-240

Lecture 6: Software Engineering

Use these Packages

Perl

Assignment 6

Due October 17, 1996

Write a Perl program which creates 5 html files containing the time they were created. The files should be named hw6-1.html, hw6-2.html, hw6-3.html, hw6-4.html, and hw6-5.html. All files should have an internal html title with the files name and a header with a <h1> filename </h1> inside, along with the date the file was created. Set the permissions so these files can be accessed through the web inside the perl script. Copy the perl script into a file named "hw6.html" with a few comments about how these commands worked.

Lecture 7: Midterm Exam

No new assignment



Lecture 8: Software Engineering II

Assignment 7

Due October 24, 1996

Write a C function that accepts a floating point arguments x1 and x2, and an integer argument n and then uses SGI's GL to plot sin(x) versus x for x = x1 to x2 by (x2-x1)/n. Your routine should check to see that x2 is greater than x1 and "return gracefully" if it is not. Test your routine with two or three choices of input values. Use
     #include  
     #include  
     #include  
     #include "aux.h"
For information on GL, see the README file in /usr/people/4Dgifts/examples/glpg, and the examples in the various chapter subdirectories. There are man pages for the individual functions (not the auxiliary functions, but the others):
     man  glClearColor
To compile and link, use something like
     cc $1.c -lgl_s -lc_s -o $1
Please the code you have written into a file called "hw7.html", with a short description of the code's function. Be sure to put in at least a few lines of documentation explaining how the code works.

Lecture 9: ODE's

Assignment 8

Due October 31, 1996

Look in the local info area for info on the Paragon, timewarp.

Use the Paragon to do two toy C programs that are in 
   /usr/share/examples/c

1. Make and run the "Hello world" program.

2. Make and run the program to multiply two 8 by 8 matrices.

Use the Paragon to do a toy Fortran program in 
   /usr/share/examples/fortran/pi

3. Make and run the program to calculate pi.


Lecture 10: PDE's

Assignment 9

Due November 7, 1996

  
Use Maple or Mathematic on the NeXT.  
  
1.  Solve the second-order ODE   
         y'' + 3y' + 2y = exp(-x)  
      (y'' and y' indicate derivatives wrt x)  
  
      Now solve the same ODE with the initial conditions  
         y(0) = 1 and y'(0) = 0  
  
      Plot the solution to the IVP over the range (0,8)  
   
2.  Consider the 3 by 3 Toeplitz matrix with elements a, b, and c.  
      (That is the matrix that looks like this:  
         a b c  
         b a b  
         c b a)  
  
      Invert this matrix.  
  
      Using Maple's solve() on certain expressions in the symbolic 
      solution you obtained, determine conditions for which the matrix
      would be singular.    
      (Hint to reduce your typing: you can use such things as %1 or %2
      to represent certain things.)  
  
3. According to Maxwell-Boltzman theory, the probability density of
      the velocity of a gas molecule is proportional to  
         (m/(k*T))**(3/2) * exp(-(m*v**2)/(2*k*T)) * v**2,  
      where v is the velocity, T is the absolute temperature, m is the  
      molecular mass, and k is Boltzman's constant.  
  
      Determine the mode of this distribution (the point where it 
      achieves its maximum value -- the "most likely" velocity) by
      determining the critical points (points where the first
      derivative is 0) and finding one of those whose second
      derivative is ...(positive or negative?).  Your solution is
      called the rms velocity.   
  
4.  Produce a 3-d display of the "Sidney Opera House"; that is, plot the   
      function  
        
            sqrt{ Gamma(0.01+ |x|) * J_0(y) * J_1(y) },  
         
      over the ranges x:(-6,6) and y:(-3,3),   
      where $\Gamma$ is the gamma function and $J_i$ is the Bessel
      function of the first kind, of order $i$.  (Use ?Bessel and/or
      ?inifcns to get more info about these functions in Maple.  Use
      ?plot3d also.)   
  
      Link this image into your Web page for this class.


Copyright John Wallin 1996. All rights reserved.
Last Modified : Thur Aug 29 12:31:00 EST 1996 <jwallin@gmu.edu>