Syllabus for CS1510, Design and Analysis of Algorithms, Fall 2006. 

Basic information

 

Textbook: Foundations of Algorithms using JAVA pseudocode, by Richard Neapolitan and Kumarss Naimipour, latest edition.

 

Prerequisites: The official prerequisites for this course are CS1501, Algorithms Implementation, and CS1502, Formal Methods in Computer Science, but this will not be enforced.  However, students who have not taken these courses are likely to find the course content difficult.  If you are will to work hard to overcome any difficulties, you are welcome to take the course.  Basically, the required skills for the course include an ability to understand algorithms without attachment to a particular programming language and an ability to recognize a valid mathematical proof and an ability to construct one.  The ability to understand algorithms is usually attained when one has enough programming skills.

 

Goals: The goal of this course is to develop skills for the following:

We will accomplish these by examining existing problems, algorithms, and proofs, and by creating ones ourselves.

 

Course content: By comparing CS1510 and CS1501, this course is a “theory course” and CS1501 is a “programming course”.  We will learn existing algorithms as well as design our own algorithms.   The discussion of algorithms will not be based on any particular programming language.  We will focus on arguments on correctness and running time of algorithms, not their implementations.  We will primarily work with paper and pencil rather than with computer and compilers.  We will cover the following topics:

 

 

Final grade: The grades will be based on effort and performance on exams, homework, and class participation.  The grading is NOT curved.  There is no set number of A’s, B’s, C’s.  Thus, the students are not in competition with each other for grades.  I will subjectively set the grading scale at the end of the semester.

 

To give you some idea about the grading scale, to earn a grade of C or better, a student must regularly attend and participate in class, make a good faith effort on the homework and on the exams.  The effort, not the exam scores will be used to determine the C grade.  To earn a grade of B, a student must qualify for the C grade and can do a good number of straightforward problems on the exams.  To earn a grade of A, a student must qualify for the C grade and can do most straightforward problems and some non-straightforward problems on the exams.

 

Homework: I will assign homework about once a week.  It is very important that you do the homework.  It is a chance for you to think about problems without time constraints, and this is when you develop your thinking skill.  I encourage you to discuss the homework with other students.  However, you must write the answer individually and indicate with whom you work.

 

The homework will be graded by the TA on a 2-point scale.  Two means the homework looks reasonable.  One means some insight is demonstrated.  Zero means no insight is demonstrated.  The score of 2 does not mean that your answer is correct.  It means that the TA did not find any obvious mistake in a brief inspection.  No late homework will be accepted.

 

Exam: There will be 2 exams.  The exams will be in-class, close-book, close-note, and no notes will be given to you in the exam.  Some questions will be variations of problems on the homework or ones discussed in class.  To be able to answer these questions, you will need to understand algorithms for the original problems and how to modify them.  I cannot emphasize enough that problem solving skills are something that gradually develop over time.  You develop these skills when you work on problems.  So it is very important that you do the homework.

 

In an extreme circumstance where you are going to miss an exam, you must contact me or the department secretary as soon as possible.  My number is 412-624-8416, email: .  The department secretary’s number is 412-624-8490.

 

Academic Integrity: All students must adhere to the University’s guidelines on academic integrity (http://www.pitt.edu/~provost/ai1.html).  Extreme measures will be used for all students involved in a violation of academic integrity.

 

If you have any questions about anything about the course, please send me email or come to see me.