Computer Science 314
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.
"Introduction to analysis and complexity of algorithms. Big-O notation. Running time analysis of algorithms for traversing graphs and trees, searching and sorting. Recursive versus iterative algorithms. Complexity, completeness, computability."
The official prerequisite is CSCI 180 (Data Structures) and MATH 143 (Calculus II) or the equivalent. MATH 135 is assumed as well, as it should have been taken with CSCI 180.
|Instructor:||Dr. Michael Goldwasser|
|Email:||goldwamh at our university domain|
|Office:||Ritter Hall 108|
The material will be presented in three weekly lectures. Though attendance in class is not explicitly required, it is certainly expected. Lectures are designed to be interactive 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.
The text should be available through the campus bookstore as well as various online book vendors.
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) which 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.
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.
We expect there to be a total of 10 homework assignments during the course, which will include a mix of written solutions, oral presentations, and perhaps one or two algorithm implementations. Unless otherwise specified, all assignments will be equally weighted. At the end of the semester, we will ignore your lowest of the homework grades, with the remaining assignments contributing equally to this portion of the grade. Policies on collaboration, academic integrity, and late assignments are outlined later in this document.
Homeworks 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 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.
Letter grades will be based on each students overall percentage of awarded points according to the following formula.
"Work entirely on your own."
You should not discuss such problems with anyone other than the instructor, nor should you search for direct or indirect assistance from any outside references.
"You may discuss ideas with other students."
Our philosophy is that there are two distinct stages in working on each problem. First is reaching a point where you understand how to solve the problem, and second is formally writing up your solution in a clear way for a reader to understand.
For problems where we allow collaboration, you are only allowed to collaborate on the first of these stages. Discussions with your peers are very helpful in understanding new material, and working through the puzzle of a new problem. You may therefore feel free to discuss with classmates general ideas, approaches, examples or stumbling blocks while trying to understand a homework problem.
However, when it comes time to write up your solutions, you may not discuss this in any way with others, nor may you use anyone else's written solution as a guide. Our goal is that you will eventually be able to understand the problem so clearly that you are then able to lock yourself in a room with a blank piece of paper and produce a clear written explanation of your solution.
When you do collaborate with classmates, you must work in groups of at most four students, and must write the names of all collaborators for that problem at the beginning of your solution.
Students are expected to have read and abide by the University statement on Academic Integrity as stated in Saint Louis University's Undergraduate Catalog. A more detailed policy statment is given by the College of Arts & Science, which applies to this course as well.
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 and practice problems.
However, for work that is submitted for this course, you are not to use or search for any direct assistance from unauthorized sources, including but not limited to:
Acceptable sources of information include consultations with the instructor, 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.
As outlined in the previous section on Collaboration, certain homework problems will be clearly designated with the disclaimer that "You may discuss ideas with other students." Those discussions are authorized, but they must still be cited and as described in the previous section, each individual must still author his or her own writeup of any solutions.
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 which 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 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 which 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 recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. Students who think they might benefit from these resources can find out more about:
Students who believe that, due to a disability, they could benefit from academic accommodations are encouraged to contact Disability Services at
Course instructors support student accommodation requests when an approved letter from Disability Services has been received and when students discuss these accommodations with the instructor after receipt of the approved letter.