CAPITOL COLLEGE

 

 

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

 

 

 

hfranceschi@capitol-college.edu

 

 

 

http://faculty.capitol-college.edu/~hfranceschi/ 

 

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.