Go to USC home page USC Logo Computer Science & Engineering
UNIVERSITY OF SOUTH CAROLINA
CSE Home Page | CSE Research | CSE Site Map | CSE Faculty
CSCE 206
Scientific Applications
Duncan A. Buell
Professor and Chair
Department of Computer Science and Engineering
University of South Carolina
Columbia, SC 29208
3A01 Swearingen Engineering Center
buell in domain cse.sc.edu
803-777-2880(voice)
803-777-3767(fax)
Office hours: 1:00-2:30pm M-W (tentative)
grizzlefarb
CSCE 206 web page

Class meeting time: MW 2:30-3:45, SWR 2A19

Office hours: MW 1:00-2:30, SWR 3A01 (tentative)

This URL is www.cse.sc.edu/~buell/csce206/csce206_2005_1spring.html

My home page is www.cse.sc.edu/~buell/Home.html


The graduate assistant for this course is

Caveat


This page is likely to be under changing throughout the semester as assignments and notes are added to it.

Text

Hanly and Koffman, C Program Design for Engineers, 2d ed., Addison-Wesley, 2001.

Other References

  • There are some links further down in this web site that include tutorials and other relevant material. There are also a number of FAQ and tutorial links on the CSE departmental web server; for these, you should log in to the "Student and Faculty Login" link off the home page and follow the links to the resources about software. You could also go directly to the department's secure web server and follow the links from there to the information about computing resources.
  • Kernighan and Ritchie, The C Programming Language, Prentice-Hall.
  • Kochan, Programming in ANSI C, SAMS Publishing.
  • An online C Programming Course
  • A set of C Programming Notes
  • An online vi tutorial

Email

There is a CSE department email list for CSCE 206, namely csce206-001 in the domain cse.sc.edu. This alias sends email to the CSE departmental login userid@cse.sc.edu that you get with this course. A mass mailing to the entire class will be done through this mail alias csce206-001. Actually, any of you can send mail to this alias. It's just csce206-001 in the domain cse.sc.edu.

The mail alias of the previous paragraph sends mail to the CSE departmental login that you get with this course. You are responsible for reading mail sent to this account. You can set the dot forward file (via the secure web server service for this purpose) to any other account you wish, whether it be an engr.sc.edu, gwm.sc.edu, yahoo.com, or similar account, but you are responsible for reading the mail that gets sent to your cse.sc.edu account.

If you send me an email from some other account, then I will respond to that email with the "Reply" button. However, if I have to initiate an email to you, I will not use any account other than the CSE departmental account. This includes the engr.sc.edu or any other USC accounts. To repeat: I will initiate mail to you individually only at userid@cse.sc.edu. I will not initiate email to you directed to any other account you may have.


Outline, Prerequisites, and Expectations:

The hoped-for goals of this course are that students should leave it with the following basic knowledge:
  • how to create and understand programs in the C programming language;
  • how to do basic numerical computing for scientific or engineering applications;
  • how to know that the numerical inaccuracies and similar complexities arising from the finite wordlength of a computer will negatively affect the correctness of a program's output;
  • how to know whether a program is likely to be "fast" or whether the time to completion could be a problem.
Programming for this course will be done on Unix machines in the Department of Computer Science and Engineering. Access to these machines can be had from the nine college computer labs (244 and 361 Sumwalt, 1D11, 1D15, 1D29, 3D22, Swearingen, B201-B202, B205, B211-B212 Main) or using a secure login procedure (SSH) from any other computer. This means that you would be able to access the compilers from home- or dorm-based computers provided you install the acceptable secure login software. One of the reasons for using this programming environment is to ensure that accessibility is maximized and that all students can get the same environment on which to program.

Tests and assignments

There will be two exams and a final exam during the semester. The midterm is presently scheduled for 16 Feb 2005, timed so that you can get back your exams just before the 21 Feb 2004 deadline to drop without receiving a WF grade.

The second exam will be scheduled for an appropriate date about two-thirds of the way through the semester.

The final exam is scheduled for Tuesday, 3 May 2005, at 2:00 pm.

Both the midterms and the final exam will be closed book exams.

The quiz/participation grades will be done as follows. You are expected to read the scheduled material prior to coming to class. You are expected to come to class on time. At random intervals, I will either assign short quizzes at the beginning of class or will call upon an individual. I will arrange the class roll so that everyone on the roll will be called upon at least once during the course of the semester. If I call upon you, and you are not there or are late for class that day, you will lose that fraction of the potential quiz/participation grade. A quiz will not be given to students who are not present at the time I begin to hand it out.

Click here for the programming assignments page for this course.

Click here for the sample programs page for this course.


Grading scheme

The final grade will be computed on the basis of the weighted average of the scores for

  • quizzes and participation (10%),
  • the two exams (20% each),
  • the programming assignments (30%),
  • the final exam (20%).

The final grades will almost certainly be curved, but you should expect no lower a grade than you would receive under the usual 90/80/70/60/50 scheme.


Lecture notes, slides, and pointers

(Caveat: Any lecture notes I prepare may well change during the lecture process; if you print them too early and too often you may use up your print quota.)

Note: The lecture notes that I prepare with Latex are done to fit the screen. In order to make maximal use of screen space, I have moved text into the margins of the page, and I have not been able to find a way to print the text that is in these margins. I include the postscript versions of these slides because they seem to display better on the screen (at least on all my screens). If you wish to print hard copy, you should pull up the pdf version and then print after choosing the pdf print option that lets you adjust the print window to include the full slide.


Links to other sites


Deadlines

Programming assignments will have due dates. Unless otherwise specified, these will be turned in by the beginning of the class period on the due date. Late assignments will not be accepted without prior arrangement to accommodate truly extraordinary circumstances.


Academic Honesty

Assignments and examination work are expected to be the sole effort of the student submitting the work. Students are expected to follow the Code of Student Academic Responsibility found in the Carolina Community and should expect that every instance of a suspected violation will be reported. Students found guilty of violations of the Code will be subject to academic penalities under the Code in addition to whatever disciplinary sanctions are applied.

There seems to be a widespread misunderstanding of the concept of "your own work." In addition to the USC Code, some good sources of text for what is or is not acceptable behavior are the academic honesty policy statement from Harvey Mudd College, the policy statement from Professor Steven Huss-Lederman at Beloit College, and the text of part of the collaboration policy statement from MIT. You can expect your programming assignments to be checked against those turned in by other members of the class as well as code that I can find on the web. I expect the correlations between your work and that of others to be minimal.

A sample first-offense admission can be found at admission.


Proper Use of Computing Resources

Students are expected to be aware of the university policy on use of computing resources, including the Student Guidelines for Responsible Computing, as well as the college and departmental policies on proper use of computing resources. Every instance of a suspected violation will be reported. Students should be aware that neither the instructor nor the department are responsible for making alternative arrangements should improper use leading to revocation of access to departmental or college resources make it impossible for you to complete the programming assignments on time.


On the nature of academic work

Students might also find relevant an essay from a professor at Georgia Tech.