|
|
|
|
|
|
|
CS310E01 |
|
Computer Algorithms |
|
Spring 2012 |
TIME & LOCATION: Wednesday, 5:00PM to 7:40PM, Room M103
REQUIRED TEXT: Foundations of Algorithms using C++ Pseudocode, Richard Neapolitan
and Kumarss Naimipour
REFERENCE TEXT: Not applicable
GOALS AND OUTCOMES:
1. Will be able to understand the running time of an algorithm
2. Will be able to calculate the running time of an algorithm
3. Will be able to understand how various sorting algorithms work
4. Will be able to understand how various searching algorithms work
5. Will be able to understand binary search trees and their basic operations
6. Will be able to understand how dynamic programming work
7. Will be able to understand how greedy algorithms work
COURSE SUMMARY AND SCHEDULE:
Analysis of algorithms: running time, master theorem. Sorting algorithms: quicksort, heap sort, merge sort, dynamic programming, graph algorithms, NP completeness. If time allows, other algorithms will be studied: cryptology, genetic algorithms.
WEEK OF
|
CHAPTER |
TOPICS (Tentative Schedule of
Topics) |
EVENTS |
|
|
1 |
Jan 11
|
1 |
Intro to algorithms; generalities; asymptotic notations; math foundations |
|
|
2 |
Jan 18 |
1 |
Summations; recurrences; algorithm running time analysis; |
|
|
3 |
Jan 25 |
2 |
Recursion. Divide and conquer: binary search, sorting, … |
Quiz 1 (Jan 25) |
|
4 |
Feb 1 |
3 |
More sorting algorithms |
|
|
5 |
Feb 8 |
3 |
Dynamic Programming |
Quiz 2 (Feb 8) |
|
6 |
Feb 15 |
3 |
Dynamic Programming |
|
|
7 |
Feb 22 |
3 |
Dynamic Programming - Midterm review |
Quiz 3 (Feb 22) |
|
8 |
Feb 29 |
|
Midterm |
Midterm (Feb 29) |
|
9 |
Mar 7 |
4 |
Greedy algorithms |
|
|
10 |
Mar 14 |
4 |
Spring break – no class |
|
|
11 |
Mar 21 |
5 |
Backtracking; DNA algorithms |
Quiz 4 (Mar 21) |
|
12 |
Mar 28 |
|
DNA Algorithms - Binary trees; binary search trees |
|
|
13 |
Apr 4 |
6 |
Binary Search Trees. Heaps – Heapsort – Branch and Bound |
Quiz 5 (Apr 4) |
|
14 |
Apr 11 |
7 |
More sorting algorithms |
|
|
15 |
Apr 18 |
9 |
Computational complexity: the sorting and searching problems |
Quiz 6 (Apr 18) |
|
16 |
Apr 25 |
|
Review for final exam |
|
|
17 |
May 2 |
|
Final exam |
|
Last day to drop a course with a W is March 16, 2012
|
PROFESSOR: |
Hervé Franceschi |
M202 |
X 3613 |
|
|
|
|
|
|
|
|
|
Software: C++ or Java; they can be downloaded free of charge from the web
Lab Facilities: C++ and Java are available in the Capitol-College lab
Getting Help: Please feel free to ask questions during
class as necessary. For additional help, visit me
during my office hours or by appointment, or call me at the above given numbers, or send me an email.
Office Hours:
|
DAYS |
HOURS |
|
Monday |
12:20PM to 1:10PM and 2:40PM to 5:00PM |
|
Tuesday |
12:20PM to 1:10PM |
|
Wednesday |
12:20PM to 1:10PM and 2:40PM to 5:00PM |
|
Thursday |
12:20PM to 1:10PM |
|
SEMESTER GRADES: |
Projects (2 or 3) |
20% |
<A: 90-100%> |
|
|
Quizzes (6) |
10% |
<B: 80-89%> |
|
|
Midterms |
25% |
<C: 70-79%> |
|
|
Final |
25% |
<D: 60-69%> |
|
|
Group Project |
20% |
<F: < 60%> |
|
|
|
|
|
|
|
Total |
100% |
|
Homework: There will be 2 or 3 individual projects, 1 group project; the individual projects must be completed individually. You must completely understand all work that you submit; you must be able to provide explanations for all work that you submit.
Assignments: As a general rule, all assignments must be completed to pass the course.
Late assignments : Loss of 11% per week late. Example : perfect assignment 3 days late = grade of 89
Very late assignments may be handed in with your final exam at the end of the semester for a
maximum grade of 40%.
QUIZZES: There are 6 quizzes total; you can drop your worst quiz grade (i.e. only your 5 best quizzes
will count). No make ups will be allowed.
TESTS & FINAL: There are 2 tests in this class: 1 midterm and 1 final. The final is cumulative.
Make ups are possible in exceptional circumstances provided advance
notice and suitable
documentation is provided to me.
Unless otherwise stated, make-ups must be completed
within 1 week of the original exam date.
ATTENDANCE: Attendance is important; a lot of labs are scheduled for this class and a lot of learning will happen in the classroom. Please send me an email if you are going to miss a lecture.
WRITING REQUIREMENTS: The ability to communicate ideas using established rules of the English language is an important outcome of everyone’s technical education. In this course, you will be required to complete assignments for which writing is an important component, and attention to the grammar, spelling, and style of writing that you employ will have a significant impact on your grade in such assignments. You may seek help at the tutoring resource center to improve your writing abilities, should you feel that such help is necessary.
INFORMATION LITERACY: Given the magnitude of information that we are expected to deal with in performance of our tasks, it is important to learn the proper ways of finding, retrieving, storing, processing and incorporating the right type of information. This course may include assignments that would require the use of on-campus and on-line libraries, the Internet or other sources of publicly available information.
OUTCOMES ASSESSMENT: In order to determine the level of learning
achieved in this course through the semester, you will be given a pre-test that
covers some of the fundamental topics covered in this course and possibly in
the prerequisite courses, accompanied by an exit test toward the end of the
semester. The grades you receive in the
pre-test and exit test will not affect your overall grade for this course. They are used for the sole purpose of
institutional assessment of learning outcomes.
THE "INCOMPLETE" GRADE: There is occasionally a misunderstanding about “incompletes.” College regulation specifies that an incomplete grade may be awarded only if the student has completed almost all the work for a course and has a valid, institution-approved, reason for being unable to complete it. If you are awarded an incomplete grade, it is your responsibility to complete all work for the course within the first 4 weeks of the next semester or summer term. After this time, the Registrar automatically converts the incomplete to an F.
ACADEMIC INTEGRITY: It goes without saying that all work handed in for grading must be your own, but you must go further than this. Avoid situations that could compromise your integrity. For example, do not allow others to copy your work. If inclusion of another person’s writings in your submitted work is appropriate, then proper credit should be given to the author of that writing. I will report any instance of suspected academic dishonesty to the appropriate committees of the school for further investigation and possible sanctions.
USE OF MATLAB: Not applicable
First Homework Assignment: From the email address that you most frequently use, send me an email to my address at hfranceschi@capitol-college.edu with the following format:
Subject: CS310
Content: Your first name, last name, and major
Please remember to type the course number in the subject area of all future mail that you send me.
Body: Make sure you have a body which makes sense, particularly if there is an attachment with your email; I do not open attachment if I am not comfortable with the body of an email.
Web Site: I will maintain a web site for this course that can be reached from the following address:
http://faculty.capitol-college.edu/~hfranceschi/. Starting from this homepage you can follow the appropriate links to see postings for assignments, homework, examples, etc. related to this course. This syllabus is also posted on line.