CSCI 333: Data Structures
and Algorithms |
||||||
| Learning
Objectives |
(1) Analyze an algorithm to determine its asymptotic complexity
(expected run-time behavior as the problem size grows).
(2) Design solutions to problems by using classical problem solving techniques such as divide-and-conquer, dynamic programming, and greedy algorithms. (3) Be able to apply appropriate techniques to find a solution to a problem when no efficient algorithm can be found (intractable problems). To solve intractable problems we will look at the techniques of backtracking and branch-and-bound. (4) Gain an intuitive understand of the concepts of computational complexity, intractability, and the theory of NP. (5) Fully understand recursion. (6) Understand standard abstract data types and their operations, and demonstrate their representations using pointers in C++. |
|||||
| Text | Foundations of Algorithms , by Richard Neopolitan and Kumarss Naimipour, Jones and Bartlett.2004. | |||||
| Instructor |
| |||||
| On-Line Resources |
| GNU GCC compiler |
| MSDNAA program for CSCI students with Visual Studio .NET |
| Java to C++ Transition Tutorial |
| C++ tutorial |
| C++ Templates Tutorial |
| Grading | ||
| Quiz Grades | 5 x 30 (lowest quiz dropped) | 150 |
| Assignment Grades | 6 x 25 | 150 |
| Class Work Grades | 38 x 3 (3 pts/class meeting with 3 excused absences) |
114 |
| Final Exam grade | --- | 100 |
| Total Points | --- | 514 |
Letter Grades: Letter grades are assigned based on the percentage of available points obtained by a student. 100% to 90% guarantees an A, 89% to 80% guarantees a B, and so on. The instructor reserves the option of relaxing the cut-offs for a letter grade in special circumstances.
Lectures: A roll is not taken, but students are expected to attend all class lectures. Failure to do so will impact the class work portion of your grade.
Exams: If you must miss an quiz due to illness you must email or telephone the instructor before the scheduled time and perhaps something can be arranged to avoid a zero for that quiz. Failure to notify the instructor prior to the scheduled time will produce an automatic zero for that quiz. Remember, your lowest quiz score is dropped when computing your class grade.
The programs that you write are your way of telling the instructor about your mastery of this course. Because this is a course about writing programs you are expected to take these assignments very seriously. Your programs must be clearly different than those turned in by others in the class (who are not in your group) and represent a unique and special effort on your part.