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 prerequisites are CSCI 210 (Data Structures), MATH 135 (Discrete Structures), and MATH 142 (Calculus I), or the equivalent.
|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. We will be placing a hardcopy of it on reserve in Pius library. Furthermore, SLU has an electronic subscription to the entire textbook that is available to all members of the SLU community. Here is a direct link to that electronic version. (SLU credentials required)
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; the instructor can provide the proper credentials.
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.
Course grades will be based on the following components:
There will be six written homeworks. Each homework will have 5 problems worth 20 points each, but only the best 4 of the 5 problem scores will count toward the grade for that homework.
Each of the six homeworks will contribute equally to this component of the overall course grade. Note that for one of the six homeworks, students will participate as part of a peer assessment team, and receive a grade based on the quality of that participation. (Details on peer assessment are given in the next section.)
The midterm exam will have a format similar to homeworks, however it will carry more significant weight and will be graded directly by the instructor.
The exam will take place Monday, December 15, 2014, 12:00-1:50pm.
Letter grades will be based on each students overall percentage of awarded points according to the following formula.
No late work will be accepted for any components of the graded work, unless presented with appropriate documentation of a truly extenuating circumstance. The final exam should be taken promptly at the scheduled time. Requests for rescheduling the exam will only be considered if the request is made prior to the start of the exam, and with appropriate documentation of a extenuating circumstance.
For this course, we will make use of an active learning process known as peer assessment, whereby a small team of students prepares model solutions and a grading rubric for each homework, and subsequently grades all students' homework submissions (anonymously). Every student in the class must take one turn participating as part of the evaluation team. The use of peer assessment will impact the procedures for the course in the following ways.
Please carefully read the following:
During the semester there will be 6 homeworks, designed as HW1 through HW6.
Each homework assignment will have 5 parts, denoted as A, B, C, D, and E. For example, the third part of the first homework might be designated as HW1, Part C.
Each student in the class will be assigned a three character "code name" (e.g., XML) to provide sufficient level of anonymity in peer assessment. Only that code name should appear on homework assignments.
When submitting a homework, it is important that the following procedures be strictly followed.
Homework is to be turned in at the beginning of class, on the assigned due date. No late homeworks will be accepted.
For each homework, a single cover page must be submitted with the following information:
STUDENT: <actual name> CODENAME: <code name> HW: <number> COLLABORATORS: <hw part, other names>Note well that collaboration will only be allowed in limited fashion as described in the syllabus.
As an example, a cover page (from many years ago) might appear as
STUDENT: Michael Goldwasser CODE NAME: XML HW: 1 COLLABORATORS: Part B - David Letscher Part C - Erin Chambers, Kevin Scannell
Each of the five parts of the homework must be submitted as a separate packet. If a packet has multiple pages, those should be securely stapled/fastened, but the packets should not be fastened to each other or to the cover page, as there will be a separate pile for turning in each part.
The top of the first page for each packet must include the following header:
CODENAME: <code name> HW: <number> PART: <letter>For example, student XML might have the following header for the third part of the first homework:
CODENAME: XML HW: 1 PART: C
More detailed information for those serving as peer evaluators will be provided in a separate document, once evaluation teams are formed. However, the most significant issues for the sake of planning are:
Each student must serve once as a peer evaluator. Please send email to the instructor with a first and second choice of which homework you wish to evaluate. The current list of available slots is shown here.
When you serve as an evaluator for a homework, you do not need to formally submit that homework as a student. However, there are other responsibilities:
Each member of the evaluation team will focus on one particular part of the homework.
During the two weeks when the class is working on the homework, the evaluator will work with the instructor to develop a model solution and a grading rubric.
In the one week that follows the submission of the assignment by the class, the evaluator will assess the submitted work, provide meaningful feedback on students submission, and assign a grade for the problem.
Note well that during the week just after the homework has been submitted, the evaluator must also be responsible for starting his or her own work on the subsequent homework assignment.
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.
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.
"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 each problem on the cover page submitted with the homework.
Peer evaluators serve a special role for a homework, but that role is not as a tutor for the rest of the class. Peer evaluators must refrain from all discussions about homework problems with those students who are submitting a problem for a grade.
Furthermore, our use of codenames for submitting homework is meant to provide sufficient anonymity in the evaluation process. It is expressly forbidden for students to disclose their codenames with each other, or for a peer evaluator to provide any form of favoritism in the assessment of another student's submitted work.
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.