CDS 101/110 Midterm Information

Because the it is a limited time exam, the midterm must be picked up in hardcopy. The exam will be made available at 3 pm on Wednesday, 30 October, in class. After class, the exam can be picked up outside 102 Steele.

Midterm Instructions (draft, 26 Oct 02)

The following information is printed on the cover sheet for the midterm. It is provided here for students interested in knowing the format of the exam and what materials you can use in taking the exam. The informaiton here is in draft form and may be updated. The printed copy of the exam should be consulted for the final instructions.

The exam consists of four questions, worth a total of 80 points. The point values for each section are shown on the right. The time limit is 3 hours, in one sitting. Budget your time to complete as much of the exam as possible. If time does not permit a complete answer, indicate how you would proceed as explicitly as possible.

The exam is open book. You may use any of the optional texts (Friedland, Franklin-Powell and Emami-Naeni, Leonard and Levin, or Kuo), course handouts, lecture and class notes, course problem sets and solutions, and your own handwritten notes. No other books are allowed. You may use a computer or calculator for carrying out numerical computations. MATLAB may be used but is not required. You are not allowed to use the Internet during the exam (except for accessing local computing resources, such as MATLAB/SIMULINK), but you may download or print out copies of presentations, notes, FAQs, or other material posted on the course web site (CDS 101 or 110). You are not allowed to print out contents of other sites for use while taking the exam (although you can take handwritten notes on the sites and use your own notes in the exam).

The exam is due by 5 p.m. Tuesday, November 5, in the box outside 102 Steele. Please write your solutions in a fresh exam book (blue book). We have to grade a large collections of exams in a short time and it makes things much simpler to manage if everyone uses a bluebook.

Please note that students in CDS 101 and CDS 110a/ChE 105 are required to answer different sets of questions (or portions of questions), depending on which course you are taking. Please be careful to answer only the questions for the course you are taking. No additional credit will be given for solutions provided to questions that are not for the course you are taking. Questions with no indication of the course should be answered by all students.

Frequently asked questions about the midterm

#!/usr/bin/perl # -*- perl -*- # # htdbsearch.cgi - search for matching files in a database directory # RMM, 16 Mar 97 # # This CGI script searches the description files in a directory for a # against a set of criteria # # This script should be called as # # http://machine/path/htdblist.cgi? # or # http://machine/path/htdblist.cgi?db=&args # # where is the name of the configuration file that defines # all of the information needed to generate the listing. The optional # arguments are: # # _count=NN only list the first NN entries # _tight=1 use tight listing # _ssi=1 don't print header, trailer info (for includs) # # Include the necessary libraries require "cgi-lib.pl"; require "htdblib.pl"; # Parse script arguments if (&htdbinit) { # If the form contains some values, use them to search, and return # the results. if ($in{'_dbconfig'}) { # Generate the context header for the browser print &PrintHeader; # Print out the introductory information for search if (defined &SearchHeader) {&{$SearchHeader}($DBName);} # Summarize the search that was performed $rsltheader = defined &ResultHeader ? \&ResultHeader : htdb::ResultHeader; &{$rsltheader}(%in) if (!$in{_ssi}); # Go through and look for matching files if (not &PrintMatches) { &PrintNoMatches if (!in{ssi}); } # Generate the trailer if (defined &dbtrailer) {$dbtrailer = \&DBTrailer}; if (not $dbtrailer) {$dbtrailer = \&htdb::DBTrailer;} &{$dbtrailer}($DBName) if (!in{ssi}); } else { # Check to see if there is a user function for printing the search form if (defined &SearchForm) {$searchform = \&SearchForm}; if (not $searchform) {$searchform = \&htdb::SearchForm;} # Print out the introductory information for search if (defined &SearchHeader) {&{$SearchHeader}($DBName);} # Print the search form &{$searchform}(%in); } } # # Subroutine for printing the matches that occured # sub PrintMatches { my ($num_found); # Go to the database directory and read the contents chdir $DBPath || die "Can't cd to $DBPath"; opendir(DIR, '.') || die "Can't open $DBPath"; @filenames = readdir(DIR); closedir(DIR); # Check to see if there is a user function for checking matches if (defined &CheckEntry) {$checkentry = \&CheckEntry}; if (not $checkentry) {$checkentry = \&htdb::CheckEntry;} # Check to see if there is a user function for parsing filenames if (defined &ParseFname) {$parsefname = \&ParseFname}; if (not $parsefname) {$parsefname = \&htdb::ParseFname;} # Check to see if there is a user function for printing the entry if (defined &PrintEntry) {$printentry = \&PrintEntry}; if (not $printentry) {$printentry = \&htdb::PrintEntry;} # Check to see if there is a user function for printing the entry if (defined &TightEntry) {$tightentry = \&TightEntry}; if (not $tightentry) {$tightentry = \&htdb::TightEntry;} # Open the list environment used for the results # Print the command to generate a list of elements print ($in{_tight} ? "

\n" : "\n"); return $num_found; } # # Subroutine for alerting the user that no matches occured # sub PrintNoMatches { print "

No matches found

\n"; print "Sorry, no entries match your request. "; print "Please choose some different parameters and try again.

\n"; print $footer; }