Computer Science 145
If you wish, you may download a printable version of the original syllabus. However, all of that information is also on this web page and the web page will be updated as the course proceeds, whereas the printed syllabus will not.
"Elementary computer programming concepts with an emphasis on problem solving and applications to scientific and engineering applications. Topics include data acquisition and analysis, simulation, and scientific visualization."
The official prerequisite is to have taken or to be currently enrolled in Calculus I.
Please make sure to take advantage of office hours, as they offer a wonderful opportunity for individual interaction.
The material will be presented in three weekly lectures designed to be interactive. Attendance is expected and class participation is most welcome. These meetings will offer learning opportunities that cannot be recreated purely from readings. That said, for those who miss a lecture, information on the lecture topic can often be found on the course schedule web page.
With the exception of the first day's printed handouts, most of the information for this course will be distributed only by means of the course web page. This web site will contain all assignments, a schedule of lectures, detailed lecture notes and links to many other sources of information.
The web page contains some information (e.g. solutions, submitted assignments, individual grades) that is more sensitive and therefore which will be available to students in the class only after they have identified themselves properly. To gain access to these parts of the web page, a student must first complete the following online questionnaire, creating a unique identity and password.
All assignments for this course must be submitted electronically! The submission procedure will be done through the course web page, and allows students to submit from any computer connected to the Internet. Each student in this class will be selecting a unique username/password combination solely for use in identifying the student when using the course web page.
Details of the submission procedure are discussed on a separate web page.
Face-to-face contact in class and in office hours is most desirable. Yet email is a convenient form of communication as well. I try to respond to email promptly, including at least once each evening when possible.
If your question involves your progress on a current programming assignment, my response will be more informative if you can point out the specific problem you have encountered, and if I am able to see all of your source code. Therefore I strongly suggest that you either attach all relevant files to the email or submit preliminary versions of such files through our online system.
There will be a series of programming assignments throughout the semester, weighted appropriately. The assignments will be submitted electronically and generally due at 11:59pm on the assigned due date.
You will note that almost half of your course grade is being determined by these assignments. This reflects the great amount of time and effort that you will be putting forth in completing these assignments. When completing this work, please respect the policy on Academic Integrity as given below.
Assignments will generally include a small extra credit challenge. Please notice, however, that the actual extra credit given for these challenges is relatively insignificant. Students who are seriously concerned about improving their overall grade would be best advise to focus all efforts on doing as well as possible on the required work and in preparing for exams.
Our true reason for including these opportunities is to provide some fun and encouragement for students who wish to dig a bit deeper than was required in an assignment. For those students, the chosen extra credit challenges provide a good next step.
Letter grades will be based on each student's overall percentage of awarded points according to the following formula.
Students are expected to have read and abide by the University statement on Academic Integrity available on page 58 of the Saint Louis University's Undergraduate Catalog. A more detailed policy statement is given by the College of Arts & Science, also applying to this course.
In addition to those general statements, we wish to discuss our policy in the context of this course. When it comes to learning and understanding the general course material, you may certainly use other reference materials and you may have discussions with other students in this class or other people from outside of this class. This openness pertains to material from the text, practice problems, general syntax and use of the C++ language or other computing tools.
However, when it comes to work that is submitted for this course, you are not to use or to search for any direct or indirect assistance from unauthorized sources, including but not limited to:
Acceptable sources of information include consultations with the instructor, teaching assistants, or members of organized tutoring centers on campus, as well as any materials explicitly authorized in an assignment. Even in these cases, if you receive significant help you should make sure to document both the source of the help as well as the extent.
On certain programming assignments, we will explicitly allow students to work in pairs. In this case, conversations between partners is both permissible and required. Furthermore, both students are expected to contribute significantly to the development of the submitted work. It is unethical to allow a partner to "sign on" to a submission if that partner did not significantly contribute to the work.
Any violations of these policies will be dealt with seriously. Penalties will apply as well to a student who is aiding another student. Any such violations will result in a minimum penalty of a zero on the given assignment that cannot be dropped, and severe or repeated violations will result in an immediate failing grade in the course. Furthermore all incidents will be reported in writing to the Department and/or the Dean, as per the College procedure.
All exams must be taken promptly at the required time. Requests for rescheduling an exam will only be considered if the request is made prior to the start of the exam, or else in an "emergency" situation with appropriate documentation.
For both written and programming assignments, we wish to allow students to continue to work comfortably beyond the official deadline when a little more time will result in more progress, while at the same time discourage students from falling significantly behind pace and jeopardizing their success on future assignments. Our solution is the following exponentially decaying late formula (some have suggested that we should offer extra credit to anyone who fully understands this formula).
We will consider an assignment submission "complete"
when any part of the assignment is last submitted or
modified. Any assignment that is not complete promptly by
its due date and time will be assessed a penalty based on the
The above policies will be waived only in an "emergency" situation with appropriate documentation.
In accordance with the Americans with Disabilities Act, reasonable accommodations may be made to assist a student with a documented disability.
Any student who feels that he/she may need academic accommodations in order to meet the requirements of this course, as outlined in the syllabus, due to presence of a disability, should contact the Office of Diversity and Affirmative Action. Please telephone the office at 314-977-8885, or visit DuBourg Hall Room 36. Confidentiality will be observed in all inquiries.
Our department employees many junior/senior computer science majors to help out in our department labs. Those students are also available to provide assistance with course materials at such times.
Our department web page maintains a current list of the available times and locations .
As stated in the section on Academic Integrity, these workers is an acceptable resource for help, yet you should still document both the source of the help as well as the extent, if significant.
The primary programming language for our course will be MATLAB, which is commerical software for mathematical computing sold by MathWorks. You may use it in one of four ways:
SLU has an educational license making MATLAB available in our classroom as well as most of the computer labs in MDH.
The software is installed on the server for the Department
of Mathematics & Computer Science
(turing.slu.edu). It is found in the
A student license to install MATLAB on your personal computer can be bought for a reduced price (~$100).
You might instead choose to install the freely-available software known as octave. Although octave is not precisely a clone of MATLAB, it was developed to be compatible with the syntax and to support many of the same libraries and graphical capabilities. octave should suffice for working on projects in this course. The most convenient site for downloading and installing octave is http://octave.sourceforge.net/.